Zabbix与ELK整合实现对安全日志数据的实时监控告警

1 ELK与ZABBIX有什么关系?

ELK大家应该比较熟悉了,zabbix应该也不陌生,那么将ELK和zabbix放到一起的话,可能大家就有疑问了?这两个放到一起是什么目的呢,听我细细道来

ELK是一套日志收集套件,它其实由Elasticsearch、Logstash和Kibana三个软件组成,通过ELK可以收集系统日志、网站日志、应用系统日志等各种日志数据,并且还可以对日志进行过滤、清洗,然后进行集中存放并可用于实时检索、分析。这是ELK的基础功能。

但是有些时候,我们希望在收集日志的时候,能够将日志中的异常信息(警告、错误、失败等信息)及时的提取出来,因为日志中的异常信息意味着操作系统、应用程序可能存在故障,如果能将日志中的故障信息及时的告知运维人员,那么运维就可以第一时间去进行故障排查和处理,进而也就可以避免很多故障的发生。

那么如何才能做到将ELK收集的日志数据中出现的异常信息及时的告知运维人员呢,这就需要用到zabbix了,ELK(更确切的说应该是logstash)可以实时的读取日志的内容,并且还可以过滤日志信息,通过ELK的读取和过滤功能,就可以将日志中的一些异常关键字(error、failed、OutOff、Warning)过滤出来,然后通过logstash的zabbix插件将这个错误日志信息发送给zabbix,那么zabbix在接收到这个数据后,结合自身的机制,然后发起告警动作,这样就实现了日志异常zabbix实时告警的功能了。

2
Logstash与zabbix插件的使用Logstash支持多种输出介质,比如syslog、HTTP、TCP、elasticsearch、kafka等,而有时候我们想将收集到的日志中一些错误信息输出,并告警时,就用到了logstash-output-zabbix这个插件,此插件可以将Logstash与zabbix进行整合,也就是将Logstash收集到的数据进行过滤,将有错误标识的日志输出到zabbix中,最后通过zabbix的告警机制进行触发、告警。

logstash-output-zabbix是一个社区维护的插件,它默认没有在Logstash中安装,但是安装起来也很容易,直接在logstash中运行如下命令即可:

[root@elk-master bin]# /usr/share/logstash/bin/logstash-plugin install logstash-output-zabbix

其中,/usr/share/logstash/bin/是Logstash的yum默认安装目录,如果是源码安装的需要自己修改

此外,logstash-plugin命令还有多种用法,我们来看一下:

2.1 列出目前已经安装的插件

列出所有已安装的插件

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin list

列出已安装的插件及版本信息

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin list --verbose

列出包含namefragment的所有已安装插件

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin list "*namefragment*"

列出特定组的所有已安装插件( input,filter,codec,output)

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin --group output2.2 安装插件

要安装某个插件,例如安装kafka插件,可执行如下命令:

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin install logstash-output-kafka

要使用此命令安装插件,需要你的电脑可以访问互联网。此插件安装方法,会检索托管在公共存储库(RubyGems.org)上的插件,然后下载到本地机器并在Logstash安装之上进行自动安装

2.3 更新插件

每个插件有自己的发布周期和版本更新,这些更新通常是独立于Logstash的发布周期的。因此,有时候需要单独更新插件,可以使用update子命令获得最新版本的插件

更新所有已安装的插件

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin update

仅更新指定的插件

[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin update logstash-output-kafka2.4 删除插件[root@elk-master ~]# /usr/share/logstash/bin/logstash-plugin remove logstash-output-kafka

这样就删除了logstash-output-kafka插件

3 logstash-output-zabbix插件的使用

logstash-output-zabbix安装好之后,就可以在logstash配置文件中使用了,下面是一个logstash-output-zabbix使用的例子:

zabbix {

zabbix_host =

THE END
Copyright © 2024 亿华云