欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁(yè) > 知識(shí)庫(kù) > python自動(dòng)統(tǒng)計(jì)zabbix系統(tǒng)監(jiān)控覆蓋率的示例代碼

python自動(dòng)統(tǒng)計(jì)zabbix系統(tǒng)監(jiān)控覆蓋率的示例代碼

熱門標(biāo)簽:西藏智能外呼系統(tǒng)五星服務(wù) 工廠智能電話機(jī)器人 千陽(yáng)自動(dòng)外呼系統(tǒng) 400電話申請(qǐng)服務(wù)商選什么 清遠(yuǎn)360地圖標(biāo)注方法 江蘇客服外呼系統(tǒng)廠家 原裝電話機(jī)器人 平頂山外呼系統(tǒng)免費(fèi) 在哪里辦理400電話號(hào)碼

腳本主要功能:

1)通過zabbix api接口采集所有監(jiān)控主機(jī)ip地址;

2)通過cmdb系統(tǒng)(藍(lán)鯨)接口采集所有生產(chǎn)主機(jī)IP地址、主機(jī)名、操作系統(tǒng)、電源狀態(tài);

3)以上2步返回?cái)?shù)據(jù)對(duì)比,找出未監(jiān)控主機(jī)ip地址,生成csv文件;

4)發(fā)送郵件。

腳本如下:

#!/usr/bin/python
#coding:utf-8

import requests
import json
import re
import time
import csv
from collections import Counter
import smtplib
from email.header import Header
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

# 從cmdb系統(tǒng)獲取虛擬化生產(chǎn)主機(jī)ip
def getCmdbProdHost():
  url1 = 'http://paas.xxxx.com/api/c/compapi/v2/cc/search_inst/'
  data1 = {
    "bk_app_secret": "**********************",
    "bk_app_code": "bk_cmdb",
    "bk_username": "admin",
    "bk_obj_id": "host",
    "page": {
      "start": 0,
      "limit": 2000,
      "sort": "bk_inst_id"
    },
    "fields": {
      "host": [
        "bk_host_id",
        "bq_hostname",
        "bk_host_innerip",
        "bq_hosttype",
        "powerState",
        "bq_osname"
      ]
    }  }
  r1 = requests.post(url1, json=data1)
  response_dict1 = r1.json()
  #print(response_dict1)
  prodip_dict = {}
  testip = "10.210.xx|10.210.xx|10.210.xx|10.210.xx|xx.xx.xx"   #測(cè)試網(wǎng)段ip
  for i in response_dict1.get('data')["info"]:
    if i["bq_hosttype"] == "t2" and i["powerState"] == "poweredOn" and not re.search("UAT", i["bq_hostname"]) and not re.match(testip, i["bk_host_innerip"]):
      prodip_dictkey = i["bk_host_innerip"]
      #prodip_dictvalue = i["bq_hostname"]
      prodip_dictvalue = [i["bq_hostname"], i["bq_osname"], i["powerState"]]
      prodip_dict[prodip_dictkey] = prodip_dictvalue
  return prodip_dict

#獲取zabbix系統(tǒng)登錄認(rèn)證
def getZabToken(url, post_headers, url_user, url_password):
  post_data = {
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
      "user": url_user,
      "password": url_password
    },
    "id": 1
  }
  ret = requests.post(url, data=json.dumps(post_data), headers=post_headers)
  return json.loads(ret.text).get("result")

def getZabHost(url,post_headers,token):
  data = {
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
      "output": [
        "hostid",
        "host"
      ],
      "selectInterfaces": [
        "interfaceid",
        "ip"
      ]
    },
    "id": 2,
    "auth": token,
  }
  request = requests.post(url, headers=post_headers, data=json.dumps(data))
  dict = json.loads(request.content)
  zab_ip = []
  for i in dict['result']:
    zab_ip.append(i['host'])
  return zab_ip

