HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/local/qcloud/monitor/barad/comm/receiver/monitor_agent.py
import socket,json,struct,time
from base_client import BaseClient
import constant

class MonitorClient(BaseClient):
    def __init__(self, reactor, sock, addr, event, logger, router):
        super(MonitorClient, self).__init__(reactor, sock, event, logger, router)

    def execute_command(self, json_data):
        ARISE_COLLECT = 0x01
        if json_data.has_key("cmd"):
            cmd = json_data.get("cmd")
            self.logger().info("valid command : %s" % json_data)
            if cmd == ARISE_COLLECT :
                msg_to_executor = { 'collector' : 'host.vsHostBaseInfo', 'method' : 'get_child_state' }
                self.router().route(constant.QUEUE_TO_EXECUTOR, msg_to_executor)
        else:
            self.logger().error("command : %s has no key 'cmd'" % json_data)

    def decode(self, buffer):
        try:
            json_data = json.loads(buffer)
            self.execute_command(json_data)
            data_len = len(buffer)
            return data_len
        except Exception,e:
            self.logger().error('decode error');
            return -1;