File: //usr/local/qcloud/monitor/barad/plugin/collector/metal/sysm.py
import sys
import os,time
sys.path.append(os.getcwd() + '/../../../comm/')
import constant
from plugin_base import VmBaseCollector
from utils.collect_tool import SysCollect
from utils.metric_handler import MetricHandler
class SysCollector(VmBaseCollector):
def init(self):
self.set_frequency(10)
self.collector = SysCollect()
def do_collect(self):
(reboot, curr_boot) = self.collector.get_boot_time()
if reboot:
timestamp = int(time.time())
dim = [
{"key": "uuid", "value": self.get_vm_uuid()}
]
event_metric = {"version": 1, "Action": "SendEventAlarm", "caller": "cvm", "callee": "QCMonitor",
"productName": "cvm", "timestamp": timestamp, "occurTime": timestamp,
"dimensions": dim}
event = {"eventName": "guest_reboot", "status": 1, "additionalMsg": []}
data = {'sender': 'event_sender', 'datas': dict(event_metric, **event)}
self.put_data(data)
def main():
collector = SysCollector()
collector.init()
collector.collect()
collector.dump_data()
if __name__ == '__main__':
main()