elkf进阶版-收集处理多种日志并进行zabbix时时监控

上一章博客已经搭建elkf成功,请参见https://blog.csdn.net/zhangsaho/article/details/103390710
在需要收集日志的客户机上已经成功安装filebeat,打开/etc/filebeat/filebeat.yml使用tags给不同日志打上标签,在logstash里会用到
在这里插入图片描述
在这里插入图片描述
然后服务端logstash再增加配置文件/etc/logstash/conf.d/logstash.conf,编辑如下内容
input{
beats {
port => 5044
}
}
output{
if “logs1” in [tags]{
elasticsearch{
hosts => [“192.168.6.169:9200”]
index => “logs1-%{+YYYY.MM.dd}”
}
}
if “logs2” in [tags]{
elasticsearch{
hosts => [“192.168.6.169:9200”]
index => “logs2-%{+YYYY.MM.dd}”
}
}
}
最后重启logstash和filebeat在web验证我们添加的索引是否存在,通过验证成功
使用grok过滤filebeat收集到的日志修改logstash1.conf如下
input{
beats {
port => 5044
}
}
filter {
if “logs1” in [tags]{
grok {
match => {
“message” => “%{DATESTAMP:time}\s*[%{LOGLEVEL:level}]%{GREEDYDATA:data}”
}
}
}
}
output{
if “logs1” in [tags]{
elasticsearch{
hosts => [“192.168.6.169:9200”]
index => “logs3-%{+YYYY.MM.dd}”
}
}
if “logs2” in [tags]{
elasticsearch{
hosts => [“192.168.6.169:9200”]
index => “logs2-%{+YYYY.MM.dd}”
}
}
}
在这里插入图片描述
elk结合zabbix实现错误日志及时报警
首先进行logstash-output-zabbix安装(一个不可缺少的插件)
/usr/local/logstash/bin/logstash-plugin install logstash-output-zabbix #注意logstash-plugin位置)
在这里插入图片描述
在这里插入图片描述
input{
beats {
port => 5044
}
}
filter {
if “logs1” in [tags]{
grok {
match => {
“message” => “%{DATESTAMP:time}\s*[%{LOGLEVEL:level}]%{GREEDYDATA:data}”
}
} #这里通过grok对message字段的数据进行字段划分,其中level字段会在output中用到。
mutate {
add_field => [ “[zabbix_key]”, “oslogs” ]#新增的字段,字段名是zabbix_key,值为oslogs。
add_field => [ “[zabbix_host]”, “Zabbix-agent1” ]#新增的字段,字段名是zabbix_host,值最好写为agent里定义的主机名
}
mutate {
remove_field => “@version”
remove_field => “message”
}#删除多余字段
date {
match => [ “time”,“MMM d HH:mm:ss”, “MMM dd HH:mm:ss”, “ISO8601”]
}#这里是对日志输出中的日期字段进行转换,其中time字段是默认输出的时间日期字段,将这个字段的值传给 @timestamp字段。
}
}
output{
if “logs1” in [tags]{
elasticsearch{
hosts => [“192.168.6.169:9200”]
index => “logs3-%{+YYYY.MM.dd}”
}
if [level] =~ /(ERR|error|ERROR|Failed)/ {#进行正则匹配
zabbix {
zabbix_host => “[zabbix_host]”#这个zabbix_host将获取上面filter部分定义的字段变量%{host}的值
zabbix_key => “[zabbix_key]”#这个zabbix_key将获取上面filter部分中给出的值
zabbix_server_host => “192.168.6.177”#这是指定zabbix server的IP地址
zabbix_server_port => “10051”#这是指定zabbix server的监听端口
zabbix_value => “data”#很重要指定要传给zabbix的内容
}
}
}
if “logs2” in [tags]{
elasticsearch{
hosts => [“192.168.6.169:9200”]
index => “logs2-%{+YYYY.MM.dd}”
}
}
}
点击应用集—–>创建应用集,如下图所示:
在这里插入图片描述
创建一个监控项,点击监控项—–>创建监控项,如下图所示
在这里插入图片描述

注意!!!!信息类型那里不要选文本,选择日志,不然会传输不了日志到zabbix,本人踩的坑(比较懒在网上找的图,网上大部分都选的这个,是不对的)

到此为止,zabbix监控logstash的日志数据配置完成。
可以使用zabbix_sender -z 192.168.6.177 -p 10051 -s Zabbix-agent1 -k “oslogs” -o "hello"进行测试
-z:监控端IP
-p:监控端端口
-s:监控端主机名
-k:上面定义的
-o:输出的内容
好了今天先折腾到这里,明天再加强一下增加证书,保证日志传输的安全,对您有用的的话点个赞鼓励一下呗,有什么不足的地方欢迎大家提出您宝贵的意见,互相学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值