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

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

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

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

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

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

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>,...)

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

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

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

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

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

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

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

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

Log:日志文件,必须使用的Key为log[]和logrt[]

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

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

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

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

目的达成!

时间: 2024-10-14 21:19:52

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

提取zabbix监控平台单台服务器图形并发邮件python实现

需求:希望每天邮件发出当天某台服务器的监控状态,如果某天都登陆zabbix截图很麻烦,而且并不能保证每天都准点操作,于是写了一段脚本实现自动抓取图片,并组装成html,通过定时邮件发送,实现日报自动化. 一.效果图: 二.代码: #!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb import datetime import cookielib, urllib2,urllib import smtplib from email

使用SyncToy 同步两台机器上的文件夹

@echo off echo 准备启动同步... net use \\WIN-AJH8QENQQGK "123456" /user:Administrator Z:\SyncToy\SyncToyCmd.exe -r lz2echo 取日期.时间变量值set yy=%date:~0,4%set mm=%date:~5,2%set dd=%date:~8,2%set hh=%time:~0,2%set mn=%time:~3,2%set ss=%time:~6,2%set filenam

一台机器上~/.ssh/文件夹内如何管理多个ssh key

刚刚接触github,按照廖国锋的教程http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 第一次操作ssh key那里,没问题. 然而,老师的新项目,不在github.com上,挂在coding.net上,于是在coding.net上又要设置ssh key. 于是,出现了一系列问题,其本质原因就是coding.net读取了原来的专属用于github的~/.ssh/id_rsa: 而我

linux监控平台介绍、zabbix监控介绍、安装zabbix

linux监控平台介绍 常见开源监控软件 cacti.nagios.zabbix.smokeping.open-falcon 等等. nagios和zabbix流行度很高. cacti.smokeping 偏向于监控基础的东西. cacti可以监控网络设备,它的图形表现得非常好,非常漂亮. IDC 机房比较喜欢用cacti.smokeping,因为适合监控网络设备. cacti.nagios.zabbix 服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存

linux监控平台搭建(1)监控平台介绍、zabbix监控介绍、安装zabbix、忘记Admin密码

            (一)监控平台介绍 (二)zabbix监控介绍 (三)安装zabbix 实验需要两台机器:服务端(133)和客户端(134) 1.首先在服务端安装Zabbix的yum扩展源. 下载地址: www.zabbix.com/download wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm 2.安装一下这个rpm包 rpm -ivh zabbix-re

Linux监控平台介绍 zabbix监控介绍 安装zabbix 忘记Admin密码如何做

一.Linux监控平台介绍这几款软件都是需要PHP环境支持,使用Apache PHP或者NGINX的PHP都可以,nagios不需要使用mysql,cacti和zabbix是需要使用mysql的二.zabbix监控介绍zabbix监控流程图三.安装zabbix需要准备两台机器,一台作为zabbix-server服务端,一台作为zabbix-agent客户端[[email protected] ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x8

zabbix监控平台部署详细文档

监控系统介绍 一:监控介绍 1.监控软件介绍:使用 SNMP 协议获取主机 CPU.内存.磁盘.网卡流量等数据.用脚本将获取到的 SNMP 数据存入数据库中,然后再使用一种名为 MRTG 的软件根据获取的数据绘制图表来分析数据的变化.MRTG(Multi Router Traffic Grapher),顾名思义,这款软件最初是设计用于监控网络链路流量负载的.它可以用过 SNMP 获取到设备的流量信息,并根据这些信息绘制成图表并保存为 PNG 格式的图片,再将这些 PNG 图片以HTML 页面的方

RedHat 7 KVM虚拟机在两台宿主机之间在线迁移

本文主要通过两台RedHat 7 KVM宿主机和NFS共享,将位于共享存储的虚拟机在两台宿主机之间进行在线迁移. 本文原始出处:江健龙的技术博客http://jiangjianlong.blog.51cto.com/3735273/1793913 环境介绍:  配置过程: 1.在rh7-02上配置NFS服务,共享/share目录出来 2.在两台宿主机的存储池都添加该NFS共享目录,下面以rh7-02添加存储池为例,点击左下角的+号添加一个存储池 3.输入存储池的名称为share,选择类型为net

两台linux互相复制文件

http://jingyan.baidu.com/article/597a06434bf71e312a52436e.html 开发者们经常会在自己的电脑和服务器之间传输文件,今天小编说说怎么在两台linux系统下互相拷贝文件. 工具/原料 两台装了linux系统的电脑,可在局域网中,也可在广域网中. 方法/步骤 1 linux文件传输主要有一下几种方法: 1.ftp2.samba服务3.sftp4.scp 由于前面3种需要进行配置,在这里小编就不说了,有兴趣的童鞋可以自己查一下相关资料,小编今天