一、简介

1、核心组成

ELKElasticsearchLogstashKibana三部分组件组成;

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。


2、四大组件

Logstash: logstash server端用来搜集日志;

Elasticsearch: 存储各类日志;

Kibana: web化接口用作查寻和可视化日志;

Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;


3、ELK工作流程

在 需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。

Linux的企业-ELK日志分析_第1张图片


4、ELK的帮助手册

ELK官网:https://www.elastic.co/

ELK官网文档:https://www.elastic.co/guide/index.html

ELK中文手册:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html


注释

ELK有两种安装方式

(1)集成环境:Logstash有一个集成包,里面包括了其全套的三个组件;也就是安装一个集成包。

(2)独立环境:三个组件分别单独安装、运行、各司其职。(比较常用)

二.安装配置

1.环境配置

server1:172.25.29.1 master

server2:172.25.29.2 data

server3:172.25.29.3 data

2.安装

安装java环境


3.配置server1

14bbb830023be24f556bc065832f8da7.png

Linux的企业-ELK日志分析_第2张图片


4.测试是否正常

2c7203832fa9a5c731055728b6ddd213.png

Linux的企业-ELK日志分析_第3张图片

三.安装head插件,web访问管理节点,配置节点server2

1.安装插件


查看插件是否安装成功

28c5b92d507a764754e118bcd3463920.png


2.网页通过访问管理节点172.25.29.1:9200/_plugin/head/

Linux的企业-ELK日志分析_第4张图片

测试采集

Linux的企业-ELK日志分析_第5张图片


3.增加第二台主机server2

安装配置服务,注意打开server1和server2的discovery选项,并修改正确的主机名

fb0d7b4420c84810e430ab6bca46f053.png

Linux的企业-ELK日志分析_第6张图片

Linux的企业-ELK日志分析_第7张图片


server1和server2都要修改

Linux的企业-ELK日志分析_第8张图片

396570ade29bcb17c75023c4dd9130d9.png


4.访问master节点,server1和server显示正常

Linux的企业-ELK日志分析_第9张图片



四.添加server3数据存储节点

1.配置server1的/etc/elasticsearch/elasticsearch.yml

将server1节点设置为master,不储存数据

安装elasticsearch 

vim /etc/elasticsearch/elasticsearch.yml


Linux的企业-ELK日志分析_第10张图片


2.配置server2的/etc/elasticsearch/elasticsearch.yml

将server2节点设置为只储存数据

Linux的企业-ELK日志分析_第11张图片

Linux的企业-ELK日志分析_第12张图片

为了安全,httpd访问关闭

d23e50642c3aeae5a218667b3679e20e.png

d32037f6ae25dff41f92c48b8f452d2f.png

Linux的企业-ELK日志分析_第13张图片


3.配置server3的/etc/elasticsearch/elasticsearch.yml

将server3节点设置为只储存数据,关闭httpd

Linux的企业-ELK日志分析_第14张图片

0facc4fa426bb9d6e44758ba6f31f5dc.png


4.web端master管理端显示正常

Linux的企业-ELK日志分析_第15张图片

解析:

[root@server1 ~]# curl -XGET 'http://172.25.29.1:9200/_cluster/health?pretty=true'



五.Logstash日志采集工具

1.安装工具并启动(标准输入和标准输出)

Linux的企业-ELK日志分析_第16张图片


2.可以查看到的信息选项

Linux的企业-ELK日志分析_第17张图片

01f84f58ba88b6091224d62ca9458f99.png


3.将输入输出写到conf文件中

Linux的企业-ELK日志分析_第18张图片


标准输入,将输出导入到elasticsearch中

Linux的企业-ELK日志分析_第19张图片


4.查询elasticsearch日志结果

Linux的企业-ELK日志分析_第20张图片

Linux的企业-ELK日志分析_第21张图片


Linux的企业-ELK日志分析_第22张图片


5.以ruby语言的显示方式

Linux的企业-ELK日志分析_第23张图片

Linux的企业-ELK日志分析_第24张图片


6.以ruby语言的显示方式,并输出一份到/tmp/testfile

Linux的企业-ELK日志分析_第25张图片


启动

Linux的企业-ELK日志分析_第26张图片

Linux的企业-ELK日志分析_第27张图片



六.配置采集server1的日志elasticsearch

1.在server1上 vim syslog.conf

server2采集的日志传给server1上的elasticsearch

