CMDB機櫃平臺結合zabbix告警展示

 最近看了劉天斯老師的機櫃展示平臺,非常絢麗,而且有大屏顯示的話也是能夠體現運維價值的,這裏就說下我最近在做的CMDB平臺的一些數據:

CMDB數據:

 機房,機櫃,機櫃電源,機櫃位置,機房合同,合同到期時間,機房聯繫人。

 服務器,CPU,硬盤,是否虛擬化,宿主機,raid類型,內存。

 資產ID,上架日期,下架記錄,服務器代理商,代理商聯繫方式,服務器到保日期。

 IP地址,MAC地址,業務線,產品線,操作系統。


通信這塊主要技術json-rpc,然後提供Api接口給程序調用,按照固定格式導入即可;硬件固定信息,如IP,MAC,硬盤等信息,通過自動採集的API POST方式加入到數據表。像機房信息,機櫃之類的可以給機房抄送一份excel表格然後直接導入即可。


  機房服務器展示:通過把劉天斯老師機櫃暫時平臺的前端拿過來,然後結合到表結構裏面展示;在故障告警的時候,留有一個告警接口的API,通過zabbix 把告警數據發送到運維平臺;運維平臺入庫告警展示:下面是前端簡單展示效果,具體操作如下:


wKioL1fWYPLR76bUAACZ7urAiuo679.png


前端機櫃生成效果顯示:閃爍效果直接獲取廠商的gif文件調用即可,機櫃命名方式比如下面的:5-6,5-7就分別表示第五排第六,第七個機櫃:


wKiom1fWYUWze3u_AAGD2oFdS4g571.png


上面是正常顯示,當出現故障時候:就結合zabbix 告警腳本,發送過去給接口,故障如下:


wKiom1fWYzTg_MjQAAAyh_p45IM220.png

機房展示效果:


wKioL1fWYl7AB6ZsAAGQI8GmX6o434.png


鼠標移動到機櫃就顯示服務器的相關信息:

wKiom1fWY37iruSNAAFt8tVLuXU969.png


zabbix 的告警腳本並且發送狀態到運維平臺,並且更改服務器狀態:


[root@controller alertscripts]# cat zabbix_alert.py 
#!/usr/bin/python
#coding:utf-8 
import requests,json 
import smtplib
from email.mime.text import MIMEText
import sys 
 
#郵箱服務器地址
mail_host = 'smtp.163.com'
#郵箱用戶名
mail_user = '[email protected]'
#郵箱密碼
mail_pass = 'xxxxxx123456'
mail_postfix = '163.com'
 
def send_mail(to_list,subject,content):
    me = mail_user+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content)
    msg['Subject'] = subject
    msg['From'] = me
    msg['to'] = to_list 
 
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False
def alert(message):
    headers = {"Content-Type": "application/json"}
    data = {}
    res = {}
    data['status'] = message 
    res['params']=data
    res['jsonrpc'] = "2.0"
    res["id"] = 1
    res["method"]= "alert.turn"
    url = "http://192.168.63.216:2000/api"
    r = requests.post(url, headers=headers,json=res)
 
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
    alert(sys.argv[2])


後端返回狀態改變之後直接入庫修改,我這邊只是判斷是否主題是PROBLEM或者OK:


前端代碼可以按照劉天斯老師的然後自己修改成jquery即可,前端可以去自由發揮,如下簡單樣例:


<table border="0" cellpadding="1" cellspacing="0" height="440" width="99%">    
<tbody><tr>    
<td class="jgtable" align="center" height="30" valign="bottom"><font class="jgtitle">01</font></td></tr>      
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
<tr>    
<td class="jgtable" align="center" height="30" valign="bottom">&nbsp;    
</td>    
</tr>    
</tbody></table>

   


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章