• 分布式监控系统开发【day37】:监控数据如何优化(六)


    一、数据如何存储方案讨论

    1、一个服务存所有主机

    2、一台主机的所有服务


    3、所有的服务一分钟存一次?

    数据量大,浏览器会卡住,

    4、最终方案如下

    二、解决方案存在问题

    1、只能存7天如何处理?

    超过一个周就10分钟的平均值,存1个月

    2、四种数据如何存?你存的是最近7天的数据

    1、看追加时间,左边第一个值,每次存数据的同时把第一个值取出来,判断有没有超过7天拆过就删除
    2、先初始一个值

    3、存一个月的数据都是被这10分钟平均了的,这个应该什么时候存?

     每新增10个就往里面存一个,

    4、我咋知道几分钟存一个值?

      1、刚开始初始10个值,初始了一个时间戳,

      2、从列表找一个,判断列表的长度

    5、存多少个点的数据

    STATUS_DATA_OPTIMIZATION = {
        'latest':[0,100080], #0 存储真实数据,600个点
        '10mins':[600,4320], #1m, 每600s进行一次优化,存最大600个点
        '30mins':[1800,4320],#3m
        '60mins':[3600,8760], #365days
    }

    1、如果是0代表不优化,直接往里面存
    2、存多少?

      超过10080就删除
    3、遇到600就代表可以优化
      1、找到10分种的列表
      2、从最右边的值找到时间戳判断有没有超过600继续存,需要再优化

    三、redis配置

    1、配置文件

    1、settings

    REDIS_CONN = {
        'HOST':'192.168.16.126',
        'PORT':6379,
        'DB':0,
    }
    

    2、api_views

    REDIS_OBJ = redis_conn.redis_conn(settings)
    

    3、redis_conn

    def redis_conn(django_settings):
        #print(django_settings.REDIS_CONN)
        pool = redis.ConnectionPool(host=django_settings.REDIS_CONN['HOST'],
                                    port=django_settings.REDIS_CONN['PORT'],
                                    db=django_settings.REDIS_CONN['DB'])
        r = redis.Redis(connection_pool=pool)
        return  r
    注意事项:连接池必须连接指定DB

    2、redis配置

    1、控制台报“目标计算机积极拒绝”如何处理?

    设置允许远程主机连接问题解决

    bind 0.0.0.0

    2、设置redis密码

    requirepass luoahong
    

    3、遇到到的坑

    1、400报错截图

    在配置文件里添加如下一行问题解决

    ALLOWED_HOSTS = ["*"]

    2、403错误

    api_views在中加入以下内容:

    from django.views.decorators.csrf import csrf_exempt

    403错误处理后截图

  • 相关阅读:
    每日一段(A Campaign Speech)(1)
    web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
    通过PHP实现浏览器点击下载TXT文档(转)
    php中mysql与mysqli的区别
    软件开发和团队”最小模式”初探2-6人模型(下)
    软件开发和团队”最小模式”初探2-6人模型(上)
    引论-谈下我的软件和团队之路
    软件开发和团队”最小模式”初探1
    C# 时间校验器
    SQL语句删除和添加外键、主键
  • 原文地址:https://www.cnblogs.com/luoahong/p/9561706.html
Copyright © 2020-2023  润新知