def compare(zabhostlist, cmdbhostdict):
  zabbixiplist = Counter(zabhostlist)
  cmdbiplist = Counter(list(cmdbhostdict.keys()))
  nomonip = {}
  for i in list((cmdbiplist - zabbixiplist).elements()):
    nomonip_value = cmdbhostdict[i]
    nomonip_key = i
    nomonip[nomonip_key] = nomonip_value
  print(nomonip)
  return nomonip

class writeToCsv(object):
  def __init__(self,data,info):
    self.data = data
    self.info = info

  def write_to_csv(self):
    rows = self.data
    info = self.info
    csvfile = "zabbix未監(jiān)控生產(chǎn)系統(tǒng)IP列表" + info + time.strftime('_%Y%m%d%H%M%S', time.localtime(time.time())) + ".csv"
    # print(csvfile)
    # 創(chuàng)建文件對(duì)象
    f = open(csvfile, 'w', newline='')

    # 通過文件創(chuàng)建csv對(duì)象
    csv_write = csv.writer(f)

    # writerow: 按行寫入, writerows: 是批量寫入
    # 寫入數(shù)據(jù) 取列表的第一行字典,用字典的key值做為頭行數(shù)據(jù)
    # csv_write.writerow(rows[0].keys())
    csv_write.writerow(["未監(jiān)控生產(chǎn)IP", "主機(jī)名", "操作系統(tǒng)", "電源狀態(tài)"])

    # 循環(huán)里面的字典,將value作為數(shù)據(jù)寫入進(jìn)去
    ip = list(rows.keys())
    hostname = list(rows.values())
    for row in range(len(ip)):
      csv_write.writerow([ip[row], hostname[row][0], hostname[row][1], hostname[row][2]])

    # 關(guān)閉打開的文件
    f.close()
    print("讀寫完成:",csvfile)
    return csvfile

def sendmail(csvfile,receiver):
  sender = 'xxx@xxx.com'
  smtpserver = 'xx.xx.xx.xx'
  username = 'xxx@xxx.com'
  password = '******'
  mail_title = 'zabbix未監(jiān)控生產(chǎn)主機(jī)IP地址'

  # 創(chuàng)建一個(gè)帶附件的實(shí)例
  message = MIMEMultipart()
  message['From'] = sender
  message['To'] = ','.join(receiver)
  message['Subject'] = Header(mail_title, 'utf-8')

  # 郵件正文內(nèi)容
  message.attach(MIMEText('每日自動(dòng)統(tǒng)計(jì)監(jiān)控覆蓋率', 'plain', 'utf-8'))

  # 構(gòu)造附件
  att1 = MIMEApplication(open(csvfile, 'rb').read()) # 打開附件
  att1.add_header('Content-Disposition', 'attachment', filename=csvfile) # 為附件命名
  message.attach(att1)

  smtpObj = smtplib.SMTP_SSL() # 注意:如果遇到發(fā)送失敗的情況(提示遠(yuǎn)程主機(jī)拒接連接),這里要使用SMTP_SSL方法
  smtpObj.connect(smtpserver)
  smtpObj.login(username, password)
  smtpObj.sendmail(sender, message['To'].split(','), message.as_string())
  print("郵件發(fā)送成功!!!")
  smtpObj.quit()

if __name__ == '__main__':
  url = 'http://xx.xx.xx.xx/api_jsonrpc.php'         #zabbix監(jiān)控系統(tǒng)接口地址
  post_headers = {'Content-Type': 'application/json'}
  url_user = "Admin"
  url_passwd = "******"
  auth = getZabToken(url,post_headers,url_user,url_passwd)
  zabhostlist = getZabHost(url,post_headers,auth)       #獲取zabbix監(jiān)控主機(jī)ip地址列表
  cmdbhostdict = getCmdbProdHost()               #獲取cmdb主機(jī)地址列表
  #zabbix監(jiān)控主機(jī)和cmdb主機(jī)做比較
  data = compare(zabhostlist, cmdbhostdict)

  #導(dǎo)出csv文件
  info = '統(tǒng)計(jì)'
  write = writeToCsv(data, info)
  resp = write.write_to_csv()
  receiver = ['hushanshan2@bngrp.com']   #y郵件接收人,多人用逗號(hào)區(qū)分開
  sendmail(resp, receiver)

