nagios_extractor_operator.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:TAC-Airflow-Plugin 作者: vipul-tm 项目源码 文件源码
def get_from_socket(site_name,query,socket_ip,socket_port):
        """
        Function_name : get_from_socket (collect the query data from the socket)

        Args: site_name (poller on which monitoring data is to be collected)

        Kwargs: query (query for which data to be collectes from nagios.)

        Return : None

        raise
             Exception: SyntaxError,socket error
            """
        #socket_path = "/omd/sites/%s/tmp/run/live" % site_name
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        #s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        machine = site_name[:-8]
        s.connect((socket_ip, socket_port))
        #s.connect(socket_path)
        s.send(query)
        s.shutdown(socket.SHUT_WR)
        output = ''
        wait_string= ''
        while True:
            try:
                out = s.recv(100000000)
                except socket.timeout,e:
                err=e.args[0]
                print 'socket timeout ..Exiting'
                if err == 'timed out':
                    sys.exit(1) 

                if not len(out):
                break;
                output += out

        return output
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号