discovery port for redis server
zabbix自动发现redis端口脚本,文中匹配部分根据实际情况自己修改吧,哎..自己的py太弱了需要加强。=_=
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import subprocess
import json
import re
def discovery_port():
global tmpServiceList, tmpService, tmpVal, port, ports
args = 'netstat -tnpl'
tmpServiceList = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE).communicate()[0].split('\n')
del tmpServiceList[0:2]
ports = []
for tmpService in tmpServiceList:
if len(tmpService) != 0:
tmpVal = tmpService.split()
del tmpVal[0:3]
del tmpVal[1:3]
if re.search('redis-server$', tmpVal[1]):
port = tmpVal[0].split(":")
ports.append({'{#REDIS_PORT}': port[1]})
print json.dumps({'data': ports}, indent=4, separators=(',', ':'))
def main():
discovery_port()
if __name__ == "__main__":
main()