携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情 >>
问题描述: 开发中不难遇到一些埋log的地方, 方便后期翻阅日志进行查询一些问题, 一般来说 一些公司是直接到服务器上把log取下来进行查找, 不过日志量大的情况下你根本很难copy, 甚至很难打开这个日志文件, 这时候 我们推出一个ELK日志采集框架,这块会分是那部分进行介绍.
本期就来给大家 介绍一下这个ELK 的成员以及,都包含的一些模块,该如何使用和一些配置.
所谓 Elastic ( elasticsearch(存储日志)+logstash(收集日志) +kibana(展示数据) )是指日志采集框架,方便后期日志的检索查找,目前我们公司就正在使用这个框架做日志的采集,进行数据清洗过滤分析,根据一些需求做成Report展示于Kibana的仪表盘板块中。
这一期就从里往外给大家介绍吧,先介绍其中最累的砖头搬运工Logstash(Logstash:收集、解析和转换日志)(用于收集日志),其实很简单,到官网下载他的安装包,将其解压缩,如果需要根据自己的需求 去做一些数据处理什么的,就可以进行工作了,这三者都是通过.bat的方式进行服务启动,然而logstash是通过启动时加载配置文件的方法做一些服务配置,这里着重说一下这个conf文件的内容吧,主要是三块内容如下:
//.conf文件
input {
//数据输入源
}
filter {
//数据过滤解析条件 可以不要
}
output {
//数据输出目标
}
我们目前用到的是输出到RabbitMQ和ES中的,直接把我们地例子贴出来吧:
output {
//输出至RabbitMQ
rabbitmq {
id => "my_plugin_id"
exchange => "logstash.exchange"
exchange_type =>"direct"
key =>"logstash.key"
host => "0.0.0.0"
port => 5672
user =>"admin"
password=>"Mq@2022"
message_properties => {
"content_type" => "application/json"
"priority" => 1
}
}
//输出至ElasticSearch
elasticsearch {
hosts => "0.0.0.0:9200"
user => "elastic"
password => "08.2022"
index => "oracle_%{+YYYY.MM.dd}"
}
}
用起来还是非常方便的,不是很费劲,简单易上手,感兴趣的话可以到Logstash的官网上详细了解各种 插件和一些过滤地用法,能解决日志检索采集处理中90% 的问题,剩下的10%就跟实际业务和需求有很大的关系了。
Jrm,See you next time...