监控指标的含义说明在哪里看
快猫运营团队
2025-02-14 16:13:22
Question:Categraf 或者其他各类采集器,会采集非常多的监控指标,对于新手而言,很想知道这些监控指标是什么含义,在哪里可以看到监控指标的含义说明呢?
通常从4个地方可以了解到这个信息,不过坦白讲,都不全。分别是:
- 仪表盘。通过梳理每个仪表盘的配置,可以获知一些信息。有些图表还有详细的备注,更方便我们了解。但是要挨个仪表盘扒拉,着实是费劲,而且仪表盘里只会有较为常用的指标,不会有所有的指标。
- 告警规则。夜莺有一些内置告警规则,Prometheus 生态也可以搜到网上其他人整理的告警规则,告警规则通常都有名字、描述,可以从中了解一些指标的含义。
- 夜莺的指标视图。夜莺的指标视图是希望把常用的指标都整理出来,加上单位、中文名字、注释等,但是这个工作量巨大无比,目前还在逐步完善中。目前只是整理一部分了。如下图:
这些内容是从 integrations 目录下各个组件的 metrics 目录里的内容导入到 DB 中的,欢迎大家提 PR 来补充,就提到 integrations 下,仿照其他组件的 metrics 目录里的内容即可。
有些组件会采集非常多的指标,比如一个单节点的 ElasticSearch,如果 ElasticSearch 暴露的所有指标都采集,即便索引比较少的情况下,指标数量也过万,要把所有指标的含义都整理出来,几乎不可能。而且很多指标是需要既懂 ElasticSearch 的原理和源码,还要懂采集器的原理和源码,才能理解的。
第四个地方自然就是源码。其实有时即便看了采集器的源码,也搞不懂指标含义,比如 MySQL 采集插件,采集了很多 MySQL 的全局状态数据,是通过执行 SQL:SHOW GLOBAL STATUS
来获取的:
MariaDB [(none)]> show global status;
+------------------------------+------------+
| Variable_name | Value |
+------------------------------+------------+
| Aborted_clients | 3359 |
| Aborted_connects | 4923538 |
| Access_denied_errors | 11 |
| Acl_column_grants | 0 |
| Acl_database_grants | 1 |
| Acl_function_grants | 0 |
| Acl_procedure_grants | 0 |
| Acl_package_spec_grants | 0 |
| Acl_package_body_grants | 0 |
| Acl_proxy_users | 2 |
...
如上,左侧是指标名字,右侧是 value,作为采集器的研发人员,其实不需要知道各个指标是什么含义,直接采集了就可以了,所以你要问采集器的研发,他也未必能帮到你。MySQL 这些指标是什么含义可以从 MySQL 官方文档查询到。
总结
想要有一个地方看到所有指标的含义,很遗憾没有。但是可以从仪表盘、告警规则、指标视图里找到一些信息,如果找不到,就只能自己去查源码或者官方文档了。这个问题经常被问到所以在这里统一答复一下。如果是商业版的客户,遇到不懂的指标可以来问我们,常用的指标含义我们都了解,有些指标其实我们也不知道但是我们可以帮您一起去查。