Ali*_*aSP 4 rsync monitoring zabbix
我有一种情况需要监视(使用Zabbix)rsync作业是否执行失败.
我想在源文件中插入一个退出代码并监视它,但我还没有找到一个好方法.
任何人都知道我可以执行此监控的方法吗?
我解决了这件事3件事.
1 - 创建脚本以在cron上执行rsync
#!/bin/bash +x
# Put your own rsync command on line below
rsync -rlptv --delete-after root@serverA:/some_dir/ /another_dir/ > /lalla_dir/my.log
# Check if rsync was executed with success
if [ $? = 0 ];then
# If true, send a random number to log file and status=ok message
echo $[ 1 + $[ RANDOM % 1000 ]] >> /lalla_dir/my.log
echo "Status = OK" >> /lalla_dir/my.log
# If false, send a random number to log file and status=ERROR message
else
echo $[ 1 + $[ RANDOM % 1000 ]] >> /lalla_dir/my.log
echo "Status = ERROR" >> /lalla_dir/my.log
fi
Run Code Online (Sandbox Code Playgroud)
2 - 在Zabbix上创建两个Itens
A - 检查my.log的check_sum(这就是为什么脚本必须有随机数的原因,这样你确定自上次检查后日志文件已被修改
Zabbix的关键
vfs.file.cksum[]
Run Code Online (Sandbox Code Playgroud)
B - 检查日志文件以获取确定消息.
Zabbix的关键
vfs.file.regmatch[/lalla_dir/my.log,Status = OK]
Run Code Online (Sandbox Code Playgroud)
3 - 创建触发器.
{my-server:vfs.file.cksum[/lalla_dir/my.log].change()}=0
or
{my-server:vfs.file.regmatch[/lalla_dir/my.log,Status = OK].last()}=0
Run Code Online (Sandbox Code Playgroud)
因此,如果您的日志文件未更改或未显示"Status = OK"消息,则表示它们是以erro(失败)执行的,或者它未运行(可能是cron问题)
抱歉英语不好 - 使用has,have,他们......仍让我感到困惑
| 归档时间: |
|
| 查看次数: |
3618 次 |
| 最近记录: |