zabbix时间监控

Posted 运维讲堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix时间监控相关的知识,希望对你有一定的参考价值。

本次使用的是zabbix server的外部命令监控,也就是说执行脚本监控的动作是由zabbixserver来做的.所以我们需要将脚本放置到zabbix server指定的目/usr/lib/zabbix/externalscripts/.

 

check_time.py

#!/usr/bin/env python

#--*--coding:utf-8--*--

#Author:jacky

 

 

from datetime import datetime

import time

import sys

import subprocess

 

agent=sys.argv[1]

oid=".1.3.6.1.2.1.25.1.2.0"

fail=-1 #返回agent超时值

timeout=2 #设置超值阀值

sleep_time=0.1 #while循环频率

 

def get_agent_time(cmd, timeout=60):

    p= subprocess.Popen(cmd, stderr=subprocess.STDOUT, stdout=subprocess.PIPE,shell=True)

   t_beginning = time.time()

   seconds_passed = 0

   while True:

       if p.poll() is not None:

           break

       seconds_passed = time.time() - t_beginning

       if timeout and seconds_passed > timeout:

           p.terminate()

           return fail

       time.sleep(sleep_time)

   return p.stdout.read()

 

 

def unix_time(arg_time):

   un_time = time.mktime(arg_time.timetuple())

   return un_time

 

 

defdif_time(current_time_ux,agent_time_ux):

   return abs(int(current_time_ux) - int(agent_time_ux))

 

if __name__ == "__main__":

   res = get_agent_time(cmd='/usr/bin/snmpget -v 2c -c opdevos {0}{1}'.format(agent,oid),timeout=timeout)

   if res != fail:

       agent_time = res.split(" ")[3].replace(",","").split(".")[0]

       agent_time = datetime.strptime(agent_time, '%Y-%m-%d %H:%M:%S')

       agent_time_ux = unix_time(agent_time)

       now_time = datetime.now()

       current_time_ux=unix_time(now_time)

       print dif_time(current_time_ux,agent_time_ux)

   else:

       print res

 

将其脚本放到zabbix server下的/usr/lib/zabbix/externalscripts/目录

 

zabbix server下手动执行脚本测试下.

看到没,121这台机器与zabbix server时间偏差202秒左右,122这台机器因为snmp没有配置对,所以返回了我定义的-1,这样对与写triiger比较方便判断.

 

创建一个名为Windows_snmp_time_check模板,添加一个item

zabbix时间监控

添加一个snmp主机

zabbix时间监控

zabbix时间监控

zabbix时间监控

查看Latest datagraph

zabbix时间监控

zabbix时间监控

接下来就需要设置trigger报警了.

zabbix时间监控

zabbix时间监控

过一会在Dashboard中就可以看到问题了.

至此结束.


以上是关于zabbix时间监控的主要内容,如果未能解决你的问题,请参考以下文章

zabbix监控代理zabbix-proxy

zabbix怎么监控hpunix

zabbix安装后怎么添加监控

Zabbix 监控服务介绍

zabbix为啥在监控菜单下的图形没有时间

zabbix监控之迁移zabbix监控