123456789101112131415161718192021222324252627282930313233343536373839404142 |
- package main
- import (
- "strconv"
- "time"
- "cnphper.com/model"
- )
- func monitor_loop() {
- delay := 30
- for {
- if str, ok := SysSetting.Get("misc_check_delay"); ok {
- if num, err := strconv.Atoi(str); err == nil {
- delay = num
- }
- }
- time.Sleep(time.Second * time.Duration(delay))
- monitor()
- }
- }
- func monitor() {
- mdl := model.NewRedisCfg(Db)
- rows, err := mdl.GetAll(0)
- if err != nil {
- return
- }
- for _, row := range rows {
- info := queryRedisInfo(row)
- if info.Error != "" {
- continue
- }
- //检查Redis状态(分配内容空间、使用内存空间、使用内存占比、连接数、淘汰记录数、QPS)
- //如果状态异常检查是否连接出错次数达到上限
- //判断是否需要自动扩容
- //添加任务到邮件发送队列
- }
- }
|