使用zabbix自動發現功能實現服務埠自動發現及監控
系統: centos 7.6
zabbix server version: 4.0.10
1. 在/etc/zabbix/zabbix_agent.d/下建立userparameter_tcp_port.conf內容如下
userparameter=port.alert,/etc/zabbix/alertscripts/lld_port.py
2. 在/etc/zabbix/alertscripts下建立lld_port.py埠發現指令碼
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import json
import socket
def get_host_ip():
try:
s = socket.socket(socket.af_inet, socket.sock_dgram)
s.connect(('114.114.114.114', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
ip = get_host_ip()
os.environ['ip'] = str(ip)
cmd1 = os.popen("""netstat -nlpt | grep -v -w - | grep -v rpc | awk -f "[ :]+" ''""")
cmd2 = os.popen("""netstat -nlpt | grep -po ':::\k\d+'""")
ports =
tmp_ports =
new_ports =
for cmd in cmd1,cmd2:
for port in cmd.readlines():
for port in tmp_ports:
if port not in new_ports:
for i in new_ports:
ports += [':i}]
print json.dumps(, sort_keys=true, indent=4, separators=(',', ':'))
3. 在zabbix管理頁面匯入自動發現模板(此模板為主動監控模板)
4. 重啟zabbix agent。
5. 主機關聯監控模板。
zabbix自動發現mysql埠並監控
因為我們是遊戲業務,要用到mysql,乙個伺服器上面跑多個mysql例項也是很正常。如果單獨手動一台臺修改agent.conf,新增web監控,太費時費力。所以就想的要用zabbix 的自動發現來監控 root test cat etc zabbix alertscripts zabbix disc...
zabbix自動發現埠
通過批量實現自動發現埠,避免傻傻的乙個乙個新增 使用zabbix的discovery功能來實現監控。注意 自動發現埠,需要在sysctl.conf中修改下系統自動開啟埠的範圍如果不修改,net.ipv4.ip local port range 10240 65535會導致自動發現的埠有系統自動開啟的...
Zabbix 自動發現 自動註冊
zabbix 為使用者提供了高效靈活的網路自動發現功能,有以下優點 ip 範圍 可用的外部服務 ftp ssh web pop3 imap tcp 等 來自 zabbix 客戶端的資訊 僅支援未加密模式 來自 snmp 客戶端的資訊 不支援 發現網路拓撲 網路發現由兩個階段組成 發現和動作 原理 z...