ELK日志分析系统部署教程

ELK日志分析系统

-如何批量管理服务器、监测多台服务器的运行状态呢?大家都会说查看日志啊,日志就像体检报告一样呈现出机器的健康状况,但是对于服务器数量比较多的管理人员来说,单台查询日志这样的管理方式效率低且耗时,对于多台服务器就需要搭建一个日志分析系统ELK,进行批量收集多台服务器的日志,将日志以图形化、报表的形式展示出来,方便观察,多监测指标监测运行状态,大大提高了管理人员的工作效率。以下是以单台服务器为例部署ELK日志分析系统的搭建过程。
ELK日志分析系统由elasticsearch、logstash、kibana三部分组成:

  • Elasticsearch: 是一个实时的分布式搜索分析引擎,提供数据收集、分析、存储、索引自动分片等功能。
  • logstash:主要功能是日志的搜索、过滤,支持大量的数据的收集,并过滤掉不需要的数据。如果需要收集某一台服务器的日志信息,则需要在被监测的服务器上安装Logstash。
  • kibana:是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可以将日志分析结果、日志信息以图形化、曲线、报表的形式展示出来。

1.准备工作

-在单台服务器上部署ELK日志分析系统,并选用一台服务器进行监测:

  1. 所需的安装包链接: https://pan.baidu.com/s/1PArgmc0LqfCvi5jluANz3g
    提取码:gk5i

  2. 创建虚拟机
    创建两台虚拟机并关闭虚拟机的防火墙,具体细节如下表:

主机主机名/ip操作系统安装的软件
服务器elk 192.168.190.166CtenOS7ElasticSearch7.5.0 kibana7.5.0
服务器node 192.168.190.167CtenOS7Logstash7.5.0

2. Elasticsearch配置

-修改elasticsearch.yml配置文件:

[root@localhost elk]# vi /etc/elasticsearch/elasticsearch.yml 
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.190.166"]

-启动elasticsearch服务:

[root@localhost elk]# systemctl restart elasticsearch.service

-查看服务是否启动:

[root@localhost elk]# ps aux|grep elasticsearch

-服务启动后如图所示:在这里插入图片描述
-服务正常启动后,查看端口是否正常监听:

[root@localhost elk]# netstat -lntp|grep java

-端口已监听:
在这里插入图片描述

3. Kibana配置

-修改kibana.yml 配置文件:

[root@localhost elk]# vi /etc/kibana/kibana.yml
server.port: 5601  # 配置kibana的监听端口
server.host: 192.168.190.166  # 配置监听ip
elasticsearch.url: "http://192.168.190.166:9200"  # 配置es服务器的ip
logging.dest: /var/log/kibana.log  # 配置kibana的日志文件路径
i18n.locale: "zh-CN" # 设置中文

-创建日志文件目录:

[root@localhost elk]# touch /var/log/kibana.log; chmod 777 /var/log/kibana.log

-启动kibana服务并查看监听端口:

[root@localhost elk]# ps aux|grep kibana
kibana     3088 60.2 18.7 1308652 349028 ?      Ssl  23:44   0:27 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli -c /etc/kibana/kibana.yml
root       3116  0.0  0.0 112704   972 pts/0    S+   23:45   0:00 grep --color=auto kibana
[root@localhost elk]# netstat -lntp|grep 5601
tcp        0      0 192.168.190.166:5601    0.0.0.0:*               LISTEN      3088/node 

-图示如下:
在这里插入图片描述

-浏览器输入192.168.190.166:5601查看,如下图所示:
在这里插入图片描述

4. Logstash配置

-配置logstash收集日志的syslog.conf文件:


[root@bogon ~]# vi /etc/logstash/conf.d/syslog.conf 

input {
  syslog {
    type => "system-syslog"
    port => 10514
  }
}
output {
  elasticsearch {
    hosts => ["192.168.190.166:9200"]  # 定义es服务器的ip
    index => "systemlog-%{+YYYY.MM}" # 定义索引
  }
}

-检查配置文件是否正确:

[root@localhost ~]# cd /usr/share/logstash/bin/
[root@localhost bin]# ./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
Thread.exclusive is deprecated, use Thread::Mutex
Sending Logstash logs to /var/log/logstash which is now configured via log4j2.properties
[2021-01-27T16:48:31,259][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2021-01-27T16:48:32,524][INFO ][org.reflections.Reflections] Reflections took 45 ms to scan 1 urls, producing 20 keys and 40 values 
Configuration OK
[2021-01-27T16:48:33,034][INFO ][logstash.runner          ] Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash

-出现红色框标注的即表示配置正确:
在这里插入图片描述

-配置kibana服务器的ip及监听端口并重启rsyslog,让配置生效:

[root@localhost ~]# vi /etc/rsyslog.conf
*.* @@192.168.190.167:10514
[root@localhost ~]# systemctl restart rsyslog

-配置logstash的监听ip(此ip为安装logstash软件的服务器ip):

[root@localhost ~]# vi /etc/logstash/logstash.yml
http.host: "192.168.190.167"

-启动logstash服务并查看生成的日志信息:

[root@localhost ~]# systemctl start logstash
[root@localhost ~]# cd /usr/share/logstash/bin/
[root@localhost bin]# ./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf 

-查看端口是否被监听:

[root@localhost ~]# netstat -lntp|grep java
tcp6       0      0 192.168.190.167:9600    :::*                    LISTEN      2431/java           
tcp6       0      0 :::10514                :::*                    LISTEN      2431/java

-在kibana上获取索引信息:

[root@bogon bin]# curl '192.168.190.166:9200/_cat/indices?v'
health status index                    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   systemlog-2021.01        3JNhFB-FS5WW-Od38wbQNg   1   1       1322            0      2.9mb          2.9mb
green  open   .kibana_task_manager_1   nx0L93cfRxSivzZcbjga1A   1   0          2            1     43.5kb         43.5kb
green  open   .apm-agent-configuration 4sRPfCtARmelZlvMWSLhBA   1   0          0            0       283b           283b
green  open   .kibana_1                YTYp4UDTQJqXGXNY60olYw   1   0          8            1     33.6kb         33.6kb

在这里插入图片描述

5.在kibana网页查看日志信息

-设置索引检索步骤如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.日志信息可视化仪表盘展示示例

在这里插入图片描述

7.总结

本篇博客主要介绍了在单台服务器上部署ELK日志分析系统的部署步骤,并对一台服务器的日志信息进行收集、分析处理,以图形化的形式在web端展示出来,后面会写一些关于多台服务器部署ELK日志分系统和kibana仪表盘创建的内容,敬请期待吧~~~~~~哈哈@@

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页