发表于 2019-1-19 14:46:44

Zabbix监控(九):自动监控windows服务

  一、监控服务状态的Key:
  

service_state
State of service. 0 - running, 1 - paused, 2 - start pending, 3 - pause pending,
4 - continue pending, 5 - stop pending, 6 - stopped, 7 - unknown, 255 - no such service

  返回0表示运行,返回6表示关闭,返回7表示未知,返回255表示没有。
  

  二、手动监控客户端Agent服务
  1、查看客户端服务名称
  
http://s3.运维网.com/wyfs02/M00/53/A9/wKiom1RtTwHDuf3LAAJOq622RTE909.jpg
  2、给监控主机添加Items
  监控客户端agent服务状态,这里故意多输了个2
http://s3.运维网.com/wyfs02/M01/53/A7/wKioL1RtT3rBtNRKAACKnPIqLwM572.jpg
  3、创建触发器
  由于返回0表示运行,因此设置不为0时报警
http://s3.运维网.com/wyfs02/M01/53/A9/wKiom1RtTwKSycQhAADJlvr3kXU118.jpg
  4、查看监控图像(在Last Data中找)
  可以看到因为没有Zabbix Agent2这个服务,返回255,将2去掉后再观察可以看到返回值为0
http://s3.运维网.com/wyfs02/M02/53/A7/wKioL1RtT3qhbubBAAEyszkTBm0319.jpg
  

  三、自动监控windows服务状态
  1、创建脚本
  在客户端新建discoverservice.bat文件,放在c:\zabbix\目录中,内容如下:
@echo off
echo {
echo         "data":[
for /F "skip=1 eol=命 tokens=*" %%i IN ('net start') DO echo               {"{#SERVICE_NAME}":"%%i"},
echo               {"{#SERVICE_NAME}":"Zabbix Agent"}
echo         ]
echo }  脚本说明:
  net start命令输出所有已启动的服务,但是有第一行"已经启动以下 Windows 服务: "和最后一行"命令成功完成。",需要去掉,因此skip=1 eol=命 tokens=*就好理解了,跳过第一行和命字开头的行;最后再插入一条{"{#SERVICE_NAME}":"Zabbix Agent"}来确保最后没后行没有逗号,满足JSON格式。

  

  2、修改客户端配置
  在zabbix_agentd.conf中添加以下内容
UnsafeUserParameters=1
UserParameter=servicestate,c:\zabbix\discoverservice.bat  重新启动zabbix agentd服务
  

  提示:客户端的脚本和配置可在安装时就提前做好,参考我的安装文档:
  http://ywzhou.blog.运维网.com/2785388/1579165
  

  3、客户端测试
  以管理员身份运行CMD,cd到c:\zabbix目录,输入脚本文件名,回车:
http://s3.运维网.com/wyfs02/M02/53/A9/wKiom1RtUIrCYNOqAAMrrX_vtC8264.jpg
  

  4、服务端测试
# /usr/local/zabbix/bin/zabbix_get -s 10.188.1.46 -k servicestatehttp://s3.运维网.com/wyfs02/M00/53/A7/wKioL1RtUQPArH_TAAQndBLJxs4920.jpg
  注意:图中Visual Studio Team Foundation后的中文会显示乱码,后面会说明。
  

  5、在Windows模板中创建自动监控规则
http://s3.运维网.com/wyfs02/M02/53/A7/wKioL1RtUQOgUfjrAAEeQuwJDM0933.jpg
  

  6、创建Items原型
http://s3.运维网.com/wyfs02/M02/53/A9/wKiom1RtUIvyFK4MAAFdQZMAwKs490.jpg
  

  7、创建触发器原型
http://s3.运维网.com/wyfs02/M00/53/A7/wKioL1RtUQOjMsr8AAFjaKIrlew835.jpg
  

  8、查看监控主机的自动发现规则
http://s3.运维网.com/wyfs02/M00/53/A9/wKiom1RtUIuxbV0QAALUCsbpbfk374.jpg
  说明:Agent服务重复了一次,不用管,zabbix不添加重复的ITEM。
  

  9、查看服务自动监控结果
http://s3.运维网.com/wyfs02/M01/53/A7/wKioL1RtUQOxkc6NAAcTGyHcORg540.jpg
  

  10、查看最近返回的值
http://s3.运维网.com/wyfs02/M01/53/A9/wKiom1RtUIyD2QUhAAUKo1jDuDE700.jpg
  

  结论:自动发现端口和服务会添加大量的ITEMS,因此不建议在模板中添加GRAPH,并且最好创建模板时新建端口组和服务组,方便查看时过滤;将一些不重要的服务的触发器禁用,否则会频烦收到邮件报警。
  另外中文乱码问题参考:
  http://ywzhou.blog.运维网.com/2785388/1580144
  




页: [1]
查看完整版本: Zabbix监控(九):自动监控windows服务