ELK的搭建

本文详细介绍了如何使用Elasticsearch、Logstash和Kibana(ELK)搭建一个生产级日志分析平台,包括环境准备、系统优化、各组件安装配置及测试步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概念

ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack。其中Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大,市面上很多时候我们简称Elasticsearch为es。Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式数据,经过过滤后支持输出到不同目的地(文件/MQ/redis/elasticsearch/kafka等)。Kibana可以将elasticsearch的数据通过友好的页面展示出来,提供实时分析的功能。

通过上面对ELK简单的介绍,我们知道了ELK字面意义包含的每个开源框架的功能。市面上很多开发只要提到ELK能够一致说出它是一个日志分析架构技术栈总称,但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据分析和收集的场景,日志分析和收集只是更具有代表性。并非唯一性。我们本教程主要也是围绕通过ELK如何搭建一个生产级的日志分析平台来讲解ELK的使用。

二、架构图

在这里插入图片描述

三、环境准备

在这里插入图片描述

四、具体实施

4.1优化系统(两台服务器都要操作的)
[root@ c701 ~]# vim /etc/security/limits.conf #在这个配置文件中添加一下内容
*                soft    nproc           63553
*                hard    nproc           63553
*                soft    nofile          63553
*                hard    nofile          63553
4.2测试是否优化完成

断开xshell,重新连接

[root@ c701 ~]# ulimit -n    #有如下输出表示成功了
65535
4.3安装jdk环境
[root@ c701 ~]# rpm -ivh jdk-8u131-linux-x64_.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8.0_131-2000:1.8.0_131-fcs  ################################# [100%]
Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...
4.4安装ES+Kibana(c701服务器上操作的)

4.4.1安装ES

[root@ c701 ~]# rpm -ivh elasticsearch-6.6.2.rpm 
warning: elasticsearch-6.6.2.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Updating / installing...
   1:elasticsearch-0:6.6.2-1          ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd
 sudo systemctl daemon-reload
 sudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executing
 sudo systemctl start elasticsearch.service
Created elasticsearch keystore in /etc/elasticsearch

4.4.2编辑ES的配置文件

[root@ c701 ~]# vim /etc/elasticsearch/elasticsearch.yml #修改以下内容
network.host: 10.0.0.41   #修改成本机的IP地址
http.port: 9200

4.4.3 开启ES服务

[root@ c701 ~]# systemctl restart elasticsearch

4.4.4安装Kibana

[root@ c701 ~]# rpm -ivh kibana-6.6.2-x86_64.rpm 
warning: kibana-6.6.2-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:kibana-6.6.2-1                   ################################# [100%]

4.4.5 编辑kibana的配置文件

[root@ c701 ~]# vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.18.140:9200"]  #这里是es服务器的IP地址

4.4.6 重启kibana的服务

[root@ c701 ~]# systemctl restart kibana

4.4.7 授权的一个操作

[root@ c701 ~]# chmod -R 777 /var/log/messages
4.5 安装logstash(c702服务器)

4.5.1安装logstash

[root@ c702 ~]# rpm -ivh logstash-6.6.0.rpm   #这是表示已经安装过了,不需要再一次安装了
warning: logstash-6.6.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
	package logstash-1:6.6.0-1.noarch is already installed
	
如果想要删除重新安装
[root@ c702 ~]# rpm -qa logstash  #找到rpm包
logstash-6.6.0-1.noarch
[root@ c702 ~]# rpm -e logstash-6.6.0-1.noarch   #删除
warning: /etc/logstash/logstash.yml saved as /etc/logstash/logstash.yml.rpmsave
[root@ c702 ~]# rpm -ivh logstash-6.6.0.rpm   #重新安装
warning: logstash-6.6.0.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:logstash-1:6.6.0-1               ################################# [100%]
Using provided startup.options file: /etc/logstash/startup.options
Successfully created system startup script for Logstash

4.5.2 编写一个收集日志的配置文件

[root@ c702 ~]# cd /etc/logstash/conf.d/  #存放所收集的日志的配置文件路径
[root@ c702 conf.d]# vim system.conf

input {
        file {
                path => "/var/log/messages"
                type => "system-log"
                start_position => "beginning"
        }
}
output {
        elasticsearch {
                hosts => "10.0.0.41:9200"
                index => "system_log-%{+YYYY.MM.dd}"
        }
}

4.5.3重启服务

[root@ c702 conf.d]# systemctl restart logstash
4.6测试环境是否安装好了 (在两台都要操作)
[root@ c701 ~]# curl -X GET HTTP://10.0.0.41:9200/_cat/indices?v   #这种情况是错误的
health status index     uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .kibana_1 7BLgtri6SEKMt7TF0RbRyQ   1   0          1            0      5.1kb          5.1kb


#出现以上错误是因为在c702这台机器上没有给予messages权限
[root@ c702 conf.d]# chmod -R 777 /var/log/messages

#再一次测试环境  要两台都成功才可以继续往下执行
[root@ c701 ~]# curl -X GET HTTP://10.0.0.41:9200/_cat/indices?v
health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   system_log-2020.03.09 wJgaxl_KQD-zVDi0TE4sng   5   1        879            0     35.5kb         35.5kb
green  open   .kibana_1             7BLgtri6SEKMt7TF0RbRyQ   1   0          1            0      5.1kb          5.1kb

[root@ c702 ~]#  curl -X GET HTTP://10.0.0.41:9200/_cat/indices?v
health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   system_log-2020.03.09 wJgaxl_KQD-zVDi0TE4sng   5   1      19249            0      4.3mb          4.3mb
green  open   .kibana_1             7BLgtri6SEKMt7TF0RbRyQ   1   0          1            0      5.1kb          5.1kb

五、开始访问kibana的页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值