def __init__(self, django_settings, connect_redis=True): self.django_settings = django_settings self.poll_interval = 3 # 每3秒进行一次全局轮询,也是主机存活监测时间 self.config_update_interval = 120 # 每120s重新从数据库加载一次配置数据 self.config_last_loading_time = time.time() self.global_monitor_dic = {} self.exit_flag = False if connect_redis: self.redis = redis_conn.redis_conn(django_settings)
def __init__(self, django_settings, connect_redis=True): self.django_settings = django_settings self.poll_interval = 0.5 self.config_update_interval = 120 self.config_last_loading_time = time.time() self.global_monitor_dic = {} self.exit_flag = False if connect_redis: self.redis = redis_conn.redis_conn(django_settings)
def __init__(self,django_settings): self.django_settings = django_settings self.redis = redis_conn.redis_conn(self.django_settings) self.alert_counters ={} #纪录每个action的触发报警次数 alert_counters = { 1: {2:{'counter':0,'last_alert':None}, 4:{'counter':1,'last_alert':None}}, #k是action id, {2:0,3:2}这里面的k是主机id,value是报警次数 #2: {2:0}, }
def __init__(self, django_settings, connect_redis=True): self.django_settings = django_settings self.poll_interval = 3 # 3秒进行一次全局轮训 self.config_update_interval = 120 # 设置120秒的更新间隔 self.config_last_loading_time = time.time() # 用当前时间作为最新的检测时间 self.global_monitor_dic = {} # 初始化一个全局字典用于存储所有监控主机 self.exit_flag = False if connect_redis: self.redis = redis_conn.redis_conn(django_settings)
def __init__(self, django_settings, connect_redis=True): self.django_settings = django_settings self.poll_interval = 3 #每3秒进行一次全局轮训 self.config_update_interval = 120 #每120s重新从数据库加载一次配置数据 self.config_last_loading_time = time.time() self.global_monitor_dic = { #"h1":{"serivces":{"cpu":[1313],"disk":[333]}} } self.exit_flag = False if connect_redis: self.redis = redis_conn.redis_conn(django_settings)
def __init__(self, django_settings): self.django_settings = django_settings self.redis = redis_conn.redis_conn(self.django_settings) self.alert_counters = {} #纪录每个action的触发报警次数 '''alert_counters = {
#_*_coding:utf-8_*_ from django.shortcuts import render, HttpResponse from monitor import models from monitor.backends import redis_conn from MyMonitor import settings from django.views.decorators.csrf import csrf_exempt from backends import data_processer import json import docker import time from backends import alert # Create your views here. REDIS_OBJ = redis_conn.redis_conn(settings) def index(request): # print(request.user.userprofile.name) # return render(request, 'base.html') return render(request, 'monitor/highchart_test.html') def host_list(request): host_objs = models.Host.objects.all() return render(request, 'monitor/host_list.html', {'host_list': host_objs}) def host_detail(request, host_id): host = models.Host.objects.get(id=host_id)
from CrazyMonitor import settings import json,time # Create your views here. from monitor.serializer import ClientHandler,get_host_triggers import json from monitor.backends import redis_conn from monitor.backends import data_optimization from monitor import models from monitor.backends import data_processing from monitor import serializer from monitor import graphs REDIS_OBJ = redis_conn.redis_conn(settings) def dashboard(request): return render(request,'monitor/dashboard.html') def triggers(request): return render(request,'monitor/triggers.html') def hosts(request): host_list = models.Host.objects.all() print("hosts:",host_list) return render(request,'monitor/hosts.html',{'host_list':host_list})
def __init__(self,django_settings): self.django_settings = django_settings self.redis = redis_conn.redis_conn(self.django_settings)
def __init__(self,django_settings): self.django_settings = django_settings self.redis = redis_conn.redis_conn(self.django_settings) self.alert_counters ={} #纪录每个action的触发报警次数 '''alert_counters = {
def __init__(self, django_settings): self.django_settings = django_settings self.redis = redis_conn.redis_conn(self.django_settings)
# _*_coding:utf8_*_ import os, json import django os.environ['DJANGO_SETTINGS_MODULE'] = 'cmdb.settings' django.setup() from monitor import models from cmdb import settings from monitor.backends import redis_conn redis = redis_conn.redis_conn(settings) host_obj = models.Host.objects.get(id=2) print(host_obj) # def get_services_data(cid=1, name='CPU'): # service_redis_key = "StatusData_%s_%s_latest" % (cid, name) # latest_data_point = redis.lrange(service_redis_key, -10, -1) # latest_data_point = [json.loads(i.decode()) for i in latest_data_point] # print(latest_data_point) # service_obj = models.Service.objects.get(name=name) # key_obj = service_obj.items.select_related() # res = {} # for key in key_obj: # data_list = [] # data_dict = {} # key = str(key).split('.')[1] # # for data in latest_data_point: # v, t_tmp = data # if 'data' not in v: # data_list.append(v[key])