CentOS 8 部署 ELK日志分析 平台
admin
2023-01-23 22:22:58
0

需求

1.开发人员不能登录线上服务器查看日志
2.各个系统都有日志,日志分散难以查找
3.日志数据量大,查找慢,数据不够实时

解决办法:部署ELK平台

ELK介绍

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash 。

ELK架构图

CentOS 8 部署 ELK日志分析 平台

Elasticsearch简介:

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。
特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

部署Elasticsearch

1.配置yum源

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch #导入密钥
vim /etc/yum.repos.d/elasticsearch.repo #配置yum源

[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

2.安装elasticsearch

yum install elasticsearch -y #安装elasticsearch

3.配置Elasticsearch

vim /etc/elasticsearch/elasticsearch.yml

cluster.name: yltx    #17行 集群名称
node.name: node1   #23行 节点名称
path.data: /data/es-data   #33行工作目录
path.logs: /var/log/elasticsearch  #37行日志目录
bootstrap.memory_lock: true    #43行 防止交换swap分区
network.host: 0.0.0.0    #54行 监听网络
http.port: 9200   #58行 端口

mkdir -p /data/es-data
chown -R elasticsearch:elasticsearch /data/es-data/

4.内存解锁和文件限制

生产环境中必须要修改(注意)

vim /etc/security/limits.conf

末尾插入
elasticsearch soft memlock unlimited   
elasticsearch hard memlock unlimited   
* soft nofile 65535        
* hard nofile 65535

systemctl start elasticsearch.service #启动服务
netstat -ntap | grep 9200
ps -ef |grep elasticsearch

CentOS 8 部署 ELK日志分析 平台

网页测试:http://192.168.0.102:9200/

CentOS 8 部署 ELK日志分析 平台

安装Elasticsearch – head插件

/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

CentOS 8 部署 ELK日志分析 平台

网页访问:

http://192.168.0.102:9200/_plugin/head/

CentOS 8 部署 ELK日志分析 平台

Logstash 介绍:

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
logstash收集日志基本流程: input-->codec-->filter-->codec-->output
1.input:从哪里收集日志。
2.filter:发出去前进行过滤
3.output:输出至Elasticsearch或Redis消息队列
4.codec:输出至前台,方便边实践边测试
5.数据量不大日志按照月来进行收集

部署Logstash

1.配置yum源

vim /etc/yum.repos.d/logstash.repo

[logstash-2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://packages.elastic.co/logstash/2.1/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

2.下载安装logstash

yum install logstash -y

测试logstash

logstash的基本语法

input {
指定输入
}

output {
指定输出
}

1.测试标准输入输出

使用rubydebug方式前台输出展示以及测试
/opt/logstash/bin/logstash -e 'input { stdin {} } output { stdout { codec => rubydebug} }'
hello #输入hello测试

CentOS 8 部署 ELK日志分析 平台

2.测试输出到文件

/opt/logstash/bin/logstash -e 'input { stdin {} } output { file { path => "/tmp/test-%{+YYYY.MM.dd}.log"} }'
cat /tmp/test-2020.02.17.log

CentOS 8 部署 ELK日志分析 平台

3.开启日志压缩

/opt/logstash/bin/logstash -e 'input { stdin {} } output { file { path => "/tmp/test-%{+YYYY.MM.dd}.log.tar.gz" gzip => true } }'
ll /tmp/

CentOS 8 部署 ELK日志分析 平台

4.测试输出到elasticsearch

/opt/logstash/bin/logstash -e 'input { stdin {} } output { elasticsearch { hosts => ["192.168.0.102:9200"] index => "logstash-test-%{+YYYY.MM.dd}" } }'
ll /data/es-data/yltx/nodes/0/indices

CentOS 8 部署 ELK日志分析 平台
CentOS 8 部署 ELK日志分析 平台

5.网页验证

CentOS 8 部署 ELK日志分析 平台

CentOS 8 部署 ELK日志分析 平台

Kibana 简介

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

Kibana 部署

1.下载安装kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.6.0-linux-x86_64.tar.gz
tar zxvf kibana-7.6.0-linux-x86_64.tar.gz -C /opt/
mv /opt/kibana-7.6.0-linux-x86_64/ /usr/local/kibana

2.修改配置

vim /usr/local/kibana/config/kibana.yml

server.port: 5601           #2行 访问端口
server.host: "0.0.0.0"   #5行 监听网络
elasticsearch.url: "http://192.168.0.102:9200"    #12行 ES地址
kibana.index: ".kibana"    #20行 

CentOS 8 部署 ELK日志分析 平台

3.启动服务

/usr/local/kibana/bin/kibana &
netstat -ntap |grep 5601 #查看端口号

CentOS 8 部署 ELK日志分析 平台

4.网页验证:

http://192.168.0.102:5601/

CentOS 8 部署 ELK日志分析 平台
CentOS 8 部署 ELK日志分析 平台

测试 ELK平台

收集系统日志和收集java异常日志

1.修改logstash配置文件:

vim /root/file.conf

input {
            file {
                    path => "/var/log/messages"     #收集系统日志
                    type => "system"
                    start_position => "beginning"
            }
            file {
                    path => "/var/log/elasticsearch/yltx.log"   #收集java异常日志
                    type => "es-error"
                    start_position => "beginning"
                    codec => multiline {
                    pattern => "^\["
                    negate => true
                    what => "previous"
                }
            }
}

output {

         if [type] == "system" {
                 elasticsearch {
                         hosts => ["192.168.0.102:9200"]  
                         index => "system-%{+YYYY.MM.dd}"  
                 }
         }

         if [type] == "es-error" {
                 elasticsearch {
                         hosts => ["192.168.0.102:9200"]
                         index => "es-error-%{+YYYY.MM.dd}"
                 }
         }
}

2.写入到elasticsearch中

/opt/logstash/bin/logstash -f /root/file.conf

3.查看Elasticsearch

CentOS 8 部署 ELK日志分析 平台

CentOS 8 部署 ELK日志分析 平台

4.查看Kibana

CentOS 8 部署 ELK日志分析 平台
CentOS 8 部署 ELK日志分析 平台

相关资料

ELK官网:https://www.elastic.co/cn/
中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details

相关内容

热门资讯

探秘沧海之“晶”:海水制盐的原... 自古以来,海就是巨大的宝藏,尤其它那孕育“白色精灵”——食盐的魔力,更是人类文明的基石之一。海水如何...
日媒播出专题片揭露731部队罪... 当地时间21日夜间,日本广播协会播出侵华日军731部队相关专题片,题为《被隐藏的部队:沉默的战后》。...
苏州正式设立人工智能发展办公室 新京报讯 据“苏州发布”微信公众号消息,近日,苏州市正式设立人工智能发展办公室,进一步统筹苏州市人工...
警方通报“16岁高中生被刺死”... 7月22日,内蒙古乌拉特前旗公安局针对“16岁高中生被刺死,事发地疑为涉黄场所”发布警情通报,通报关...
达观数据陈运文:智能体竞争,正... 随着AI智能体加速进入产业应用,市场规模持续增长,但企业关注的重点正在发生变化。 中商产业研究院发布...
磁力混合器突破3D生物打印细胞... 3D生物打印是生物工程领域的重要技术,通过将活细胞混入柔性水凝胶(即"生物墨水")来打印活体组织,广...
王兴兴:做好准备迎接即将突破的... 王兴兴在开幕式上发表演讲。 王兴兴在演讲中提到,宇树科技成立于2016年,经过近10年努力,已经成为...
不排除提告!屡遭苏巧慧阵营抹黑... 海峡导报综合报道 国民党新北市长参选人李四川的板桥房产问题屡遭绿营质疑,对手苏巧慧阵营再度指控李四川...
俄外长:将在马尼拉同鲁比奥会晤... 据凤凰卫视报道,正在菲律宾出席东盟外长会的俄罗斯外长拉夫罗夫7月22日表示,他将于23日上午在马尼拉...
小鸭洗衣机皮带修理方法 小鸭洗衣机皮带在长时间使用过程中,可能会出现磨损或者老化,导致洗衣机无法转动或者转速变慢。这时候,我...