ELK日志分析系统部署教程
ELK日志分析系统
-如何批量管理服务器、监测多台服务器的运行状态呢?大家都会说查看日志啊,日志就像体检报告一样呈现出机器的健康状况,但是对于服务器数量比较多的管理人员来说,单台查询日志这样的管理方式效率低且耗时,对于多台服务器就需要搭建一个日志分析系统ELK,进行批量收集多台服务器的日志,将日志以图形化、报表的形式展示出来,方便观察,多监测指标监测运行状态,大大提高了管理人员的工作效率。以下是以单台服务器为例部署ELK日志分析系统的搭建过程。
ELK日志分析系统由elasticsearch、logstash、kibana三部分组成:
- Elasticsearch: 是一个实时的分布式搜索分析引擎,提供数据收集、分析、存储、索引自动分片等功能。
- logstash:主要功能是日志的搜索、过滤,支持大量的数据的收集,并过滤掉不需要的数据。如果需要收集某一台服务器的日志信息,则需要在被监测的服务器上安装Logstash。
- kibana:是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可以将日志分析结果、日志信息以图形化、曲线、报表的形式展示出来。
1.准备工作
-在单台服务器上部署ELK日志分析系统,并选用一台服务器进行监测:
-
所需的安装包链接: https://pan.baidu.com/s/1PArgmc0LqfCvi5jluANz3g
提取码:gk5i -
创建虚拟机
创建两台虚拟机并关闭虚拟机的防火墙,具体细节如下表:
主机 | 主机名/ip | 操作系统 | 安装的软件 |
---|---|---|---|
服务器 | elk 192.168.190.166 | CtenOS7 | ElasticSearch7.5.0 kibana7.5.0 |
服务器 | node 192.168.190.167 | CtenOS7 | Logstash7.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.