From fe74a029ad206a3021dbaa5ac0a992302e4f9d1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=9F?= <16704229+chen-xing0610@user.noreply.gitee.com> Date: Fri, 27 Feb 2026 13:52:42 +0800 Subject: [PATCH 1/2] feat: redis v2 dashboard and monitor --- monitor/en/redis-v2/manifest.yaml | 5 + monitor/en/redis-v2/meta.json | 912 ++++++++++++++++++++++++++++++ monitor/en/redis-v2/redis.png | Bin 0 -> 3063 bytes monitor/en/redis/meta.json | 891 ++++++++++++++++++++++++++++- monitor/zh/redis-v2/manifest.yaml | 5 + monitor/zh/redis-v2/meta.json | 912 ++++++++++++++++++++++++++++++ monitor/zh/redis-v2/redis.png | Bin 0 -> 3063 bytes 7 files changed, 2702 insertions(+), 23 deletions(-) create mode 100644 monitor/en/redis-v2/manifest.yaml create mode 100644 monitor/en/redis-v2/meta.json create mode 100644 monitor/en/redis-v2/redis.png create mode 100644 monitor/zh/redis-v2/manifest.yaml create mode 100644 monitor/zh/redis-v2/meta.json create mode 100644 monitor/zh/redis-v2/redis.png diff --git a/monitor/en/redis-v2/manifest.yaml b/monitor/en/redis-v2/manifest.yaml new file mode 100644 index 00000000..aea03037 --- /dev/null +++ b/monitor/en/redis-v2/manifest.yaml @@ -0,0 +1,5 @@ +title: Redis Detection Library +tags: + + - Monitor +url: diff --git a/monitor/en/redis-v2/meta.json b/monitor/en/redis-v2/meta.json new file mode 100644 index 00000000..356a3de4 --- /dev/null +++ b/monitor/en/redis-v2/meta.json @@ -0,0 +1,912 @@ +{ + "checkers": [ + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Redis memory usage on host {{host}} is too high: {{Result}}%", + "groupBy": [ + "server", + "host" + ], + "message": "Redis Server: {{server}}, Host: {{host}}. Redis memory usage is too high, detection result: {{Result}}%", + "targets": [ + { + "dql": "eval(A/B*100, A=\"M::`redis`:(avg(`used_memory`)) BY `server`, `host`\", B=\"M::`redis`:(avg(`maxmemory`)) BY `server`, `host`\")", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "90" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "80" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "70" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "infoEvent": false, + "combineExpr": "A && B", + "openMatchTimes": false + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "90" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "80" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "70" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "47d75378-8616-4a0f-86e3-0f3f6e31fc1e", + "qtype": "dql", + "query": { + "q": "eval(A/B*100, A=\"M::`redis`:(avg(`used_memory`)) BY `server`, `host`\", B=\"M::`redis`:(avg(`maxmemory`)) BY `server`, `host`\")", + "code": "Result", + "type": "expression", + "alias": "", + "children": [ + { + "q": "M::`redis`:(avg(`used_memory`)) BY `server`, `host`", + "code": "A", + "fill": null, + "type": "dql", + "alias": "", + "field": "used_memory", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "server", + "host" + ], + "indexes": [], + "labelOp": "", + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + { + "q": "M::`redis`:(avg(`maxmemory`)) BY `server`, `host`", + "code": "B", + "fill": null, + "type": "dql", + "alias": "", + "field": "maxmemory", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "server", + "host" + ], + "indexes": [], + "labelOp": "", + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + } + ], + "funcList": [], + "expression": "A/B*100" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "seniorMutationsCheck", + "every": "1m", + "range": 300, + "title": "Redis connected clients on host {{host}} surged, value: {{Result}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "range_2": -1, + "targets": [ + { + "dql": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "diffMode": "value", + "direction": "up", + "threshold": { + "value": null, + "status": false, + "operator": ">" + }, + "combineExpr": "A && B" + }, + "noDataTitle": "", + "periodBefore": 0, + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "9b527470-095a-40cd-b546-b20af98d655c", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "connected_clients", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Redis slots allocation failed on node {{server}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "cluster_slots_fail", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "redis_cluster status abnormal on node {{server}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": "!=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": "!=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "f3a8299c-a395-42ca-9032-01d761869104", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "cluster_state", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Redis on host {{host}} has restarted, please confirm if it is normal", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`uptime_in_seconds`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "600" + ], + "operator": "<=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "Host {{host}} Redis -- uptime_in_seconds metric gap, please confirm if Redis process exists", + "noDataAction": "noDataEvent", + "noDataMessage": "", + "noDataInterval": 300, + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "600" + ], + "operator": "<=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "cf4b98d0-fd9f-43d6-99b3-303e51e6e531", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`uptime_in_seconds`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "uptime_in_seconds", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Master-replica sync disconnected for {{host}}, {{server}}, please check if nodes are normal", + "groupBy": [ + "server", + "host" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(last(`master_link_status`)) BY `server`, `host`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "0" + ], + "operator": "=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "notificationMessage": "", + "recoverNeedPeriodCount": 2, + "openNotificationMessage": false, + "noDataNotificationMessage": "", + "openNoDataNotificationMessage": false + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "0" + ], + "operator": "=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "f41a7145-41d1-4a84-a6fc-ec0a8665e669", + "qtype": "dql", + "query": { + "q": "M::`redis`:(last(`master_link_status`)) BY `server`, `host`", + "code": "Result", + "type": "simple", + "alias": "", + "field": "master_link_status", + "groupBy": [ + "server", + "host" + ], + "funcList": [], + "fieldFunc": "last", + "fieldType": "float", + "namespace": "metric", + "dataSource": "redis", + "groupByTime": "", + "additionalFields": null + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Master-replica sync lag is high for {{host}}, {{server}}, lag value: {{Result}} ms", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1000" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "10" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "notificationMessage": "", + "recoverNeedPeriodCount": 2, + "openNotificationMessage": false, + "noDataNotificationMessage": "", + "openNoDataNotificationMessage": false + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1000" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "10" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "code": "Result", + "type": "simple", + "alias": "", + "field": "slave_lag", + "groupBy": [ + "host", + "server" + ], + "funcList": [], + "fieldFunc": "avg", + "fieldType": "float", + "namespace": "metric", + "dataSource": "redis", + "groupByTime": "", + "additionalFields": null + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + } + ] +} \ No newline at end of file diff --git a/monitor/en/redis-v2/redis.png b/monitor/en/redis-v2/redis.png new file mode 100644 index 0000000000000000000000000000000000000000..11d536ab4971d581ebdbf47c87d0c01c0a0478db GIT binary patch literal 3063 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 FV1gqQ^lktE literal 0 HcmV?d00001 diff --git a/monitor/en/redis/meta.json b/monitor/en/redis/meta.json index 4f23982d..8ab4db40 100644 --- a/monitor/en/redis/meta.json +++ b/monitor/en/redis/meta.json @@ -1,67 +1,912 @@ { "checkers": [ { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Redis memory usage on host {{host}} is too high: {{Result}}%", + "groupBy": [ + "server", + "host" + ], + "message": "Redis Server: {{server}}, Host: {{host}}. Redis memory usage is too high, detection result: {{Result}}%", + "targets": [ + { + "dql": "eval(A/B*100, A=\"M::`redis_info`:(avg(`used_memory`)) BY `server`, `host`\", B=\"M::`redis_info`:(avg(`maxmemory`)) BY `server`, `host`\")", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "90" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "80" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "70" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "infoEvent": false, + "combineExpr": "A && B", + "openMatchTimes": false + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "90" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "80" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "70" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], "funcName": "", "querylist": [ { - "datasource": "dataflux", + "uuid": "47d75378-8616-4a0f-86e3-0f3f6e31fc1e", "qtype": "dql", "query": { + "q": "eval(A/B*100, A=\"M::`redis_info`:(avg(`used_memory`)) BY `server`, `host`\", B=\"M::`redis_info`:(avg(`maxmemory`)) BY `server`, `host`\")", + "code": "Result", + "type": "expression", "alias": "", + "children": [ + { + "q": "M::`redis_info`:(avg(`used_memory`)) BY `server`, `host`", + "code": "A", + "fill": null, + "type": "dql", + "alias": "", + "field": "used_memory", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "server", + "host" + ], + "indexes": [], + "labelOp": "", + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis_info", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + { + "q": "M::`redis_info`:(avg(`maxmemory`)) BY `server`, `host`", + "code": "B", + "fill": null, + "type": "dql", + "alias": "", + "field": "maxmemory", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "server", + "host" + ], + "indexes": [], + "labelOp": "", + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis_info", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + } + ], + "funcList": [], + "expression": "A/B*100" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "seniorMutationsCheck", + "every": "1m", + "range": 300, + "title": "Redis connected clients on host {{host}} surged, value: {{Result}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "range_2": -1, + "targets": [ + { + "dql": "M::`redis_info`:(avg(`connected_clients`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "diffMode": "value", + "direction": "up", + "threshold": { + "value": null, + "status": false, + "operator": ">" + }, + "combineExpr": "A && B" + }, + "noDataTitle": "", + "periodBefore": 0, + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "9b527470-095a-40cd-b546-b20af98d655c", + "qtype": "dql", + "query": { + "q": "M::`redis_info`:(avg(`connected_clients`)) BY `host`, `server`", "code": "Result", - "dataSource": "redis", - "field": "blocked_clients", - "fieldFunc": "last", - "fieldType": "integer", + "fill": null, + "type": "dql", + "alias": "", + "field": "connected_clients", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis_info", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Redis slots allocation failed on node {{server}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis_cluster`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", + "qtype": "dql", + "query": { + "q": "M::`redis_cluster`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "cluster_slots_fail", + "index": "", + "fillNum": null, + "filters": [], "groupBy": [ - "host" + "host", + "server" ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis_cluster", + "queryFuncs": [], + "withLabels": [], "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "redis_cluster status abnormal on node {{server}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis_cluster`:(avg(`cluster_state`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": "!=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": "!=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "f3a8299c-a395-42ca-9032-01d761869104", + "qtype": "dql", + "query": { + "q": "M::`redis_cluster`:(avg(`cluster_state`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "cluster_state", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", "namespace": "metric", - "q": "M::`redis`:(LAST(`blocked_clients`)) by `host`", - "type": "simple" + "dataSource": "redis_cluster", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" }, - "uuid": "166892fb-25c4-4244-9ba6-efa8b307da10" + "datasource": "dataflux" } - ] + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false }, "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Redis on host {{host}} has restarted, please confirm if it is normal", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis_info`:(avg(`uptime_in_seconds`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], "checkerOpt": { "rules": [ { - "conditionLogic": "and", + "status": "critical", "conditions": [ { "alias": "Result", "operands": [ - "0" + "600" ], - "operator": ">" + "operator": "<=" } ], - "status": "critical" + "matchTimes": 1, + "conditionLogic": "and" } - ] + ], + "combineExpr": "A && B" }, - "every": "1m", + "noDataTitle": "Host {{host}} Redis -- uptime_in_seconds metric gap, please confirm if Redis process exists", + "noDataAction": "noDataEvent", + "noDataMessage": "", + "noDataInterval": 300, + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "600" + ], + "operator": "<=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "cf4b98d0-fd9f-43d6-99b3-303e51e6e531", + "qtype": "dql", + "query": { + "q": "M::`redis_info`:(avg(`uptime_in_seconds`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "uptime_in_seconds", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis_info", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Master-replica sync disconnected for {{host}}, {{server}}, please check if nodes are normal", "groupBy": [ + "server", "host" ], - "interval": 900, - "message": ">Level: {{status}} \n>Host: {{host}} \n>Content: The number of client connections waiting for blocking commands is {{ Result }}. \n>Suggest: Delays or other issues may prevent the source list from being populated. While blocked clients by themselves do not cause alarm, if you see a consistently non-zero value for this metric, it should be a cause for concern.", + "message": "", + "targets": [ + { + "dql": "M::`redis_replica`:(last(`master_link_status`)) BY `server`, `host`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "0" + ], + "operator": "=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "notificationMessage": "", + "recoverNeedPeriodCount": 2, + "openNotificationMessage": false, + "noDataNotificationMessage": "", + "openNoDataNotificationMessage": false + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "0" + ], + "operator": "=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "f41a7145-41d1-4a84-a6fc-ec0a8665e669", + "qtype": "dql", + "query": { + "q": "M::`redis_replica`:(last(`master_link_status`)) BY `server`, `host`", + "code": "Result", + "type": "simple", + "alias": "", + "field": "master_link_status", + "groupBy": [ + "server", + "host" + ], + "funcList": [], + "fieldFunc": "last", + "fieldType": "float", + "namespace": "metric", + "dataSource": "redis_replica", + "groupByTime": "", + "additionalFields": null + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "Master-replica sync lag is high for {{host}}, {{server}}, lag value: {{Result}} ms", + "groupBy": [ + "host", + "server" + ], + "message": "", "targets": [ { + "dql": "M::`redis_replica`:(avg(`slave_lag`)) BY `host`, `server`", "alias": "Result", - "dql": "M::`redis`:(LAST(`blocked_clients`)) by `host`" + "qtype": "dql" } ], - "title": "The number of Redis client connections waiting for blocking commands on Host {{ host }} increased abnormally.", - "type": "simpleCheck" + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1000" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "10" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "notificationMessage": "", + "recoverNeedPeriodCount": 2, + "openNotificationMessage": false, + "noDataNotificationMessage": "", + "openNoDataNotificationMessage": false }, - "monitorName": "Redis check" + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1000" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "10" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", + "qtype": "dql", + "query": { + "q": "M::`redis_replica`:(avg(`slave_lag`)) BY `host`, `server`", + "code": "Result", + "type": "simple", + "alias": "", + "field": "slave_lag", + "groupBy": [ + "host", + "server" + ], + "funcList": [], + "fieldFunc": "avg", + "fieldType": "float", + "namespace": "metric", + "dataSource": "redis_replica", + "groupByTime": "", + "additionalFields": null + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] } ] -} +} \ No newline at end of file diff --git a/monitor/zh/redis-v2/manifest.yaml b/monitor/zh/redis-v2/manifest.yaml new file mode 100644 index 00000000..af4e13af --- /dev/null +++ b/monitor/zh/redis-v2/manifest.yaml @@ -0,0 +1,5 @@ +title: Redis 检测库 +tags: + + - Monitor +url: diff --git a/monitor/zh/redis-v2/meta.json b/monitor/zh/redis-v2/meta.json new file mode 100644 index 00000000..19ead3eb --- /dev/null +++ b/monitor/zh/redis-v2/meta.json @@ -0,0 +1,912 @@ +{ + "checkers": [ + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "{{host}} 节点 Redis 内存使用过高 {{Result}}%", + "groupBy": [ + "server", + "host" + ], + "message": "Redis Server 为 {{server}}, Host 为{{host}} 节点 Redis 内存使用过高,检测结果: {{Result}}%", + "targets": [ + { + "dql": "eval(A/B*100, A=\"M::`redis`:(avg(`used_memory`)) BY `server`, `host`\", B=\"M::`redis`:(avg(`maxmemory`)) BY `server`, `host`\")", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "90" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "80" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "70" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "infoEvent": false, + "combineExpr": "A && B", + "openMatchTimes": false + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "90" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "80" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "70" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "47d75378-8616-4a0f-86e3-0f3f6e31fc1e", + "qtype": "dql", + "query": { + "q": "eval(A/B*100, A=\"M::`redis`:(avg(`used_memory`)) BY `server`, `host`\", B=\"M::`redis`:(avg(`maxmemory`)) BY `server`, `host`\")", + "code": "Result", + "type": "expression", + "alias": "", + "children": [ + { + "q": "M::`redis`:(avg(`used_memory`)) BY `server`, `host`", + "code": "A", + "fill": null, + "type": "dql", + "alias": "", + "field": "used_memory", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "server", + "host" + ], + "indexes": [], + "labelOp": "", + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + { + "q": "M::`redis`:(avg(`maxmemory`)) BY `server`, `host`", + "code": "B", + "fill": null, + "type": "dql", + "alias": "", + "field": "maxmemory", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "server", + "host" + ], + "indexes": [], + "labelOp": "", + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + } + ], + "funcList": [], + "expression": "A/B*100" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "seniorMutationsCheck", + "every": "1m", + "range": 300, + "title": "{{host}} 节点 Redis 连接数发生突增 ,突增值为 {{Result}}", + "groupBy": [ + "host", + "server" + ], + "message": "", + "range_2": -1, + "targets": [ + { + "dql": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "diffMode": "value", + "direction": "up", + "threshold": { + "value": null, + "status": false, + "operator": ">" + }, + "combineExpr": "A && B" + }, + "noDataTitle": "", + "periodBefore": 0, + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "9b527470-095a-40cd-b546-b20af98d655c", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "connected_clients", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "{{server}} 节点Redis slots 分配失败", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": ">=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "cluster_slots_fail", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "{{server}} 节点 redis_cluster 状态异常", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": "!=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1" + ], + "operator": "!=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "f3a8299c-a395-42ca-9032-01d761869104", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "cluster_state", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "{{host}} 节点redis发生重启,请确认是否正常", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`uptime_in_seconds`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "600" + ], + "operator": "<=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "{{host}} 节点redis -- uptime_in_seconds 指标断档,请确认redis进程是否存在", + "noDataAction": "noDataEvent", + "noDataMessage": "", + "noDataInterval": 300, + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "recoverNeedPeriodCount": 2 + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "600" + ], + "operator": "<=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "cf4b98d0-fd9f-43d6-99b3-303e51e6e531", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`uptime_in_seconds`)) BY `host`, `server`", + "code": "Result", + "fill": null, + "type": "dql", + "alias": "", + "field": "uptime_in_seconds", + "index": "", + "fillNum": null, + "filters": [], + "groupBy": [ + "host", + "server" + ], + "indexes": [], + "labelOp": "", + "funcList": [], + "interval": "", + "fieldFunc": "avg", + "namespace": "metric", + "dataSource": "redis", + "queryFuncs": [], + "withLabels": [], + "groupByTime": "", + "dataSourceFunc": "" + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "{{host}} ,{{server}} 主从同步断开,请注意查看节点是否正常", + "groupBy": [ + "server", + "host" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(last(`master_link_status`)) BY `server`, `host`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "0" + ], + "operator": "=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "notificationMessage": "", + "recoverNeedPeriodCount": 2, + "openNotificationMessage": false, + "noDataNotificationMessage": "", + "openNoDataNotificationMessage": false + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "0" + ], + "operator": "=" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "f41a7145-41d1-4a84-a6fc-ec0a8665e669", + "qtype": "dql", + "query": { + "q": "M::`redis`:(last(`master_link_status`)) BY `server`, `host`", + "code": "Result", + "type": "simple", + "alias": "", + "field": "master_link_status", + "groupBy": [ + "server", + "host" + ], + "funcList": [], + "fieldFunc": "last", + "fieldType": "float", + "namespace": "metric", + "dataSource": "redis", + "groupByTime": "", + "additionalFields": null + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + }, + { + "jsonScript": { + "type": "simpleCheck", + "every": "5m", + "title": "{{host}} , {{server}} 主从同步延迟较高,延迟值为{{Result}} ms", + "groupBy": [ + "host", + "server" + ], + "message": "", + "targets": [ + { + "dql": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "alias": "Result", + "qtype": "dql" + } + ], + "channels": [], + "interval": 300, + "atAccounts": [], + "checkerOpt": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1000" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "10" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "combineExpr": "A && B" + }, + "noDataTitle": "", + "noDataMessage": "", + "atNoDataAccounts": [], + "disableCheckEndTime": false, + "notificationMessage": "", + "recoverNeedPeriodCount": 2, + "openNotificationMessage": false, + "noDataNotificationMessage": "", + "openNoDataNotificationMessage": false + }, + "extend": { + "rules": [ + { + "status": "critical", + "conditions": [ + { + "alias": "Result", + "operands": [ + "1000" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "error", + "conditions": [ + { + "alias": "Result", + "operands": [ + "100" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + }, + { + "status": "warning", + "conditions": [ + { + "alias": "Result", + "operands": [ + "10" + ], + "operator": ">" + } + ], + "matchTimes": 1, + "conditionLogic": "and" + } + ], + "manager": [], + "funcName": "", + "querylist": [ + { + "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", + "qtype": "dql", + "query": { + "q": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "code": "Result", + "type": "simple", + "alias": "", + "field": "slave_lag", + "groupBy": [ + "host", + "server" + ], + "funcList": [], + "fieldFunc": "avg", + "fieldType": "float", + "namespace": "metric", + "dataSource": "redis", + "groupByTime": "", + "additionalFields": null + }, + "datasource": "dataflux" + } + ], + "issueLevelUUID": "", + "needRecoverIssue": false, + "isNeedCreateIssue": false + }, + "is_disable": false, + "tagInfo": [], + "secret": "", + "type": "trigger", + "monitorName": "default", + "alertPolicyNames": [] + } + ] +} \ No newline at end of file diff --git a/monitor/zh/redis-v2/redis.png b/monitor/zh/redis-v2/redis.png new file mode 100644 index 0000000000000000000000000000000000000000..11d536ab4971d581ebdbf47c87d0c01c0a0478db GIT binary patch literal 3063 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 FV1gqQ^lktE literal 0 HcmV?d00001 -- Gitee From c3c893db28da7770c967c69cca82a1297f977710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=98=9F?= <16704229+chen-xing0610@user.noreply.gitee.com> Date: Fri, 27 Feb 2026 14:48:14 +0800 Subject: [PATCH 2/2] feat: redis v2 dashboard and monitor --- monitor/en/redis-v2/meta.json | 24 ++++++++++++------------ monitor/en/redis/meta.json | 24 ++++++++++++------------ monitor/zh/redis-v2/meta.json | 24 ++++++++++++------------ monitor/zh/redis/meta.json | 24 ++++++++++++------------ 4 files changed, 48 insertions(+), 48 deletions(-) diff --git a/monitor/en/redis-v2/meta.json b/monitor/en/redis-v2/meta.json index 356a3de4..e601b5c5 100644 --- a/monitor/en/redis-v2/meta.json +++ b/monitor/en/redis-v2/meta.json @@ -214,7 +214,7 @@ "range_2": -1, "targets": [ { - "dql": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "dql": "M::`redis`:(max(`connected_clients`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -279,7 +279,7 @@ "uuid": "9b527470-095a-40cd-b546-b20af98d655c", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "q": "M::`redis`:(max(`connected_clients`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -296,7 +296,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis", "queryFuncs": [], @@ -330,7 +330,7 @@ "message": "", "targets": [ { - "dql": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "dql": "M::`redis`:(max(`cluster_slots_fail`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -387,7 +387,7 @@ "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "q": "M::`redis`:(max(`cluster_slots_fail`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -404,7 +404,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis", "queryFuncs": [], @@ -438,7 +438,7 @@ "message": "", "targets": [ { - "dql": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "dql": "M::`redis`:(min(`cluster_state`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -495,7 +495,7 @@ "uuid": "f3a8299c-a395-42ca-9032-01d761869104", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "q": "M::`redis`:(min(`cluster_state`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -512,7 +512,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "min", "namespace": "metric", "dataSource": "redis", "queryFuncs": [], @@ -760,7 +760,7 @@ "message": "", "targets": [ { - "dql": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "dql": "M::`redis`:(max(`slave_lag`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -877,7 +877,7 @@ "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "q": "M::`redis`:(max(`slave_lag`)) BY `host`, `server`", "code": "Result", "type": "simple", "alias": "", @@ -887,7 +887,7 @@ "server" ], "funcList": [], - "fieldFunc": "avg", + "fieldFunc": "max", "fieldType": "float", "namespace": "metric", "dataSource": "redis", diff --git a/monitor/en/redis/meta.json b/monitor/en/redis/meta.json index 8ab4db40..df557c63 100644 --- a/monitor/en/redis/meta.json +++ b/monitor/en/redis/meta.json @@ -214,7 +214,7 @@ "range_2": -1, "targets": [ { - "dql": "M::`redis_info`:(avg(`connected_clients`)) BY `host`, `server`", + "dql": "M::`redis_info`:(max(`connected_clients`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -279,7 +279,7 @@ "uuid": "9b527470-095a-40cd-b546-b20af98d655c", "qtype": "dql", "query": { - "q": "M::`redis_info`:(avg(`connected_clients`)) BY `host`, `server`", + "q": "M::`redis_info`:(max(`connected_clients`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -296,7 +296,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis_info", "queryFuncs": [], @@ -330,7 +330,7 @@ "message": "", "targets": [ { - "dql": "M::`redis_cluster`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "dql": "M::`redis_cluster`:(max(`cluster_slots_fail`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -387,7 +387,7 @@ "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", "qtype": "dql", "query": { - "q": "M::`redis_cluster`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "q": "M::`redis_cluster`:(max(`cluster_slots_fail`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -404,7 +404,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis_cluster", "queryFuncs": [], @@ -438,7 +438,7 @@ "message": "", "targets": [ { - "dql": "M::`redis_cluster`:(avg(`cluster_state`)) BY `host`, `server`", + "dql": "M::`redis_cluster`:(min(`cluster_state`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -495,7 +495,7 @@ "uuid": "f3a8299c-a395-42ca-9032-01d761869104", "qtype": "dql", "query": { - "q": "M::`redis_cluster`:(avg(`cluster_state`)) BY `host`, `server`", + "q": "M::`redis_cluster`:(min(`cluster_state`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -512,7 +512,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "min", "namespace": "metric", "dataSource": "redis_cluster", "queryFuncs": [], @@ -760,7 +760,7 @@ "message": "", "targets": [ { - "dql": "M::`redis_replica`:(avg(`slave_lag`)) BY `host`, `server`", + "dql": "M::`redis_replica`:(max(`slave_lag`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -877,7 +877,7 @@ "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", "qtype": "dql", "query": { - "q": "M::`redis_replica`:(avg(`slave_lag`)) BY `host`, `server`", + "q": "M::`redis_replica`:(max(`slave_lag`)) BY `host`, `server`", "code": "Result", "type": "simple", "alias": "", @@ -887,7 +887,7 @@ "server" ], "funcList": [], - "fieldFunc": "avg", + "fieldFunc": "max", "fieldType": "float", "namespace": "metric", "dataSource": "redis_replica", diff --git a/monitor/zh/redis-v2/meta.json b/monitor/zh/redis-v2/meta.json index 19ead3eb..927308cd 100644 --- a/monitor/zh/redis-v2/meta.json +++ b/monitor/zh/redis-v2/meta.json @@ -214,7 +214,7 @@ "range_2": -1, "targets": [ { - "dql": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "dql": "M::`redis`:(max(`connected_clients`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -279,7 +279,7 @@ "uuid": "9b527470-095a-40cd-b546-b20af98d655c", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`connected_clients`)) BY `host`, `server`", + "q": "M::`redis`:(max(`connected_clients`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -296,7 +296,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis", "queryFuncs": [], @@ -330,7 +330,7 @@ "message": "", "targets": [ { - "dql": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "dql": "M::`redis`:(max(`cluster_slots_fail`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -387,7 +387,7 @@ "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "q": "M::`redis`:(max(`cluster_slots_fail`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -404,7 +404,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis", "queryFuncs": [], @@ -438,7 +438,7 @@ "message": "", "targets": [ { - "dql": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "dql": "M::`redis`:(min(`cluster_state`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -495,7 +495,7 @@ "uuid": "f3a8299c-a395-42ca-9032-01d761869104", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`cluster_state`)) BY `host`, `server`", + "q": "M::`redis`:(min(`cluster_state`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -512,7 +512,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "min", "namespace": "metric", "dataSource": "redis", "queryFuncs": [], @@ -760,7 +760,7 @@ "message": "", "targets": [ { - "dql": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "dql": "M::`redis`:(max(`slave_lag`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -877,7 +877,7 @@ "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", "qtype": "dql", "query": { - "q": "M::`redis`:(avg(`slave_lag`)) BY `host`, `server`", + "q": "M::`redis`:(max(`slave_lag`)) BY `host`, `server`", "code": "Result", "type": "simple", "alias": "", @@ -887,7 +887,7 @@ "server" ], "funcList": [], - "fieldFunc": "avg", + "fieldFunc": "max", "fieldType": "float", "namespace": "metric", "dataSource": "redis", diff --git a/monitor/zh/redis/meta.json b/monitor/zh/redis/meta.json index 6a2ef1ae..08f41576 100644 --- a/monitor/zh/redis/meta.json +++ b/monitor/zh/redis/meta.json @@ -214,7 +214,7 @@ "range_2": -1, "targets": [ { - "dql": "M::`redis_info`:(avg(`connected_clients`)) BY `host`, `server`", + "dql": "M::`redis_info`:(max(`connected_clients`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -279,7 +279,7 @@ "uuid": "9b527470-095a-40cd-b546-b20af98d655c", "qtype": "dql", "query": { - "q": "M::`redis_info`:(avg(`connected_clients`)) BY `host`, `server`", + "q": "M::`redis_info`:(max(`connected_clients`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -296,7 +296,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis_info", "queryFuncs": [], @@ -330,7 +330,7 @@ "message": "", "targets": [ { - "dql": "M::`redis_cluster`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "dql": "M::`redis_cluster`:(max(`cluster_slots_fail`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -387,7 +387,7 @@ "uuid": "25ba38bf-27f6-4fa7-bbf4-f9cf0134ef59", "qtype": "dql", "query": { - "q": "M::`redis_cluster`:(avg(`cluster_slots_fail`)) BY `host`, `server`", + "q": "M::`redis_cluster`:(max(`cluster_slots_fail`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -404,7 +404,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "max", "namespace": "metric", "dataSource": "redis_cluster", "queryFuncs": [], @@ -438,7 +438,7 @@ "message": "", "targets": [ { - "dql": "M::`redis_cluster`:(avg(`cluster_state`)) BY `host`, `server`", + "dql": "M::`redis_cluster`:(min(`cluster_state`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -495,7 +495,7 @@ "uuid": "f3a8299c-a395-42ca-9032-01d761869104", "qtype": "dql", "query": { - "q": "M::`redis_cluster`:(avg(`cluster_state`)) BY `host`, `server`", + "q": "M::`redis_cluster`:(min(`cluster_state`)) BY `host`, `server`", "code": "Result", "fill": null, "type": "dql", @@ -512,7 +512,7 @@ "labelOp": "", "funcList": [], "interval": "", - "fieldFunc": "avg", + "fieldFunc": "min", "namespace": "metric", "dataSource": "redis_cluster", "queryFuncs": [], @@ -760,7 +760,7 @@ "message": "", "targets": [ { - "dql": "M::`redis_replica`:(avg(`slave_lag`)) BY `host`, `server`", + "dql": "M::`redis_replica`:(max(`slave_lag`)) BY `host`, `server`", "alias": "Result", "qtype": "dql" } @@ -877,7 +877,7 @@ "uuid": "651ca34d-bb99-4673-a5f2-d30ff1ec6e29", "qtype": "dql", "query": { - "q": "M::`redis_replica`:(avg(`slave_lag`)) BY `host`, `server`", + "q": "M::`redis_replica`:(max(`slave_lag`)) BY `host`, `server`", "code": "Result", "type": "simple", "alias": "", @@ -887,7 +887,7 @@ "server" ], "funcList": [], - "fieldFunc": "avg", + "fieldFunc": "max", "fieldType": "float", "namespace": "metric", "dataSource": "redis_replica", -- Gitee