ELK日志分析系统
应用背景
- 随着业务的发展,服务器的数量越来越多,各种各样的日志也越来越多,比如系统日志、访问日志、错误日志等等!大量的日志导致运维对日志的管理变的愈发的困难!
- 运维和开发在通过日志排查一些问题时也很不容易查看!效率比较低!
- 运营需要一些数据时,我们需要对一些日志的数据分析,实现起来也比较困难!
需求背景
- 所以现在我们继续一个可以实现:
- 日志的集中管理
- 可以实现日志的快速检索
- 可以实现日志数据的可视化,方便后期的数据分析
ELK可以很好的满足以上的需求:
- ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。是目前主流的一种日志系统。
- ELK是三个开源软件的缩写,分别为:Elasticsearch 、 Logstash以及Kibana , 它们都是开源软件。不过现在还新增了一个Beats,它是一个轻量级的日志收集处理工具(Agent),Beats占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具,目前由于原本的ELK Stack成员中加入了 Beats 工具所以已改名为Elastic Stack。
ELK安装,并分析系统日志
- 我们这里为测试环境,就把3个组件安装在一台服务器上了,当然如果条件允许,建议分开部署
- 环境准备:
- 一台Centos7.5操作系统的虚拟机
- 静态ip地址:192.168.189.128
- jdk:1.8.0
安装jdk及配置系统环境
- 上传jdk安装到服务器
- rpm -ivh jdk-8u131-linux-x64_.rpm
- ulimit -n 65536
- vim /etc/sysctl.conf
- sysctl -p
elasticsearch安装
- elasticsearch的启动不可以是root账号,所有我们需要先创建一个普通账号
- #useradd elas
- #passwd elas 设置登录密码
- 上传elasticsearch安装包到服务器
- elasticsearch-6.6.2.tar.gz
- tar zxf elasticsearch-6.6.2.tar.gz
- mv elasticsearch-6.6.2 /usr/local/elasticsearch
- cd /usr/local/
- chown elas.elas -R elasticsearch
elasticsearch配置和启动
- 编辑配置文件,修改监听地址和端口
- vim /usr/local/elasticsearch/config/elasticsearch.yml
- 启动
- /usr/local/elasticsearch/bin/elasticsearch -d
- 启动需要时间,耐心等待2分钟后查看:
- 9200和9300端口是否监听
logstash安装
- 上传logstash
- 使用root账号操作
- tar zxf logstash-6.6.2.tar.gz
- mv logstash-6.6.2 /usr/local/logstash
- cd /usr/local/logstash
- 配置
- vim system.conf
- 内容如图:
- input为收集日志的模块
- output为日志输出的模块
- 启动logstash
- nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/system.conf &
- 这个启动需要时间,耐心等待
- 稍后查看9600端口监听成功说明成功运行
安装kibana
- tar zxf kibana-6.6.2-linux-x86_64.tar.gz
- mv kibana-6.6.2-linux-x86_64.tar.gz /usr/local/kibana
- cd /usr/local/kibana/
- 配置并启动kinbana
- vim /usr/local/kibana/config/kibana.yml
- 启动
nohup /usr/local/kibana/bin/kibana & - 耐心等待
ss -ntl 查看5601端口监听,说明成功
浏览器访问http://ip:5601即可
- vim /usr/local/kibana/config/kibana.yml