您好,登錄后才能下訂單哦!
今天因為工作需求,要在報盤機器上(windows系統)檢測與上手連接的網絡可用性,使用zabbix自身的功能并不能解決這個問題。所以一開始考慮使用python腳本調系統的ping命令來檢測
然后再使用zabbix來監控就可完成任務。
網上查了下,發現使用subprocess和shlex可以完成檢測,于是參考著整了個小腳本
#!/usr/bin/env python # -*- coding: utf-8 -*- #author:qingmiao import subprocess import shlex cmd = "ping -n 1 127.0.0.1" args = shlex.split(cmd) try: subprocess.check_call(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print "1" except subprocess.CalledProcessError: print "0"
執行后如下圖所示,檢測成功返回1,否則返回0
后來發現這種方式沒有落地成文件,不方便追蹤。試了好多方法,最終發現使用windows自帶的bat腳本就能輕松實現,驚喜不已!
把執行結果重定向到一個以時間戳命名的文件里面,里面以時間分割,便于追蹤結果。
@echo off set THISDATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2% set IP=127.0.0.1 echo %TIME:~0,8% >>D:\test\ping_result_%THISDATE%.txt (ping %IP% -n 1 | find "TTL" >>D:\test\ping_result_%THISDATE%.txt)&& echo 1 || echo 0
執行結果如下,同樣可以使用zabbix來調用這個腳本
BINGO
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。