SuperAPI AI 工具集

selfmonitor

部署与运维

查看项目

更新于 10-15 16:47

技能介绍

用途:该标准用于确保 LoongCollector 中所有代码正确使用自监控功能,检查指标使用、告警使用、代码风格与实现逻辑的正确性,供开发与代码评审参考。

主要能力:一是指标命名规范,变量名格式为 {模块}{指标内容描述}{单位}(全大写),指标内容格式为 {指标内容描述}{单位}(全小写);模块前缀包括 agent、pipeline_、plugin_、component_、runner_;单位涵盖 _total、_bytes、_mb、_ms、_s、_percent、_ps、_flag、state 等。二是 Label 命名规范,格式为 METRIC_LABEL_KEY{描述},如 METRIC_LABEL_KEY_PROJECT、METRIC_LABEL_KEY_PLUGIN_TYPE。三是告警等级,分为 warning(单点报错)、error(影响主要流程)、critical(严重影响,如配置加载失败、丢弃数据、crash)三级。四是 C++ 与 Go 的新增指标、新增告警类型的实现步骤与接口用法。

使用方式:C++ 侧通过 MetricConstants.h 定义常量,用 WriteMetrics::GetInstance()->PrepareMetricsRecordRef 创建 MetricsRecordRef,在 commit 前用 CreateCounter、CreateIntGauge 创建指标,并用 ADD_COUNTER、SET_GAUGE 等宏更新;告警使用 SendAlarmWarning、SendAlarmError、SendAlarmCritical。Go 侧在 metrics_constants_*.go 与 alarm_constants.go 定义常量,通过 InitMetricRecord 注册指标,用 NewCounterMetricAndRegister、NewGaugeMetricAndRegister 创建,以 logger.Warning、logger.Error、logger.Critical 发送告警。

适用场景:LoongCollector 自监控指标与告警相关代码的开发、评审与测试。

限制:需遵守 commit 后不可再创建指标、避免告警风暴、避免频繁创建指标对象等约束;新增告警枚举值必须连续并同步更新总数。具体版本与平台信息暂未提供。