日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

          歡迎訪問(wèn) 生活随笔!

          生活随笔

          當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

          python

          从Python脚本判断服务器不可达,到Zabbix报警

          發(fā)布時(shí)間:2025/3/19 python 34 豆豆
          生活随笔 收集整理的這篇文章主要介紹了 从Python脚本判断服务器不可达,到Zabbix报警 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

          1、Python腳本獲取不可達(dá)服務(wù)器的IP:

          ? ? 腳本基于Python3.3.6,Python2.x版本的queue模塊應(yīng)該是Queue,導(dǎo)入模塊時(shí):"from Queue import Queue"。

          ? ? 通過(guò)簡(jiǎn)單的ping命令判斷主機(jī)是否可達(dá)。腳本會(huì)讀取/etc/zabbix/scripts/iplist.txt文件中的內(nèi)容,文件中每個(gè)IP占用一行,允許有“#”開(kāi)頭的注釋行內(nèi)容。

          #!/usr/bin/python #-*-?coding:?utf-8?-*- from?__future__?import?print_function import?re import?subprocess import?threading from?queue?import?Queue from?queue?import?Emptydef?is_reachable(ip):'''根據(jù)ping命令的返回值,判斷IP是否可以ping通。如果返回值不是0,說(shuō)明不通,輸出該IP'''if?subprocess.getstatusoutput('ping?-c?1?{0}'.format(ip))[0]?!=?0:print(ip,end=',')def?unreachable_ip(ip_queue):'''不用等待,從IP隊(duì)列中取出IP,調(diào)用is_reachable函數(shù),直到隊(duì)列中的內(nèi)容為空'''try:while?True:ip?=?ip_queue.get_nowait()is_reachable(ip)except?Empty:passdef?get_unreachable_ip(filename,?ip_queue,?threads):'''從iplist文件中獲取IP,加入到隊(duì)列中。創(chuàng)建5個(gè)線(xiàn)程調(diào)用unreachable_ip函數(shù)'''with?open(filename,?'rt')?as?fin:for?line?in?fin:if?line?and?not?re.match('#',?line):ip_queue.put(line.split('\n')[0])for?i?in?range(5):thr?=?threading.Thread(target=unreachable_ip,?args=(ip_queue,))thr.start()threads.append(thr)for?thr?in?threads:thr.join()if?__name__?==?'__main__':filename?=?'/etc/zabbix/scripts/iplist.txt'ip_queue?=?Queue()threads?=?[]get_unreachable_ip(filename,?ip_queue,?threads)


          2、Zabbix報(bào)警:

          ? ? 已經(jīng)可以通過(guò)腳本獲取到不可達(dá)主機(jī)的IP,怎樣讓Zabbix獲取這些IP呢?

          ? ? 如果使用Zabbix的zabbix agent模式獲取的話(huà),因?yàn)閜ing不可達(dá)的IP時(shí),返回內(nèi)容會(huì)有延遲,這樣可能會(huì)因?yàn)閆abbix執(zhí)行腳本超時(shí)導(dǎo)致item不可用。我使用zabbix trapper向zabbix server發(fā)送數(shù)據(jù)。

          • ? ? 首先創(chuàng)建item,需要注意的是“Type of information”,如果選擇“Numeric”會(huì)報(bào)類(lèi)似于“value not supported”的錯(cuò)誤。item設(shè)置如下圖:


          • ? ? 使用zabbix_sender命令向zabbix server發(fā)送數(shù)據(jù):

          ? ? 選項(xiàng):

          ? ? ? ? -s --host host:指定主機(jī)名,IP和DNS不可用。agent的配置文件中定義或者zabbix的web頁(yè)面上。以下命令中,因?yàn)橹苯釉趜abbix server上執(zhí)行的腳本,所以-s使用了“Zabbix server”;

          ? ? ? ??-z --zabbix-server server:zabbix server的主機(jī)名或IP地址;

          ? ? ? ? -k?--key key:item中的key;

          ? ? ? ? -o?--value value:item中key的value,這里使用腳本的結(jié)果作為value。value不支持多行內(nèi)容,所以在腳本is_reachable函數(shù)中,將print結(jié)束符指定為“,”。

          #?/usr/local/zabbix/bin/zabbix_sender?-s?"Zabbix?server"?-z?127.0.0.1?-k?"ip_unreachable"?-o?`/etc/zabbix/scripts/test_ping_new.py` info?from?server:?"processed:?1;?failed:?0;?total:?1;?seconds?spent:?0.000038" sent:?1;?skipped:?0;?total:?1

          ? ??

          • 設(shè)定一個(gè)定時(shí)任務(wù),每隔幾分鐘執(zhí)行一次zabbix_sender命令,向zabbix server發(fā)送數(shù)據(jù)。


          • 設(shè)置觸發(fā)器:

          ? ? 設(shè)置觸發(fā)器表達(dá)式(Expression),我選擇“No date received during period of time T”,時(shí)間為5分鐘,初始值是“0”,如下圖:?

          ??

          ? ? ?可以在Trigger的Name中通過(guò){ITEM.VALUE}獲取item的值,Trigger設(shè)置如下圖:


          ? ? 下圖是測(cè)試時(shí),收到的一條報(bào)警短信:


          3、對(duì)比:

          ? ? 下面是很久之前寫(xiě)的一個(gè)shell腳本,循環(huán)ping主機(jī),因?yàn)槭且粋€(gè)IP完成之后,再去ping下一個(gè)IP,循環(huán)效率很低:

          #!/bin/bash while?true doi=0ip_array=()for?IP?in?$(cat?/etc/zabbix/scripts/login_iplist.txt?|?grep?-v?"^#")doKEY=$(ping?$IP?-c?5?|?grep?"ttl"?|?wc?-l)if?[?$KEY?-eq?0?]thenip_array[$i]=$IPi=$((?$i?+?1?))fidoneif?[?${#ip_array[@]}?-ne?0?]then/usr/local/zabbix/bin/zabbix_sender?-s?"Zabbix?server"?-z?127.0.0.1?-k?"test_ping"?-o?"${ip_array[*]}?unreachable"fi done


          轉(zhuǎn)載于:https://blog.51cto.com/13568014/2117012

          總結(jié)

          以上是生活随笔為你收集整理的从Python脚本判断服务器不可达,到Zabbix报警的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

          如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

          主站蜘蛛池模板: 欧美精品在线观看 | 男女啪啪无遮挡 | 国产精品欧美亚洲 | sm久久捆绑调教精品一区 | 国产日韩在线免费观看 | 国产成人精品综合久久久久99 | 久久泄欲网 | 国产农村av | 国产在线网站 | 99热在线免费 | 色老头av| 福利网站在线观看 | 丝袜视频在线 | av香港经典三级级 在线 | 中文字幕成人在线观看 | av图区| 天天干天天舔天天操 | 丰满少妇一级片 | 污视频软件在线观看 | 午夜影院在线观看18 | 成人av动漫 | 亚洲熟妇无码av | 久久国产99 | 国产成人精品综合在线观看 | 少妇被爽到高潮动态图 | 激情免费av| 男生插女生的视频 | 91精品视频在线 | 成年人黄色免费视频 | www在线看片| 日本男男激情gay办公室 | 亚洲中午字幕 | 日本一级做a爱片 | 伊人网综合在线 | av天天看| 国产精品久久久久久久久久小说 | 99久久精品日本一区二区免费 | 日本老小玩hd老少配 | 欧美人与性囗牲恔配 | 国产精品一区二区人人爽 | www.com色| 欧美日韩精品一区二区 | 毛片美女 | 艳母日本动漫在线观看 | 色久综合 | 男人天堂亚洲天堂 | 99久久精品国产色欲 | 亚洲一区二区观看播放 | 精品国产麻豆 | 久草国产精品视频 | 国产区网址 | 久久精品在线播放 | 久久美女视频 | 欧美亚洲国产视频 | 一级片播放 | 国产91免费观看 | 日韩高清不卡 | 免费一级全黄少妇性色生活片 | 91精品国产综合久久久蜜臀图片 | 最近中文字幕av | 九九九免费视频 | 国产tv在线观看 | 日日摸日日碰夜夜爽av | 黄色网战入口 | 国产大片一区二区三区 | 日日噜 | 日本午夜电影网站 | 国产精品久久久亚洲 | 视频成人免费 | 久久免费视频99 | 色吧婷婷 | 一本大道久久精品 | 久久久久麻豆 | wwwwyoujizzcom| 下面一进一出好爽视频 | 天堂网2018 | 国产一区二区视频网站 | 日本黄色三级网站 | 人妻熟女一区二区aⅴ水 | 最新中文字幕在线观看视频 | 91手机在线 | 最新av观看 | 亚洲成人精品在线 | 聚色av| 综合激情久久 | 免费色网| 亚洲国产精品无码久久 | 色综合久久久久综合体桃花网 | 蜜桃成人无码区免费视频网站 | 日本激情电影 | av在线资源网站 | 色av一区二区 | 天堂а√在线中文在线鲁大师 | 中文字幕一区二区三区5566 | 少妇激情一区二区三区 | 初尝情欲h名器av | 魔女鞋交玉足榨精调教 | 男男黄网站 | 日韩黄网站 |