2.在server2按配置接收日志端

Linux的企业-ELK日志分析_第28张图片


3.重启服务,发送测试日志

Linux的企业-ELK日志分析_第29张图片


4.server1启动logstash.conf文件,日志端口514打开

e4d874d93769a81b38c2af8e6e2fb6d4.png

测试:

Linux的企业-ELK日志分析_第30张图片




七.不同格式的日志采集和输出

1.在server1上 vim syslog.conf,不同的日志传给不同的地方

Linux的企业-ELK日志分析_第31张图片

Linux的企业-ELK日志分析_第32张图片


2.查看httpd日志权限是否能够读取

Linux的企业-ELK日志分析_第33张图片


3.启动

112e6192e9a276b7542486c3059c90c1.png

Linux的企业-ELK日志分析_第34张图片

Linux的企业-ELK日志分析_第35张图片



八.设置采集elasticsearch日志

1.查看elasticsearch是否有权限读取日志


查看多段日志

36582624e5bde271cd1d3e6c95086a63.png


2.vim demo.conf

多端输入,以beginning开始


九.采集日志存放在redis

1.在server2安装redis

Linux的企业-ELK日志分析_第36张图片


2.配置 vim redis.conf,将采集日志存放在redis中,启动redis

Linux的企业-ELK日志分析_第37张图片


查看server2 redis已经存入数据


注意:在根目录下会生成隐藏的记录文件,有时会影响的采集,需要删除

4.在server2上把redis里存的文件取出来输出给server1的elasticsearch

启动后在http://172.25.29.1:9200/_plugin/head/上显示正常


十.tcp日志的采集

Linux的企业-ELK日志分析_第38张图片

800df8035438d431b8cd931e4730a9eb.png

88e2c419e6561be78e780fe03b7c1343.png


测试:

1.写入设备

764d445f186342d164bf9ac0a6de8358.png

Linux的企业-ELK日志分析_第39张图片

2.nc命令

0cffd613d60956cae46c79a3b8499ca9.png

Linux的企业-ELK日志分析_第40张图片


十一.Kibana日志分析工具

1.kibana的安装配置

Linux的企业-ELK日志分析_第41张图片

Linux的企业-ELK日志分析_第42张图片

Linux的企业-ELK日志分析_第43张图片

9f140c73cea1409e3388ed2a51dc3b8c.png

Linux的企业-ELK日志分析_第44张图片


2.添加监控项目

启动httpd日志采集

Linux的企业-ELK日志分析_第45张图片


Linux的企业-ELK日志分析_第46张图片


右上角选择时间

Linux的企业-ELK日志分析_第47张图片

Linux的企业-ELK日志分析_第48张图片


Linux的企业-ELK日志分析_第49张图片




3.添加httpd日志监控,加上不同来源的分析

调用过滤变量

Linux的企业-ELK日志分析_第50张图片

Linux的企业-ELK日志分析_第51张图片

  1. 1、Area :用区块图来可视化多个不同序列的总体贡献。


  2. 2、Data :用数据表来显示聚合的原始数据。其他可视化可以通过点击底部的方式显示数据表。


  3. 3、Line :用折线图来比较不同序列。


  4. 4、Markdown : 用 Markdown 显示自定义格式的信息或和你仪表盘有关的用法说明。


  5. 5、Metric :用指标可视化在你仪表盘上显示单个数字。


  6. 6、Pie :用饼图来显示每个来源对总体的贡献。


  7. 7、Tile map :用瓦片地图将聚合结果和经纬度联系起来。


  8. 8、Timeseries :计算和展示多个时间序列数据。


  9. 9、Vertical bar :用垂直条形图作为一个通用图形。


Linux的企业-ELK日志分析_第52张图片


Linux的企业-ELK日志分析_第53张图片

添加到dashboard界面里,便于观察

压力测试,可以在监控图上看到哪个主机的访问的次数

左为链接次数,右为各个主机的连接次数

Linux的企业-ELK日志分析_第54张图片


4.添加secure安全日志监控

Linux的企业-ELK日志分析_第55张图片

Linux的企业-ELK日志分析_第56张图片

Linux的企业-ELK日志分析_第57张图片

把这个安全日志保存


添加到dashboard界面里,便于观察

设置更新频率

Linux的企业-ELK日志分析_第58张图片


在dashboard添加安全日志



保存dashboard监控模版为dashboard1

Linux的企业-ELK日志分析_第59张图片