一、简介
1、核心组成
ELK由Elasticsearch、Logstash和Kibana三部分组件组成;
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 来结合自定义搜索进行页面展示。
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
4.测试是否正常
三.安装head插件,web访问管理节点,配置节点server2
1.安装插件
查看插件是否安装成功
2.网页通过访问管理节点172.25.29.1:9200/_plugin/head/
测试采集
3.增加第二台主机server2
安装配置服务,注意打开server1和server2的discovery选项,并修改正确的主机名
server1和server2都要修改
4.访问master节点,server1和server显示正常
四.添加server3数据存储节点
1.配置server1的/etc/elasticsearch/elasticsearch.yml
将server1节点设置为master,不储存数据
安装elasticsearch
vim /etc/elasticsearch/elasticsearch.yml
2.配置server2的/etc/elasticsearch/elasticsearch.yml
将server2节点设置为只储存数据
为了安全,httpd访问关闭
3.配置server3的/etc/elasticsearch/elasticsearch.yml
将server3节点设置为只储存数据,关闭httpd
4.web端master管理端显示正常
解析:
[root@server1 ~]# curl -XGET 'http://172.25.29.1:9200/_cluster/health?pretty=true'
五.Logstash日志采集工具
1.安装工具并启动(标准输入和标准输出)
2.可以查看到的信息选项
3.将输入输出写到conf文件中
标准输入,将输出导入到elasticsearch中
4.查询elasticsearch日志结果
5.以ruby语言的显示方式
6.以ruby语言的显示方式,并输出一份到/tmp/testfile
启动
六.配置采集server1的日志给elasticsearch
1.在server1上 vim syslog.conf
server2采集的日志传给server1上的elasticsearch
2.在server2按配置接收日志端
3.重启服务,发送测试日志
4.server1启动logstash.conf文件,日志端口514打开
测试:
七.不同格式的日志采集和输出
1.在server1上 vim syslog.conf,不同的日志传给不同的地方
2.查看httpd日志权限是否能够读取
3.启动
八.设置采集elasticsearch日志
1.查看elasticsearch是否有权限读取日志
查看多段日志
2.vim demo.conf
多端输入,以beginning开始
九.采集日志存放在redis
1.在server2安装redis
2.配置 vim redis.conf,将采集日志存放在redis中,启动redis
查看server2 redis已经存入数据
注意:在根目录下会生成隐藏的记录文件,有时会影响的采集,需要删除
4.在server2上把redis里存的文件取出来输出给server1的elasticsearch
启动后在http://172.25.29.1:9200/_plugin/head/上显示正常
十.tcp日志的采集
测试:
1.写入设备
2.nc命令
十一.Kibana日志分析工具
1.kibana的安装配置
2.添加监控项目
启动httpd日志采集
右上角选择时间
3.添加httpd日志监控,加上不同来源的分析
调用过滤变量
1、Area :用区块图来可视化多个不同序列的总体贡献。
2、Data :用数据表来显示聚合的原始数据。其他可视化可以通过点击底部的方式显示数据表。
3、Line :用折线图来比较不同序列。
4、Markdown : 用 Markdown 显示自定义格式的信息或和你仪表盘有关的用法说明。
5、Metric :用指标可视化在你仪表盘上显示单个数字。
6、Pie :用饼图来显示每个来源对总体的贡献。
7、Tile map :用瓦片地图将聚合结果和经纬度联系起来。
8、Timeseries :计算和展示多个时间序列数据。
9、Vertical bar :用垂直条形图作为一个通用图形。
添加到dashboard界面里,便于观察
压力测试,可以在监控图上看到哪个主机的访问的次数
左为链接次数,右为各个主机的连接次数
4.添加secure安全日志监控
把这个安全日志保存
添加到dashboard界面里,便于观察
设置更新频率
在dashboard添加安全日志
保存dashboard监控模版为dashboard1