快速搭建ELK日志分析系统

Carmen ·
更新时间:2024-09-21
· 694 次阅读

官网地址:https://www.elastic.co/cn/
官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.html

ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。

Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。

Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。

Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据

主要解决思路:建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很多场合的应用。目前主流的一种日志系统。
在这里插入图片描述
环境准备:

关闭防火墙、关闭 selinux systemctl stop firewalld.service setenforce
服务器 安装部署
10.0.0.21 jdk环境、elasticsearch、kibana
10.0.0.22 jdk环境、logstash

所需安装包(可下载):
jdk-8u131-linux-x64_.rpm
elasticsearch-6.6.2.rpm
链接
kibana-6.6.2-x86_64.rpm
链接
logstash-6.6.0.rpm
链接

开始部署

1.安装 jdk 环境 [root@fp-22 ELK]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) 2.安装 elasticsearch [root@fp-21 ELK]# yum -y install elasticsearch-6.6.2.rpm Loaded plugins: fastestmirror …… Installed: elasticsearch.noarch 0:6.6.2-1 Complete!

修改配置文件,打开主机IP和端口的注释,将主机IP修改为自己的IP,我这里是10.0.0.21

[root@fp-21 elasticsearch]# vim elasticsearch.yml 54 # 55 network.host: 10.0.0.21 56 # 59 http.port: 9200 60 #

保存退出,启动服务

[root@fp-21 elasticsearch]# vim elasticsearch.yml

此时可以通过看日志来判断服务是否启动

[root@fp-21 ~]# tail -f /var/log/elasticsearch/elasticsearch.log …… [2020-02-12T22:22:32,409][INFO ][o.e.n.Node ] [9ITBrSO] started [2020-02-12T22:22:33,905][INFO ][o.e.l.LicenseService ] [9ITBrSO] license [da7afc9e-0e8f-435c-b861-0e2d60a8fec5] mode [basic] - valid

通过查看,日志显示已经启动,便可以去查端口是否启动

[root@fp-21 elasticsearch]# ss -lntp |grep java LISTEN 0 128 ::ffff:10.0.0.21:9200 :::* users:(("java",pid=9525,fd=191)) LISTEN 0 128 ::ffff:10.0.0.21:9300 :::* users:(("java",pid=9525,fd=183))

配置 elasticsearch,启动完毕

3.安装 logstash [root@fp-22 ELK]# yum -y install logstash-6.6.0.rpm Loaded plugins: fastestmirror …… Installed: logstash.noarch 1:6.6.0-1 Complete!

logstash 核心功能是存储日志、搜索日志,所以我们要在配置文件中写入一些主要信息

[root@fp-22 ELK]# cd /etc/logstash/conf.d/ [root@fp-22 conf.d]# vim messages.conf input { file { path => "/var/log/messages" # 日志的路径 type => "messages-log" # 日志的类型 start_position => "beginning" # 日志收集的位置 } } output { elasticsearch { hosts => "10.0.0.21:9200" # 日志的主机 index => "messages_log-%{+YYYY.MM.dd}" # 显示的格式 } }

保存退出,启动服务

[root@fp-22 conf.d]# systemctl start logstash.service

我们用日志进行查看是否成功

[root@fp-22 ~]# tail -f /var/log/logstash/logstash-plain.log …… [2020-02-12T22:37:25,312][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600} [2020-02-12T22:37:25,429][WARN ][filewatch.tailmode.handlers.createinitial] failed to open /var/log/messages: #, ["org/jruby/RubyFile.java:366:in `initialize'", "org/jruby/RubyIO.java:1154:in `open'", "/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-file-4.1.9/lib/filewatch/watched_file.rb:198:in `open'"] 1234

可以看到,启动成功,但是有一个问题,没有打开目录的权限,所以此时,应该授权并重新启动

[root@fp-22 conf.d]# chmod 755 -R /var/log/* [root@fp-22 conf.d]# systemctl restart logstash.service

再次查看日志

[root@fp-22 ~]# tail -f /var/log/logstash/logstash-plain.log …… [2020-02-12T22:44:46,575][INFO ][filewatch.observingtail ] START, creating Discoverer, Watch with file and sincedb collections [2020-02-12T22:44:47,250][INFO ][logstash.agent ] Successfully started Logstash API endpoint {:port=>9600}

启动成功,没有问题,便可以去查看端口时候启动成功

[root@fp-22 conf.d]# ss -lntp |grep 9600 LISTEN 0 50 [::ffff:127.0.0.1]:9600 [::]:* users:(("java",pid=52665,fd=86))

配置 logstash,启动完毕

4.安装 kibana [root@fp-21 ELK]# yum -y install kibana-6.6.2-x86_64.rpm Loaded plugins: fastestmirror …… Installed: kibana.x86_64 0:6.6.2-1 Complete!

修改配置文件,将端口号、主机IP、elasticsearch IP修改并打开注释

[root@fp-21 kibana]# vim kibana.yml 2 server.port: 5601 3 7 server.host: "10.0.0.21" 8 28 elasticsearch.hosts: ["http://10.0.0.21:9200"] 29

保存退出,启动服务

[root@fp-21 kibana]# systemctl start kibana.service

查看端口是否启动成功

[root@fp-21 kibana]# ss -lntp |grep 5601 LISTEN 0 128 10.0.0.21:5601 *:* users:(("node",pid=11228,fd=18))

配置 kibana,启动完毕

5.访问页面

在这里插入图片描述
添加索引,如下:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
出现此页面,添加索引成功
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

6.给日志添加可视化图形

在这里插入图片描述
这里我选择的是线程图
在这里插入图片描述
选择索引
在这里插入图片描述在这里插入图片描述点击便可查看
在这里插入图片描述
准备服务器–>安装软件–>搭建ELK环境–>收集日志–>添加索引–>可视化图形显示


作者:wangzihao-life



系统 elk日志分析 elk

需要 登录 后方可回复, 如果你还没有账号请 注册新账号