Linux的企业-ELK日志分析
一、简介 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管理端显示正常 五.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已经存入数据 注意:在根目录下会生成隐藏的记录文件,有时会影响的采集,需要删除 十.tcp日志的采集 测试: 1.写入设备 2.nc命令 十一.Kibana日志分析工具 1.kibana的安装配置 2.添加监控项目 启动httpd日志采集 3.添加httpd日志监控,加上不同来源的分析 调用过滤变量 添加到dashboard界面里,便于观察 压力测试,可以在监控图上看到哪个主机的访问的次数 左为链接次数,右为各个主机的连接次数 4.添加secure安全日志监控 添加到dashboard界面里,便于观察 设置更新频率 安全测试的是ssh连接失败的日志 保存dashboard监控模版为dashboard1 本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1979775,如需转载请自行联系原作者