zabbix实现配置监控Windows设备、SNMP协议设备的全流程实操教程
一、zabbix实现对windows设备进行监控配置的全流程实操
Download Zabbix agentshttps://www.zabbix.com/cn/download_agents 注意:我们在下载被监控端agent安装包的时候需要根据zabbix-server的版本来匹配下载安装,zabbix-server的版本可以在zabbix的web界面的仪表盘右侧可以查看到或者直接在安装了zabbix-server的服务器上执行【zabbix_server -V 】命令查看版本信息。
1.1、配置zabbix监控windows设备
zabbix提供了windows平台的agent端监控程序,从zabbix官网下载windows版本的agent安装包即可。zabbix的官网提供了两种类型的windows安装包,分别是msi安装包和绿色压缩包,我们这里直接下载免安装的压缩包使用,下载agent2的包,功能更加强大完整。可以将下载好的agent2压缩包解压到任意位置即可,然后修改该解压文件夹下conf下的【zabbix_agent2.conf】配置文件,详细操作如下图所示:
#1-根据zabbix-sevre的版本选择对应的agent2包下载(如我这里是7.0.19)
https://cdn.zabbix.com/zabbix/binaries/stable/7.0/7.0.19/zabbix_agent2-7.0.19-windows-amd64-static.zip#2-将下载好的agent2包解压并编辑该目录下的配置文件【conf/zabbix_agent2.conf】,编辑的内容如下:
#日志文件的路径(一般是放在该agent2目录下)
LogFile=F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\zabbix_agent2.log
#zabbix-server的IP地址【被动模式】
Server=192.168.1.38
#设置agent2主动上报自身信息给zabbix-server的IP地址
ServerActive=192.168.1.38
#这里设置了两个元数据,一个是告诉自己是windows服务器,另一个就是写一个通用的带有公司标识的字符串(两个元数据中间用空格隔开,可以指定多个元数据内容)
HostMetadata=windows zabbix.ck#3-安装agent2实操流程(具体的agent2文件路径【F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static】需要根据自己的实际情况修改)【以下操作都在CMD的管理员环境下执行】
#3.1-安装zabbix-agent2
F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\bin\zabbix_agent2.exe -i -c F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\conf\zabbix_agent2.conf#3.2-启动zabbix-agent2
F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\bin\zabbix_agent2.exe -s -c F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\conf\zabbix_agent2.conf#3.3-查看zabbix-agent2是否启动(启动成功可以看到它的10050端口)并可以到【F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static】下查看日志文件【zabbix_agent2.log】
netstat -an | findstr 10050#3.4-停止zabbix-agent2(需要在执行)
F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\bin\zabbix_agent2.exe -x -c F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\conf\zabbix_agent2.conf#3.5-卸载zabbix-agent2(需要在执行)
F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\bin\zabbix_agent2.exe -d -c F:\AllSoftware\zabbix_agent2-7.0.19-windows-amd64-static\conf\zabbix_agent2.conf
最后就是需要检查防火墙,添加放行规则,打开windows防火墙,添加zabbix-agent2应用:进入【设置】-->【隐私与安全】-->【Windows安全中心】-->【防火墙和网络保护】-->【允许应用通过防火墙】-->【浏览选择zabbix_agent2.exe文件】-->【添加】-->【确定】详细操作如下图所示:
1.2、【手动】在zabbix的web界面手动添加监控主机
打开zabbix的web网页点击导航栏左侧的【数据采集】-->【主机群组】-->【创建主机组】-->输入组名【windows】-->【添加】即可添加windows组。
打开zabbix的web网页点击导航栏左侧的【数据采集】-->【主机】-->【创建主机】-->【输入主机的名称、模板、主机群组、添加agent接口信息】-->【添加】即可。
1.3、【自动】在zabbix的web界面配置客户端自主自动注册(推荐)
打开zabbix的web网页点击导航栏左侧的【告警】-->【动作】-->【自动注册动作】-->【创建动作】在弹窗的详细配置界面中需要配置如下两个内容:
《1》动作:首选是需要配置自主自动注册的名称(如:windows客户端自主自动注册);然后就是添加过滤的规则:
A | 主机元数据 包含 windows |
B | 主机元数据 包含 zabbix.ck |
《2》操作:就是需要指定客户端连接上zabbix-server后需要执行哪些操作(如:连接哪个监控模板、放到哪个群组、是否启用等操作:
添加主机 |
添加到主机群组: Windows |
模板链接: Windows by Zabbix agent active |
启用主机 |
设置主机资产模式: 自动 |
1.4、验证被监控主机是否被监控管理
打开zabbix的web界面的左侧导航栏【监测】-->【主机】的列表中查看是否有我们刚配置的windows系统主机(有则表示被zabbix-server监控、可用性显示绿色表示正在采集数据监控中),点击【最新数据】查看是否有数据被采集到(有则表示windows主机正常将数据推送到zabbix-server的10051端口中监测管理了)相信操作如下图所示:
二、Zabbix利用SNMP协议监控群晖NAS
群晖系统内部封装比较严密,要通过在上面安装监控agent,对群晖进行监控,比较麻烦,此时可以通过SNMP协议去监控(SNMP协议对应的端口是161),因为可以在群晖内部直接打开snmp服务,这样也免去了在群晖安装zabbix agent的麻烦,实现起来就比较简单了。
SNMP协议可以监控路由器、打印机、UPS、摄像头、服务器等设备。
2.1、开启群晖NAS的SNMP服务
点击【控制面板】-->【终端机和SNMP】-->【SNMP】-->勾选【启动SNMP服务】-->勾选SNMPv1、SNMPv2c服务,其中【社群】就相当于密码,根据自己的实际情况设置对应密码后-->【应用】,相信操作如下图所示:
2.2、在zabbix-server上安装snmpwalk软件
要使用snmp,zabbix-server端需要提前安装好snmpwalk软件,包名为net-snmp-utils。
#在zabbix-server上安装snmpwalk软件的命令
yum -y install net-snmp net-snmp-utils#启用snmpd服务
systemctl start snmpd.service
#snmp安装完成后可以进行简单的测试
[root@zabbixserver ~]# snmpwalk -v 2c -c synology 192.168.1.26 .1.3.6.1.4.1.2021.4.6
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 87140 kB[root@zabbixserver ~]# snmpwalk -v 2c -c synology 192.168.1.26 .1.3.6.1.2.1.31.1.1.1.1
IF-MIB::ifName.1 = STRING: lo
IF-MIB::ifName.2 = STRING: eth0
IF-MIB::ifName.3 = STRING: sit0[root@zabbixserver ~]# snmpwalk -v 2c -c synology 192.168.1.26 .1.3.6.1.2.1.31.1.1.1.1.2
IF-MIB::ifName.2 = STRING: eth0
注意:类似【.1.3.6.1.4.1.2021.4.6】这是SNMP对应监控资源的OID,不同的OID对应了相应的监控项详情,群晖NAS具体OID可以参考官方文档: https://global.download.synology.com/download/Document/Software/DeveloperGuide/Firmware/DSM/All/enu/Synology_DiskStation_MIB_Guide.pdf
SNMP MIB 指南
2.3、SNMP监控项OID含义说明
2.3.1、系统参数OID
系统参数(1.3.6.1.2.1.1) | |||
---|---|---|---|
OID | 描述 | 备注 | 请求方式 |
.1.3.6.1.2.1.1.1.0 | 获取系统基本信息 | SysDesc | GET |
.1.3.6.1.2.1.1.3.0 | 监控时间 | sysUptime | GET |
.1.3.6.1.2.1.1.4.0 | 系统联系人 | sysContact | GET |
.1.3.6.1.2.1.1.5.0 | 获取机器名 | SysName | GET |
.1.3.6.1.2.1.1.6.0 | 机器坐在位置 | SysLocation | GET |
.1.3.6.1.2.1.1.7.0 | 机器提供的服务 | SysService | GET |
.1.3.6.1.2.1.25.4.2.1.2 | 系统运行的进程列表 | hrSWRunName | WALK |
.1.3.6.1.2.1.25.6.3.1.2 | 系统安装的软件列表 | hrSWInstalledName | WALK |
2.3.2、网络接口OID
网络接口(1.3.6.1.2.1.2) | |||
---|---|---|---|
OID | 描述 | 备注 | 请求方式 |
.1.3.6.1.2.1.2.1.0 | 网络接口的数目 | IfNumber | GET |
.1.3.6.1.2.1.2.2.1.2 | 网络接口信息描述 | IfDescr | WALK |
.1.3.6.1.2.1.2.2.1.3 | 网络接口类型 | IfType | WALK |
.1.3.6.1.2.1.2.2.1.4 | 接口发送和接收的最大IP数据报[BYTE] | IfMTU | WALK |
.1.3.6.1.2.1.2.2.1.5 | 接口当前带宽[bps] | IfSpeed | WALK |
.1.3.6.1.2.1.2.2.1.6 | 接口的物理地址 | IfPhysAddress | WALK |
.1.3.6.1.2.1.2.2.1.8 | 接口当前操作状态[up|down] | IfOperStatus | WALK |
.1.3.6.1.2.1.2.2.1.10 | 接口收到的字节数 | IfInOctet | WALK |
.1.3.6.1.2.1.2.2.1.16 | 接口发送的字节数 | IfOutOctet | WALK |
.1.3.6.1.2.1.2.2.1.11 | 接口收到的数据包个数 | IfInUcastPkts | WALK |
.1.3.6.1.2.1.2.2.1.17 | 接口发送的数据包个数 | IfOutUcastPkts | WALK |
2.3.3、CPU以及负载OID
CPU及负载 | |||
---|---|---|---|
OID | 描述 | 备注 | 请求方式 |
. 1.3.6.1.4.1.2021.11.9.0 | 用户CPU百分比 | ssCpuUser | GET |
. 1.3.6.1.4.1.2021.11.10.0 | 系统CPU百分比 | ssCpuSystem | GET |
. 1.3.6.1.4.1.2021.11.11.0 | 空闲CPU百分比 | ssCpuIdle | GET |
. 1.3.6.1.4.1.2021.11.50.0 | 原始用户CPU使用时间 | ssCpuRawUser | GET |
.1.3.6.1.4.1.2021.11.51.0 | 原始nice占用时间 | ssCpuRawNice | GET |
. 1.3.6.1.4.1.2021.11.52.0 | 原始系统CPU使用时间 | ssCpuRawSystem. | GET |
. 1.3.6.1.4.1.2021.11.53.0 | 原始CPU空闲时间 | ssCpuRawIdle | GET |
. 1.3.6.1.2.1.25.3.3.1.2 | CPU的当前负载,N个核就有N个负载 | hrProcessorLoad | WALK |
. 1.3.6.1.4.1.2021.11.3.0 | ssSwapIn | GET | |
. 1.3.6.1.4.1.2021.11.4.0 | SsSwapOut | GET | |
. 1.3.6.1.4.1.2021.11.5.0 | ssIOSent | GET | |
. 1.3.6.1.4.1.2021.11.6.0 | ssIOReceive | GET | |
. 1.3.6.1.4.1.2021.11.7.0 | ssSysInterrupts | GET | |
. 1.3.6.1.4.1.2021.11.8.0 | ssSysContext | GET | |
. 1.3.6.1.4.1.2021.11.54.0 | ssCpuRawWait | GET | |
. 1.3.6.1.4.1.2021.11.56.0 | ssCpuRawInterrupt | GET | |
. 1.3.6.1.4.1.2021.11.57.0 | ssIORawSent | GET | |
. 1.3.6.1.4.1.2021.11.58.0 | ssIORawReceived | GET | |
. 1.3.6.1.4.1.2021.11.59.0 | ssRawInterrupts | GET | |
. 1.3.6.1.4.1.2021.11.60.0 | ssRawContexts | GET | |
. 1.3.6.1.4.1.2021.11.61.0 | ssCpuRawSoftIRQ | GET | |
. 1.3.6.1.4.1.2021.11.62.0 | ssRawSwapIn. | GET | |
. 1.3.6.1.4.1.2021.11.63.0 | ssRawSwapOut | GET | |
.1.3.6.1.4.1.2021.10.1.3.1 | Load5 | GET | |
.1.3.6.1.4.1.2021.10.1.3.2 | Load10 | GET | |
.1.3.6.1.4.1.2021.10.1.3.3 | Load15 | GET |
2.3.4、内存以及磁盘OID
内存及磁盘(1.3.6.1.2.1.25) | |||
---|---|---|---|
OID | 描述 | 备注 | 请求方式 |
.1.3.6.1.2.1.25.2.2.0 | 获取内存大小 | hrMemorySize | GET |
.1.3.6.1.2.1.25.2.3.1.1 | 存储设备编号 | hrStorageIndex | WALK |
.1.3.6.1.2.1.25.2.3.1.2 | 存储设备类型 | hrStorageType[OID] | WALK |
.1.3.6.1.2.1.25.2.3.1.3 | 存储设备描述 | hrStorageDescr | WALK |
.1.3.6.1.2.1.25.2.3.1.4 | 簇的大小 | hrStorageAllocationUnits | WALK |
.1.3.6.1.2.1.25.2.3.1.5 | 簇的的数目 | hrStorageSize | WALK |
.1.3.6.1.2.1.25.2.3.1.6 | 使用多少,跟总容量相除就是占用率 | hrStorageUsed | WALK |
.1.3.6.1.4.1.2021.4.3.0 | Total Swap Size(虚拟内存) | memTotalSwap | GET |
.1.3.6.1.4.1.2021.4.4.0 | Available Swap Space | memAvailSwap | GET |
.1.3.6.1.4.1.2021.4.5.0 | Total RAM in machine | memTotalReal | GET |
.1.3.6.1.4.1.2021.4.6.0 | Total RAM used | memAvailReal | GET |
.1.3.6.1.4.1.2021.4.11.0 | Total RAM Free | memTotalFree | GET |
.1.3.6.1.4.1.2021.4.13.0 | Total RAM Shared | memShared | GET |
.1.3.6.1.4.1.2021.4.14.0 | Total RAM Buffered | memBuffer | GET |
.1.3.6.1.4.1.2021.4.15.0 | Total Cached Memory | memCached | GET |
.1.3.6.1.4.1.2021.9.1.2 | Path where the disk is mounted | dskPath | WALK |
.1.3.6.1.4.1.2021.9.1.3 | Path of the device for the partition | dskDevice | WALK |
.1.3.6.1.4.1.2021.9.1.6 | Total size of the disk/partion (kBytes) | dskTotal | WALK |
.1.3.6.1.4.1.2021.9.1.7 | Available space on the disk | dskAvail | WALK |
.1.3.6.1.4.1.2021.9.1.8 | Used space on the disk | dskUsed | WALK |
.1.3.6.1.4.1.2021.9.1.9 | Percentage of space used on disk | dskPercent | WALK |
.1.3.6.1.4.1.2021.9.1.10 | Percentage of inodes used on disk | dskPercentNode | WALK |
2.4、在zabbix的web界面使用SNMP监控
2.4.1、导入群晖NAS监控模板
打开zabbix的web界面选择左侧导航栏的【数据采集】-->【模板】-->点击右上角的【导入】-->【导入文件(选择本文附带的《群晖NAS监控模板.yaml》)】-->【导入】即可;在界面上的过滤名称那里输入【群晖】-->【应用】即可查看到该导入的群晖Nas监控模板,详细操作如下图所示:
2.4.2、手动添加群晖NAS并配置模板
打开zabbix的web界面选择左侧导航栏的【数据采集】-->【主机】-->【创建主机】在弹窗中根据提示填写群晖主机的名称(即:群晖NAS的IP、群晖Nas监控模板、主机组)【注意:SNMP协议只能是被动模式(即:只能是zabbix-server主动去拉取SNMP设备上的数据信息)】。
注意:这里的接口必须选择【SNMP】且有一个自定义宏{$SNMP_COMMUNITY}需要在该界面中的【宏】那里使用该自定宏设置其的值为群晖NAS的SNMP密码(如:synology),详细操作如下图所示:
三、zabbix的官网资料
2 使用 Zabbix agent 监控 Windowshttps://www.zabbix.com/documentation/7.0/zh/manual/guides/monitor_windows2 SNMP agent
https://www.zabbix.com/documentation/7.0/zh/manual/config/items/itemtypes/snmp