使用zabbix监控位于两台不同的机器上的文件是否一致

简介:

 

生产上有一需求,要把某个文件同步到另一台备机上,备机启动程序的时候需要引用这个文件,以便能够实现failover。文件同步的方法这里不言,这里主要讨论怎么通过zabbix平台实现对两个位于不同机器上的文件是否一致进行监控,若出现不一致的情况立即告警,需要人为干预。

 

在网上也搜索了好多帖子,差不多都使用了脚本来实现,感觉都不适合自己。于是曲曲折折走了一段弯路,最开始打算用Python脚本实现的,脚本都准备好了也测试过了。后来看到了calculate item这种方式,只是单纯的通过zabbix就能实现了,所以何乐而不为呢,于是就用这种方案了。现在把最后方案整理一下,与大家分享一下。

一、首先创建合适的基础监控项

我一开始就考虑着使用vfs.file.md5sumvfs.file.cksum这两个item来实现。后来操作起来发现vfs.file.cksum比较适合,因为vfs.file.cksum的返回值是一串数字,便于下一步计算。

wKiom1lRw8eBw6TPAACflzp0Kxw267.png 

wKiom1lRw4bwLZCZAABSU2R7umQ874.png 

1.首先在源主机上创建一个item(注意这里面的KeyType of information参数设置)

wKiom1lRw9yzmTfaAADIT5Uj0is889.png 

  2.备机上同样的方法创建一个item(这里不贴图了)

二、使用item类型中的Calculated来实现两个监控项之间的比较

calculate可以对item进行计算,计算方式主要靠一系列的表达式组成。计算后的结果存放在数据库中,也就是说历史数据、趋势数据都会存在数据库中。这就意味着可以对calculate item监控项进行告警配置。详细介绍请点击链接

 https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/calculated

Key在每个HOST中都是唯一的,不能重复。其表达式如下:

 

func(<key>|<hostname:key>,<parameter1>,<parameter2>,...)

 

各个参数的含义如下图所示:

wKioL1lRw_GD7QPRAAAa_36faNg957.png 

 

现在在备机上创建一个calculate item监控项,来比较两个文件是否一致。通过前者的cksum值与后者sksum作差运算

 

wKioL1lRxAPRg52-AADJgROkFrA587.png 

 

注:如果操作完成后中出现下面提示的错误,需要检查一下Type of information设置:

wKiom1lRxB2iVVKeAAAczHnQfLQ008.png 

 

这里解释一下出现这个问题的原因:当前者cksum值比后面大的时候正常显示,而当前值比后面小的时候就会出现上面这种结果,究其原因也就是类型不同其能包含的值也不同。

下面详细介绍一下item参数中的Type of information

Numeric(unsigned):64位无符号的整数

Numeric(float):浮点数类型(zabbix2.2开始,接收的值大小可以支持如1e+701e-70.)

Character:字符(字符串)类型数据限制为255B

Log:日志文件,必须使用的Keylog[]logrt[]

Text:文本(text)不限制大小

三、创建触发器,测试结果

在备机上创建一个触发器,当结果不为0时产生告警

wKiom1lRxC_jgP83AABSPtdUrlo711.png 

手动操作一下让两个文件不一样时能立刻产生告警:

wKioL1lRxD_CS4ZlAAAJvRvsWU4243.png 

目的达成!

 

 

 


本文转自 青苗飞扬 51CTO博客,原文链接:http://blog.51cto.com/qingmiao/1942296


相关文章
|
2天前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
19 9
|
4月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
27天前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
70 7
|
2月前
|
SQL 监控 数据库
OceanBase社区版可以通过Zabbix监控
【10月更文挑战第5天】随着OceanBase社区版的广泛应用,企业纷纷采用这一高性能、高可用的分布式数据库系统。为了确保系统的稳定运行,使用成熟的Zabbix监控工具进行全面监控至关重要。本文通过具体示例介绍了如何配置Zabbix监控OceanBase,包括安装配置、创建监控模板和监控项、编写脚本、设置触发器及图形展示等步骤,帮助读者快速上手,及时发现并解决问题,确保业务始终处于最佳状态。
70 2
|
3月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
66 2
zabbix agent集成percona监控MySQL的插件实战案例
|
4月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
107 0
|
5月前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
7月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
7月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
270 4
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
274 0

推荐镜像

更多