zabbix([`z?biks])是一個基于WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;并提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
協議內容
《HEADER》 - “ZBXD\x01” (5 bytes)
《DATALEN》 - data length (8 bytes)。 1 will be formatted as 01/00/00/00/00/00/00/00 (eight bytes in HEX, 64 bit number)《DATA》
《DATA》: json格式,內容又分為主動檢查和被動檢查
為了避免Zabbix內存耗盡,Zabbix限制每個連接最多使用128M內存
被動檢查
Server request
《item key》\n
Agent response
《HEADER》《DATALEN》《DATA》[\0《ERROR》]
[]是可選的僅在不支持的items時發送
主動檢查
(1)獲取相關items的列表
Agent request
《HEADER》《DATALEN》{
“host”:“《hostname》”
}
Server response
《HEADER》《DATALEN》{
“response”:“success”,
“data”:[
{
“key”:“agent.version”,
“delay”:600,
“lastlogsize”:0,
“mtime”:0
},
{
“key”:“vfs.fs.size[/nono]”,
“delay”:600,
“lastlogsize”:0,
“mtime”:0
}
]
}
(2)發送收集的數據
Agent send
《HEADER》《DATALEN》{
“request”:“agent data”,
“data”:[
{
“host”:“《hostname》”,
“key”:“agent.version”,
“value”:“2.4.0”,
“clock”:1400675595,
“ns”:76808644
},
{
“host”:“《hostname》”,
“key”:“vfs.fs.size[/nono]”,
“state”:1,
“value”:“Cannot obtain filesystem information: [2] No such file or directory”,
“clock”:1400675595,
“ns”:78154128
}
],
“clock”: 1400675595,
“ns”: 78211329
}
Server response
《HEADER》《DATALEN》{
“response”:“success”,
“info”:“processed: 2; failed: 0; total: 2; seconds spent: 0.003534”
}
Zabbix Trapper發生在主動檢查的第二個步驟,Agent發送數據到Server(zabbix_sender),Trapper items必須事先定義好
#!/usr/bin/python
#-*- coding:utf8 -*-
__author__ = ‘pdd’
__date__ = ‘2016/11/28’
‘’‘ script simulate zabbix_sender ’‘’
import sys
import json
import time
import struct
import socket
import argparse
parser = argparse.ArgumentParser(description=‘script simulate zabbix_sender’)
parser.add_argument(‘-z’,‘--server’,dest=‘server’,action=‘store’,help=‘Zabbix server ip’)
parser.add_argument(‘-p’,‘--port’,dest=‘port’,action=‘store’,help=‘Zabbix server port’,default=10051,type=int)
parser.add_argument(‘-s’,‘--host’,dest=‘host’,action=‘store’)
parser.add_argument(‘-k’,‘--key’,dest=‘key’,action=‘store’,help=‘item key’)
parser.add_argument(‘-o’,‘--value’,dest=‘value’,action=‘store’,help=‘item value’)
args = parser.parse_args()
class Metric(object):
def __init__(self, host, key, value):
self.host = host
self.key = key
self.value = value
def __repr__(self):
result = ‘Metric(%r, %r, %r)’ % (self.host, self.key, self.value)
return result
def send_to_zabbix():
j = json.dumps
m = Metric(args.host, args.key, args.value)
clock = (‘%d’ % time.time())
metrics = ‘{“host”:%s,“key”:%s,“value”:%s,“clock”:%s}’ % (j(m.host), j(m.key), j(m.value), j(clock))
json_data = ‘{“request”:“sender data”,“data”:[%s]}’ % metrics
data_len = struct.pack(‘《Q’, len(json_data))
packet = ‘ZBXD\x01’ + data_len + json_data
try:
zabbix = socket.socket()
zabbix.connect((args.server, args.port))
zabbix.sendall(packet)
resp_hdr = zabbix.recv(13)
resp_body_len = struct.unpack(‘《Q’, resp_hdr[5:])[0]
resp_body = zabbix.recv(resp_body_len)
zabbix.close()
resp = json.loads(resp_body)
print(resp)
except:
print(‘Error while sending data to Zabbix’)
if __name__==‘__main__’:
send_to_zabbix()
Zabbix的主要優勢:
a. All-In-One:Nagios和Cacti的功能全部涵蓋。
b. 配置方便
c. 監控完備
d. 文檔完善
e. 界面直觀
整合自:CSDN、博客園、百度百科
編輯:jq
-
Web
+關注
關注
2文章
1269瀏覽量
69731 -
內存
+關注
關注
8文章
3055瀏覽量
74328 -
監視
+關注
關注
0文章
73瀏覽量
18798 -
Zabbix
+關注
關注
0文章
25瀏覽量
3387
發布評論請先 登錄
相關推薦
云端監控新體驗,打造強大的 Zabbix 主機監控解決方案
![云端監控新體驗,打造強大的 <b class='flag-5'>Zabbix</b> 主機監控解決方案](https://file1.elecfans.com//web3/M00/05/2A/wKgZO2d88n-AGtXbAAEA43MSbXE648.png)
介紹6款開源免費的網絡監控工具
![介紹6款開源免費的網絡監控工具](https://file1.elecfans.com/web1/M00/F5/C6/wKgZoWdELiWAGUPBAAAZM3iYEQU380.png)
充電樁通訊協議測試內容及方法
![充電樁通訊<b class='flag-5'>協議</b>測試<b class='flag-5'>內容</b>及方法](https://file1.elecfans.com/web1/M00/F5/B1/wKgaoWdAVzqAftr3AAa_WgYq38s354.png)
如何用zabbix監控網站性能
zabbix支持的設備類型和協議
zabbix的擴展功能與插件介紹
使用zabbix監控云服務器的方法
如何利用zabbix進行網絡監控
zabbix監控系統使用指南
zabbix監控系統的安裝與配置
AIGC生成內容的優勢與挑戰
網絡監控工具Nagios和Zabbix的功能和使用場景
![網絡監控工具Nagios和<b class='flag-5'>Zabbix</b>的功能和使用場景](https://file1.elecfans.com/web2/M00/03/47/wKgaoma7GYiAJzjjAAZD0XfhkNQ109.png)
鋇錸PLC網關快速實現三菱、西門子PLC轉MQTT協議
![鋇錸PLC網關快速實現三菱、西門子PLC轉MQTT<b class='flag-5'>協議</b>](https://file1.elecfans.com/web2/M00/00/9E/wKgaomap-6GAcIj5AAaYUC5OyZI420.png)
Modbus轉MQTT網關輕松將Modbus設備數據轉為MQTT格式,實現與云端平臺的無縫對接
![Modbus轉MQTT網關輕松將Modbus設備數據轉為MQTT格式,實現與云端平臺的無縫對接](https://file1.elecfans.com/web2/M00/FF/5C/wKgZomaogcqAShJdAAL04Z0Lw-M392.png)
IEC104轉MQTT網關支持Zabbix、阿里云、華為云、亞馬遜AWS、ThingsBoard、Ignition
![IEC104轉MQTT網關支持<b class='flag-5'>Zabbix</b>、阿里云、華為云、亞馬遜AWS、ThingsBoard、Ignition](https://file1.elecfans.com/web2/M00/FE/70/wKgZomaiDeeASOaiAAB323-LGyw873.png)
評論