elk日志分布式集中管理服务搭建
目录
elk日志分布式集中管理服务搭建... 1
一、elk简介... 1
二、elasticsearch安装... 2
三、Kibana安装... 3
四、logstash安装... 4
四、elasticsearch IK中文分词插件安装... 5
五、fileBeat 安装... 5
六、日志分析与使用... 6
1. 生成索引名称... 6
2. 按天查看上月份的访问量... 7
3. 按地域访问情况... 7
4. 查看不同城市的人访问接口的异同... 10
5. 查看访问量最高的几个IP. 11
6. 总点击量... 12
7. 地图分布... 12
8. Dashboard的相关联操作... 13
七、elasticsearch 集群部署(单机集群)... 17
作者 | 日期 | 版本 | 描述 |
loopxu | 2017-10-13 | Ver1.1.1 | ELK框架搭建 |
loopxu | 2017-10-23 | Ver1.2.1 | 分词搜索/收集优化 |
|
|
|
|
一、elk简介
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成:
- ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
在elasticsearch中,所有节点的数据是均等的。 - Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。
- Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
原料 | 下载地址 |
Centos7.x | ---------------------------------- |
elasticsearch-5.6.3.tar.gz | https://www.elastic.co/cn/products |
elasticsearch-analysis-ik-master.zip | |
kibana-5.6.3-linux-x86_64.tar.gz | https://www.elastic.co/cn/products |
logstash-5.6.3.tar.gz | https://www.elastic.co/cn/products |
filebeat-5.6.3-x86_64.rpm | https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.6.3-x86_64.rpm |
Jdk-1.8.x | http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html |
Git-1.8.3.1 | Yum 环境安装即可 |
Maven- 3.3.9 | Yum 环境安装即可 |
二、elasticsearch安装
1、解压elasticsearch、kibana、logstash 的下载包,解压到/home 目录下
2、创建 es 用户 密码 为123456 (启动elasticsearch时root用户会更改系统文件,所以elasticsearch不允许root 启动)
3、修改配置文件/home/elasticsearch-5.6.3/config/elasticsearch.yml
data: /home/es/data
logs: /home/es/logs
network.host: 172.16.159.89
http.port: 9200
discovery.zen.ping.unicast.hosts:["172.16.159.89"]
其他默认即可(本安装时单机没做集群只需这三个配置)
4、启动 elasticsearch (需要切换到es 用户下启动)
su es
cd/home/elasticsearch-5.6.3
./bin/elasticsearch -d
es用户下启动出现权限不够时切换到root 下面执行目录赋予权限的命令
sudo chown -R guest elasticsearch-5.6.3
sudo chgrp -R guest elasticsearch-5.6.3
es在跑的时候内存不能及时被释放
buffer/cache 在进程停掉的时候依然还在
解决方法:
echo 3 > /proc/sys/vm/drop_caches
free -m
cat /proc/sys/vm/drop_caches
三、Kibana安装
1、修改 /home/elasticsearch-5.6.3/config/kibana.yml配置文件
server.port: 5601
server.host: "172.16.159.89"
elasticsearch.url:"http://172.16.159.89:9200"
2、启动kibana (在root 用户下进行启动)
cd/home/kibana-5.6.3-linux-x86_64/bin
nohup ./kibana &
四、logstash安装
1、修改 /home/logstash-5.6.3/config/logstash.yml 配置文件
http.host: "172.16.159.89"
http.port: 9600-9700
2、在/home/logstash-5.6.3/bin下添加logstash.conf 启动文件
input {
beats{
port => 5044
}
}
filter {
grok{
#抓取时间格式
match=> ["message", "%{TIMESTAMP_ISO8601:timestamp}"]
}
date{
match=> [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ]
target=> "@timestamp"
locale=> "cn"
}
#没有匹配到 com.kame 的舍弃掉
if([message] =~ "^((?!com.kame).)*$") {
drop{}
}
}
output {
#没有匹配到 以时间开头的不作录入
if[timestamp] =~ /^\d{4}-\d{2}-\d{2}/ {
elasticsearch{
hosts=> ["http://172.16.159.89:9200"]
}
stdout{
codec=>rubydebug{}
}
}
}
3、启动logstash (在root 用户下进行)
cd/home/logstash-5.6.3/bin
nohup sh logstash -flogstash.conf &
四、elasticsearch IK中文分词插件安装
1、下载对应的 5.6.3 的安装包
2、将安装包解压到 /home/elasticsearch-5.6.3/plugins目录即可
五、fileBeat 安装
logstash 、filebeat 都有收集日志的 功能,区别是logstash是重量级别,filebeat是轻量级别的,filebeat 可装在应用服、可减少与业务应用资源的占用。
1、下载 filebeat 放置 /home 目录下
cd /home
rpm -ivh filebeat-5.6.3-x86_64.rpm
2、配置filebeat.yml 配置文件
vim /etc/filebeat/filebeat.yml
filebeat.prospectors:
-input_type: log
paths:
- /logs/*/*.log
output.logstash:
hosts: ["172.16.159.89:5044"]
3、启动 filebeat 服务
service filebeatstart
六、日志分析与使用
用浏览器打开http://172.16.159.89:5601
在大搜索框可以搜索日志内容、日志内容可视化