ELK监控服务端搭建

图片来自网络

一、背景

一般我们需要进行日志分析的时候,通常用grepawksed就能够做到。然而该方法在遇到日志量较大的时候就会遇到瓶颈:搜索太慢,多维度查询。。
ELK监控机制,提供了一套完整的解决方案,它能够采集多种来源的日志,并且能够稳定的将日志传输到中央系统,可以支持UI分析系统,能够提供错误报告,并且各个软件都是开源的,在很多场景都适用。

二、简介

ELK是三个开源软开源软件的缩写,分别是Elasticsearch,Logstash,KibanaFileBeat是一个轻量级的日志收集处理工具,其占用资源少,可以将日志收集给Logstash

Elasticsearch是一个开源分布式搜索引擎,提供搜索、分析、存储数据的三大功能,特点有零配置、自动发现、索引自动分片、索引副本机制、restful风格接口。
Logstash也是一个开源的工具,主要用来日志的收集,分析、过滤。它将收集过来的数据发送给Elasticsearch

Kibana同样是一个开源的工具,可以为LogstashElasticsearch的日志分析提供友好的web界面,帮助汇总,分析和搜索重要的数据日志。

三、实验部署

本次实验部署filebeats(客户端),Logstash+Elasticsearch+Kibana(服务端),业务请求达到nginx-server机器上,并在access.log上记录,FileBeats搜索新增日志,通过Logstash5044端口上传日志,Logstash将日志通过9200端口传入到Elasticsearch,搜索日志通过浏览器访问Kibana,端口是5601,其中Kibana通过9200端口访问Elasticsearch

架构图

四、实验环境

这次部署的是单点ELK,总共用了两台服务器(Centos7.6)
ELK服务端:192.168.80.10
Nginx客户端:192.168.80.20

1.准备工作:

提前关闭防火墙和SElinux

2.安装三个软件

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.5.2.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.0-linux-x86_64.tar.g
解压到/usr/local/目录下

3.安装java环境

yum -y install java-1.8*

4.配置elasticsearch

1)新建elasticsearch用户,用改用户启动elasticsearch服务。
useradd elasticsearch
chown -R elasticsearch.elasticsearch /usr/local/elasticsearch-7.5.2/
su - elasticsearch
cd /usr/local/elasticsearch-7.5.2/
bin/elasticsearch -d
2)查看服务是否启动(等一会儿)
netstat -anpt
3)若出现错误日志可查看
cat logs/elasticsearch.log
4)测试是否成功
curl localhost:9200

5.配置logstash

1)进入logstash目录,cd /usr/local/logstash/,创建配置文件
vim conf.d/nginx_log.conf

input {
        beats {
                port => "5044" //数据来源于filebeats发送给logstash的5044端口的数据
        }
}

output {
        elasticsearch {
                hosts => ["192.168.80.10:9200"] //elasticsearch的地址
        }
}

3)后台启动logstash
nohup bin/logstash -f conf.d/nginx_log.conf &
查看:netstat -anput|grep 5044
如果启动不起来,查看日志:
tailf nohup.out

6.配置Kibana

1)进入Kibana目录,cd /usr/local/kibana修改其配置文件:
vim config/kibana.yml

image.png

image.png

2)后台启动
nohup bin/kibana --allow-root &
因为logstash不推荐root启动,因此要加上--allow-root才能以root身份启动
3)若启动失败,同样也可以查看日志
tailf nohup.out
4)查看端口
netstat -anput|grep 5601
5)测试
在浏览器访问http://192.168.80.10:5601
到此,ELK部署完毕

7.Nginx客户端配置

1)下载Nginx
yum -y install nginx
2)下载filebeat
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.6.0-linux-x86_64.tar.gz
3)解压到/usr/local/,并进入该目录
tar xf filebeat-7.6.0-linux-x86_64.tar.gz -C /usr/local/
4)修改配置文件,vi filebeat.yml

image.png
image.png
image.png

5)后台启动
nohup ./filebeat -e -c filebeat.yml &

6)查看日志
tailf nohup.out

7)通过浏览器多访问几次Nginx:http://192.168.80.10,然后访问Kibana:http://192.168.80.10:5601,点击Discovery,可以看到日志已经被收集,然后可以自行创建查询规则。

`

你可能感兴趣的:(ELK监控服务端搭建)