iLogtail observability enhancement #716
Replies: 12 comments 10 replies
-
iLogtail自身可观测性现状iLogtail当前对外可见可观测指标通过snapshot目录下的ilogtail_status.LOG文件和ilogtail_profile.LOG文件对外暴露: ilogtail_status.LOG:全局统计指标
当前自身可观测指标有这样几个问题:
期望的可观测性
长期目标定义公共的指标和命名规范采集器资源状态 cpu mem fd_open Input input_records_out_total input_bytes_out_total Processor process_record_in_total process_bytes_in_total process_record_out_total process_bytes_out_total Flusher flush_record_in_total flush_bytes_in_total flush_record_out_total flush_bytes_out_total flush_count_net_out_total flush_bytes_net_out_total flush_record_success_total flush_bytes_success_total flush_record_retried_total flush_bytes_retried_total flush_record_dropped_total flush_bytes_dropped_total 层次(label)1 全局:hostname="xx"、version="xx"、os="xx" 2 插件实例:name="plugin_type/plugin_id" 3 配置:config="xx" 4 采集对象实例:filename="xxx"、upstream="xxx" 指标类型
Exporter和导出插件Metric相关接口Plugin接口GetMetrics Metrics接口CreateCounter CreateGauge 用此类接口创建Metric,成员变量可以直接访问具体Metric ForEachCounter ForEachGauge 用此类接口遍历Metric,无论自定义多少Metric都可以全部遍历 Metric接口Gauge Set Add Inc Sub Dec Get Counter Set Add Inc Get Summary 短期怎么做C++当前实现 Go当前实现 使用统一数据结构改造,无锁化。Go复用v2的metric模型。 |
Beta Was this translation helpful? Give feedback.
-
每个plugin会hold一个metric对象,LogstoreConfig会hold一个metric对象的列表,在加载每个plugin的时候,将Metric对象放到列表中,这样每个插件只对自己的metric对象进行操作,不需要锁 C++ |
Beta Was this translation helpful? Give feedback.
-
@linrunqi08 老哥有些图挂了,方便补一下吗? |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
需求
读Metics设计
gReadMetrics没有实时写入的需求,但在做snapshot更新后,还是需要保证当前正在读的人正常因此可以简单加一下锁。
|
Beta Was this translation helpful? Give feedback.
-
@linrunqi08 有个问题,现在的设计是c++部分和go插件部分产生的指标是分开来送出去吗?还是c++产生的指标先送到go插件系统里然后在统一送出去? |
Beta Was this translation helpful? Give feedback.
-
目前这个feature是什么进展了 |
Beta Was this translation helpful? Give feedback.
-
最新进展,可以看下pr: #1290 目前支持golang 部分 v1 pipeline完整指标统一通过Cpp exporter输出。 |
Beta Was this translation helpful? Give feedback.
-
开发者招募: 在C++中实现HttpServer,以Prometheus 格式的API方式对外暴露指标数据 部分改动参考接口定义: |
Beta Was this translation helpful? Give feedback.
-
关键PR
|
Beta Was this translation helpful? Give feedback.
-
Current Status:https://ilogtail.gitbook.io/ilogtail-docs/configuration/logging
Beta Was this translation helpful? Give feedback.
All reactions