到此這篇關(guān)于python自動(dòng)統(tǒng)計(jì)zabbix系統(tǒng)監(jiān)控覆蓋率的文章就介紹到這了,更多相關(guān)python統(tǒng)計(jì)zabbix內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python系統(tǒng)監(jiān)控模塊psutil功能與經(jīng)典用法分析
  • Python使用psutil獲取進(jìn)程信息的例子
  • Python中psutil的介紹與用法
  • python使用psutil模塊獲取系統(tǒng)狀態(tài)
  • Python psutil模塊簡(jiǎn)單使用實(shí)例
  • Python使用psutil庫(kù)對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控的方法

標(biāo)簽:白城 日照 錦州 股票 西安 天水 隨州 安慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python自動(dòng)統(tǒng)計(jì)zabbix系統(tǒng)監(jiān)控覆蓋率的示例代碼》,本文關(guān)鍵詞  python,自動(dòng),統(tǒng)計(jì),zabbix,系統(tǒng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python自動(dòng)統(tǒng)計(jì)zabbix系統(tǒng)監(jiān)控覆蓋率的示例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python自動(dòng)統(tǒng)計(jì)zabbix系統(tǒng)監(jiān)控覆蓋率的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    欧美国产精品中文字幕| 99视频有精品| 黄色a一级视频| 欧美日韩一二三| 亚洲精品老司机| 91在线视频观看| 色天使色偷偷av一区二区| 国产精品福利一区| 成人午夜碰碰视频| 欧美黑人性猛交xxx| 国产精品毛片a∨一区二区三区 | 中文字幕在线观看2018| 久久久精品免费网站| 国产专区欧美精品| 天天干天天操天天拍| 国产欧美日韩视频在线观看| 国产乱人伦偷精品视频不卡| 我要看一级黄色录像| 国产精品久久久久久户外露出| 国产成人午夜精品影院观看视频| 成人在线观看小视频| 亚洲天堂精品视频| 国产精品欧美性爱| 在线不卡中文字幕播放| 免费观看成人av| 免费网站在线高清观看| 国产拍揄自揄精品视频麻豆| 成人综合婷婷国产精品久久| 色视频一区二区| 亚洲超丰满肉感bbw| 中文精品在线观看| 国产日韩av一区| 成人免费视频网站入口::| 国产亚洲精品aa午夜观看| 国产在线日韩欧美| 91杏吧porn蝌蚪| 亚洲自拍偷拍综合| 亚洲精品理论片| 国产日韩欧美麻豆| 99re热视频精品| 这里只有精品99re| 国产真实乱子伦精品视频| 国产一区二区播放| 亚洲第一会所有码转帖| 久久美女免费视频| 1024亚洲合集| 2一3sex性hd| 国产校园另类小说区| 99精品视频免费在线观看| 制服视频三区第一页精品| 国产在线精品一区二区| 成人永久aaa| 欧美影视一区在线| 美腿丝袜一区二区三区| 日韩av手机在线免费观看| 亚洲午夜久久久久中文字幕久| theav精尽人亡av| 中文字幕第一区| 国产精品成人免费一区久久羞羞| 欧美精品一区二区高清在线观看| 丁香亚洲综合激情啪啪综合| 51午夜精品国产| 国产成人aaa| 在线综合+亚洲+欧美中文字幕| 国产一区二区三区四区在线观看 | 欧美一区二区三区粗大| 一区二区在线免费观看| 欧美丰满美乳xxⅹ高潮www| 一区二区三区视频在线看| 亚洲色成人网站www永久四虎| 亚洲视频你懂的| 鲁丝一区二区三区| 一区二区三区国产| 免费成人深夜蜜桃视频| 丝袜美腿一区二区三区| 国产一区二区视频在线观看免费| 视频一区在线视频| 色欧美片视频在线观看在线视频| 蜜桃精品视频在线| 欧美日韩中文精品| 国产高清一区日本| 日韩精品一区二区三区中文精品| 不卡av免费在线观看| 亚洲精品一区二区三区在线观看| 性生活在线视频| 日本一区免费视频| 日本xxx在线播放| 一区二区三区国产精品| 男人av资源站| 久久国产视频网| 欧美男生操女生| www.色精品| 日本一区二区三区国色天香 | 手机看片国产精品| 欧美国产精品专区| 久久精品国产亚洲av久| 亚洲成人www| 在线视频你懂得一区| 粉嫩高潮美女一区二区三区| 精品久久久久久亚洲综合网| 日本国产在线视频| 一区二区理论电影在线观看| 疯狂试爱三2浴室激情视频| 黄网站免费久久| 日韩免费在线观看| 一区二区免费在线观看视频| 一片黄亚洲嫩模| 91国内精品野花午夜精品| 丁香一区二区三区| 中文在线一区二区| 午夜黄色福利视频| 狠狠狠色丁香婷婷综合激情| 欧美变态凌虐bdsm| 黄色工厂在线观看| 日韩中文字幕av电影| 欧美电影在哪看比较好| 国产xxx在线观看| 亚洲自拍欧美精品| 在线观看视频一区二区| 99久久99久久精品免费看蜜桃| 中文字幕中文在线不卡住| 国产高清视频免费在线观看| 国产精品1区二区.| 国产欧美日韩视频在线观看| 欧美xxxooo| 国产成人激情av| 国产精品国产馆在线真实露脸| 在线观看黄网址| 成人福利在线看| ...中文天堂在线一区| 色呦呦网站一区| 91在线观看地址| 亚洲国产中文字幕| 69久久99精品久久久久婷婷| 人妻丰满熟妇aⅴ无码| 免费av成人在线| 久久你懂得1024| www.xx日本| 成人av在线资源| 亚洲激情五月婷婷| 欧美日韩国产大片| 免费成人深夜夜行p站| 久久99蜜桃精品| 国产亚洲欧美日韩在线一区| 国产免费美女视频| 99久久久国产精品| 亚洲风情在线资源站| 日韩一区二区三区电影| 久久久久久亚洲中文字幕无码| 韩国一区二区视频| 国产精品福利一区二区三区| 欧美亚洲自拍偷拍| 亚洲av成人片色在线观看高潮 | 受虐m奴xxx在线观看| 国产精品中文欧美| 亚洲三级理论片| 在线播放一区二区三区| 国产ts在线播放| 成人免费福利片| 亚洲丰满少妇videoshd| 精品国产制服丝袜高跟| 欧美爱爱免费视频| 国产a√精品区二区三区四区| 免费在线欧美视频| 国产精品色一区二区三区| 欧洲精品在线观看| 亚洲欧美色图视频| 国产91综合一区在线观看| 亚洲一区二区在线免费观看视频| 日韩欧美中文一区| 国产传媒免费在线观看| 国产精品91av| 韩国中文字幕2020精品| 亚洲乱码日产精品bd| 日韩精品一区二区三区蜜臀| 91精品国产闺蜜国产在线闺蜜| 91九色蝌蚪porny| 国产麻豆精品在线观看| 亚洲综合免费观看高清完整版在线| 日韩一区二区三区高清免费看看| 日韩av手机在线免费观看| 妖精视频一区二区| 国产精品99久久久久| 亚洲国产精品久久一线不卡| 久久久久久久综合狠狠综合| 欧美在线观看一区二区| 日韩影视一区二区三区| 4438x全国最大成人| 国产九色精品成人porny| 亚洲一本大道在线| 国产欧美一区二区三区在线老狼| 欧美日韩精品欧美日韩精品一| 2019男人天堂| 久草视频福利在线| 丁香另类激情小说| 美腿丝袜亚洲综合| 亚洲国产综合色| 国产精品高清亚洲| 久久亚洲二区三区| 91精品国产综合久久久久|