自监控指标说明
指标类型
在 LoongCollector 中,有如下几种指标类型:
进程级(agent):LoongCollector的整体状态,包含一些Cpu、Mem等信息。
Runner级(runner):LoongCollector内部的独立线程的单例,通常是一整个功能模块,例如file_server、processor_runner等。runner级指标记录的就是这些单例的状态。
采集配置级(pipeline):每个采集配置的整体状态,例如总输入、输出、延迟。
组件级(component):采集配置运行过程中会使用 Batcher、Compressor 等组件;component 级指标记录这些组件的状态。
插件级(plugin):每个采集配置内各个插件的详细指标,例如某个 Processor 的输入、输出、解析失败率。
数据源级(plugin_source):与数据源相关的指标,例如文件采集时每个源文件对应一条记录,包含文件大小、读取 offset 等。
指标格式
LoongCollector 的指标为多值 Metric 结构。具体来说,对于某一个确定的对象(例如一个采集配置(collection pipeline)、一个插件、一个数据源),它会存在一条指标记录,里面会以多个 label 来唯一标识它,并记录多个与它相关的指标值。
下面是一条指标的样例。__name__是指标类型,__labels__是标识该条指标对应的对象的标签,__time__是指标输出的时间戳,__value__是具体指标的值的map。
{
"__labels__":{
"component_name":"process_queue",
"pipeline_name":"pipeline-demo",
"project":"",
"queue_type":"bounded"
},
"__name__":"component",
"__time__":1735127390,
"__value__":{
"fetch_times_total":6000.0,
"in_items_total":0.0,
"in_size_bytes":0.0,
"out_items_total":0.0,
"queue_size":0.0,
"queue_size_bytes":0.0,
"total_delay_ms":0.0,
"valid_fetch_times_total":0.0,
"valid_to_push_status":1.0
}
}指标解释
LoongCollector的指标较多,这里仅列举一部分重要指标作为说明,未涉及的指标有些是过于细节的内部实现监控,有些是存在变化的可能,可以参考源代码查看用途。
Agent级指标
Agent级的指标记录了LoongCollector的整体状态,例如Cpu、Mem等,全局唯一。
常见Labels:
Label名
含义
备注
instance_id
LoongCollector 的唯一标识
start_time
LoongCollector 的启动时间
hostname
LoongCollector 所在的机器名
os
LoongCollector 所处的操作系统
os_detail
LoongCollector 的系统详情
version
LoongCollector 的版本
常见Metric Key:
Metric Key
含义
备注
cpu
LoongCollector 的cpu使用核数
memory_used_mb
LoongCollector 的内存使用情况,单位为mb
go_routines_total
LoongCollector Go 部分启动的go routine数量
k8s场景或使用扩展插件时会启动 LoongCollector Go 部分
go_memory_used_mb
LoongCollector Go 部分占用的内存,单位为mb
k8s场景或使用扩展插件时会启动 LoongCollector Go 部分
open_fd_total
LoongCollector 打开的文件描述符数量
pipeline_config_total
LoongCollector 应用的采集配置(collection pipeline)数量
Runner级指标
Runner 是 LoongCollector 内部的独立线程的单例,通常是一整个功能模块,例如file_server、processor_runner等。
常见Labels:
Label名
含义
备注
runner_name
Runner 的名称
常见的runner有:file_server、processor_runner、flusher_runner、http_sink等
thread_no
Runner 的线程序号
常见Metric Key:
Metric Key
含义
备注
in_events_total
当前统计周期内,进入 Runner 的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
in_size_bytes
当前统计周期内,进入 Runner 的数据大小,单位为字节
这里统计的是进入 Runner 的数据的大小,该数据可能是压缩过的,不能完全等价于 event 的数据大小
last_run_time
Runner 上次执行任务的时间,格式为秒级时间戳
total_delay_ms
Runner 执行任务的总延迟,单位为毫秒
采集配置级指标
采集配置(collection pipeline)级指标反映单个采集配置的基础信息与吞吐量。
常见Labels:
Label名
含义
备注
pipeline_name
采集配置名称
常见Metric Key:
Metric Key
含义
备注
processor_in_events_total
当前统计周期内,进入 Processor 的 event 总数
processor_in_size_bytes
当前统计周期内,进入 Processor 的数据大小,单位为字节
processor_total_process_time_ms
当前统计周期内,Processor 处理 event 总耗时,单位为毫秒
flusher_in_events_total
当前统计周期内,进入 Flusher 的 event 总数
flusher_in_size_bytes
当前统计周期内,进入 Flusher 的数据大小,单位为字节
flusher_total_package_time_ms
当前统计周期内,Flusher 处理 event 总耗时,单位为毫秒
start_time
采集配置启动时间,格式为秒级时间戳
采集配置更新时会重新启动,可用该指标判断是否更新成功
Component级指标
组件是用于辅助采集配置(collection pipeline)运行的对象,它们归属于该采集配置,却对外部不可见(外部可见、可配置的是 Plugin)。组件的指标根据组件类型而不同,这里只列举一些重要的。
常见Labels:
Label名
含义
备注
component_name
组件名称
有:batcher,compressor,process_queue,router,sender_queue,serializer等。
pipeline_name
组件关联的采集配置名称
flusher_plugin_id
组件关联的Flusher插件ID
部分组件会与采集配置中的 Flusher 插件关联,例如 FlusherQueue、Bacther、Compressor 等,他们的关系可以参考如何开发原生Flusher插件。
常见Metric Key:
Metric Key
含义
备注
in_events_total
当前统计周期内,进入组件的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
out_events_total
当前统计周期内,流出组件的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
discarded_events_total
当前统计周期内,被丢弃的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
in_items_total
当前统计周期内,进入组件的 item 总数
item 是一些数据结构的统称,需结合具体组件判断,不一定对应 一条数据
out_items_total
当前统计周期内,流出组件的 item 总数
item 是一些数据结构的统称,需结合具体组件判断,不一定对应 一条数据
discarded_items_total
当前统计周期内,被丢弃的 item 总数
item 是一些数据结构的统称,需结合具体组件判断,不一定对应 一条数据
in_size_bytes
当前统计周期内,进入组件的数据大小,单位为字节
这里统计的是进入 Runner 的数据的大小,该数据可能是压缩或特殊处理过的,不能完全等价于 event 的数据大小
out_size_bytes
当前统计周期内,流出组件的数据大小,单位为字节
这里统计的是流出 Runner 的数据的大小,该数据可能是压缩或特殊处理过的,不能完全等价于 event 的数据大小
discarded_size_bytes
当前统计周期内,被丢弃的数据大小,单位为字节
这里统计的是 Runner 丢弃的数据的大小,该数据可能是压缩或特殊处理过的,不能完全等价于 event 的数据大小
total_delay_ms
当前统计周期内,组件聚合/发送等的延时,单位为毫秒
total_process_time_ms
当前统计周期内,组件处理总耗时,单位为毫秒
Plugin级指标
一个采集配置会包含若干插件;每个插件在运行过程中都会产生一些指标。
常见Labels:
Label名
含义
备注
plugin_type
插件名
plugin_id
插件id
此 ID 按采集配置内插件顺序生成,暂时只用于标识插件,没有其他含义
pipeline_name
插件所属的采集配置名称
常见Metric Key:
Metric Key
含义
备注
in_events_total
当前统计周期内,进入插件的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
out_events_total
当前统计周期内,流出插件的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
discarded_events_total
当前统计周期内,被丢弃的 event 总数
event 即 PipelineEvent 数据结构,通常可视为 一条数据
in_size_bytes
当前统计周期内,进入插件的数据大小,单位为字节
这里统计的是进入 Runner 的数据的大小,该数据可能是压缩或特殊处理过的,不能完全等价于 event 的数据大小
out_size_bytes
当前统计周期内,流出插件的数据大小,单位为字节
这里统计的是流出 Runner 的数据的大小,该数据可能是压缩或特殊处理过的,不能完全等价于 event 的数据大小
discarded_size_bytes
当前统计周期内,被丢弃的数据大小,单位为字节
这里统计的是 Runner 丢弃的数据的大小,该数据可能是压缩或特殊处理过的,不能完全等价于 event 的数据大小
total_delay_ms
当前统计周期内,插件聚合/发送等的延时,单位为毫秒
total_process_time_ms
当前统计周期内,插件处理总耗时,单位为毫秒
monitor_file_total
当前统计周期内,插件监控的文件总数
仅限文件采集场景
PluginSource级指标
这一级指标是标记数据源信息的,例如对于文件采集,被采集的文件的信息就会记录到PluginSource级指标中
常见Labels:
Label名
含义
备注
file_dev
被采集的文件设备号
仅限文件采集
file_inode
被采集的文件inode号
仅限文件采集
file_name
被采集的文件路径
仅限文件采集
常见Metric Key:
Metric Key
含义
备注
read_offset_bytes
当前读取的文件读到的位置
仅限文件采集
size_bytes
当前读取的文件的大小
仅限文件采集
获取自监控指标
请参见如何收集自监控指标。
添加自监控指标
请参见如何添加自监控指标。
Last updated