环境:
- 主机名 = zabbix.onitroad.com
- IP 地址 = 192.168.1.151
- 操作系统 = CentOS 7/RHEL 7
- 主机名 = ylclzbxcl05.onitroad.com
- IP 地址 = 192.168.1.145
- 操作系统 = Ubuntu 16.04 LTS
要求
确保使用以下命令在服务器上安装 zabbix-sender 包,我们要监控 APT 包更新:
# apt-get install zabbix-sender
确保安装了 update-notifier-common 包,在 ubuntu 上默认安装,如果没有使用以下命令:
# apt-get install update-notifier-common
使用 wget 或者 curl 下载 apt-updates.sh 脚本:
# wget https://raw.githubusercontent.com/faudeltn/Zabbix/master/APT%20Updates/apt-updates.sh
# cat apt-updates.sh #!/usr/bin/env bash # Author: Waderni Lotfi # Description: apt updates info #ZBX_HOSTNAME_PRESENT=$(egrep ^HostnameItem /etc/zabbix/zabbix_agentd.conf -c) #echo $ZBX_HOSTNAME_PRESENT if [ "$ZBX_HOSTNAME_PRESENT" -ge "1" ]; then #ZBX_HOSTNAME=$(egrep ^Hostname /etc/zabbix/zabbix_agentd.conf | cut -d = -f 2) ZBX_HOSTNAME=$(hostname) else #ZBX_HOSTNAME=$(hostname) ZBX_HOSTNAME=$(egrep ^Hostname /etc/zabbix/zabbix_agentd.conf | cut -d = -f 2) fi #echo $ZBX_HOSTNAME; UPDATES=$(/usr/lib/update-notifier/apt-check 2>&1||echo "-1,-1") echo -n '"'$ZBX_HOSTNAME'"' 'apt.security ' echo $UPDATES|cut -d';' -f2 echo -n '"'$ZBX_HOSTNAME'"' 'apt.updates ' echo $UPDATES|cut -d';' -f1 echo -n '"'$ZBX_HOSTNAME'"' 'OS.release ' lsb_release -a 2>/dev/null|grep Release|awk '{print }'
使用以下命令使脚本可执行:
# chmod +x apt-updates.sh
设置一个 cron 作业,将 cron 作业的输出通过管道传输到 Zabbix 发送器,如下所示:
00 23 * * * ./apt-updates.sh | zabbix_sender -z IP-ZABBIX-SERVER -i - >/dev/null
从此链接 https://github.com/faudeltn/Zabbix/tree/master/APT%20Updates 下载 APT-Updates.xml 模板并将其导入 Zabbix Frontend
将 APT-Updates.xml 模板链接到监控主机,如果我们想检查脚本是否正常工作,只需运行以下命令:
# ./apt-updates.sh | zabbix_sender -z IP-ZABBIX-SERVER -i - >/dev/null
从最新的数据菜单选项卡中,我们应该看到可用的常规和安全更新的数量。
在下面,我们可以看到触发器。
关于 Zabbix
Zabbix 是一款免费的开源网络监控软件工具,用于监控和跟踪 IT 基础设施的可用性和性能:服务器、网络设备和其他 IT 资产。
在本文中,我们将演示如何在 Ubuntu 服务器上使用 Zabbix 3.4 监控 APT 包可用更新,我们将使用脚本将 APT 可用安全性和常规更新的数量发送到 Zabbix 服务器,使用计划的 cron 作业。
日期:2020-06-02 22:19:01 来源:oir作者:oir