ELK日志分析系统

应用背景

  • 随着业务的发展,服务器的数量越来越多,各种各样的日志也越来越多,比如系统日志、访问日志、错误日志等等!大量的日志导致运维对日志的管理变的愈发的困难!
  • 运维和开发在通过日志排查一些问题时也很不容易查看!效率比较低!
  • 运营需要一些数据时,我们需要对一些日志的数据分析,实现起来也比较困难!

需求背景

  • 所以现在我们继续一个可以实现:
    • 日志的集中管理
    • 可以实现日志的快速检索
    • 可以实现日志数据的可视化,方便后期的数据分析

ELK可以很好的满足以上的需求:

  • ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。是目前主流的一种日志系统。
  • ELK是三个开源软件的缩写,分别为:Elasticsearch 、 Logstash以及Kibana , 它们都是开源软件。不过现在还新增了一个Beats,它是一个轻量级的日志收集处理工具(Agent),Beats占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具,目前由于原本的ELK Stack成员中加入了 Beats 工具所以已改名为Elastic Stack。
    ELK日志分析系统

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
ELK日志分析系统
- 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
    ELK日志分析系统
  • 启动
  • /usr/local/elasticsearch/bin/elasticsearch -d
  • 启动需要时间,耐心等待2分钟后查看:
  • 9200和9300端口是否监听
    ELK日志分析系统

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
    • 内容如图: ELK日志分析系统
    • input为收集日志的模块
    • output为日志输出的模块
  • 启动logstash
    • nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/system.conf &
    • 这个启动需要时间,耐心等待
    • 稍后查看9600端口监听成功说明成功运行
      ELK日志分析系统

安装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
      ELK日志分析系统
    • 启动
      nohup /usr/local/kibana/bin/kibana &
    • 耐心等待
      ss -ntl 查看5601端口监听,说明成功
      浏览器访问http://ip:5601即可