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()
posted @ 2015-04-21 18:09  小米飞猫  阅读(297)  评论(0编辑  收藏  举报