flashcatcloud / categraf

one-stop telemetry collector for nightingale
https://flashcat.cloud/docs/
MIT License
758 stars 237 forks source link

categraf中redis自定义命令采集如何写 #986

Open charlesqing opened 1 week ago

charlesqing commented 1 week ago

categraf中redis自定义命令采集如何写,自己按照说明写,结果提示报错,无法正常采集,有没有语法示例

zzmark commented 1 week ago

这块文档有点粗糙,还是挺好理解的。 贴一段样例

commands = [
    {command = ["select", "6"]},
    {command = ["get", "sample-gauge"], metric = "custom_metric_name1"},
    {command = ["hget", "sample-obj", "count"], metric = "custom_metric_name2"}
]

上述配置,会执行三个命令,生成两个 metric

select 6
get sample-gauge
hget sample-obj count

生成结果

redis_exec_result_custom_metric_name1 address=10.0.0.1:6379 replica_role=master 123.4
redis_exec_result_custom_metric_name2 address=10.0.0.1:6379 replica_role=master 5

是个很简单粗暴的功能

charlesqing commented 1 week ago

这块文档有点粗糙,还是挺好理解的。 贴一段样例

commands = [
    {command = ["select", "6"]},
    {command = ["get", "sample-gauge"], metric = "custom_metric_name1"},
    {command = ["hget", "sample-obj", "count"], metric = "custom_metric_name2"}
]

上述配置,会执行三个命令,生成两个 metric

select 6
get sample-gauge
hget sample-obj count

生成结果

redis_exec_result_custom_metric_name1 address=10.0.0.1:6379 replica_role=master 123.4
redis_exec_result_custom_metric_name2 address=10.0.0.1:6379 replica_role=master 5

是个很简单粗暴的功能

感谢

charlesqing commented 1 week ago

这块文档有点粗糙,还是挺好理解的。 贴一段样例

commands = [
    {command = ["select", "6"]},
    {command = ["get", "sample-gauge"], metric = "custom_metric_name1"},
    {command = ["hget", "sample-obj", "count"], metric = "custom_metric_name2"}
]

上述配置,会执行三个命令,生成两个 metric

select 6
get sample-gauge
hget sample-obj count

生成结果

redis_exec_result_custom_metric_name1 address=10.0.0.1:6379 replica_role=master 123.4
redis_exec_result_custom_metric_name2 address=10.0.0.1:6379 replica_role=master 5

是个很简单粗暴的功能

这个自定义命令支持info查询命令吗?

UlricQin commented 1 week ago

不支持,自定义查询返回的内容必须是数字。info 命令返回的是一堆数据,不是单个数字。info 命令采集的数据已经内置了,不需要再自定义执行 info 命令

秦晓辉 @.***

快猫星云 联合创始人 18612185520

------------------ 原始邮件 ------------------ 发件人: charlesqing @.> 发送时间: 2024年6月28日 15:14 收件人: flashcatcloud/categraf @.> 抄送: Subscribed @.***> 主题: Re: [flashcatcloud/categraf] categraf中redis自定义命令采集如何写 (Issue #986)

charlesqing commented 1 week ago

不支持,自定义查询返回的内容必须是数字。info 命令返回的是一堆数据,不是单个数字。info 命令采集的数据已经内置了,不需要再自定义执行 info 命令 秦晓辉 @. 快猫星云 联合创始人 18612185520 ------------------ 原始邮件 ------------------ 发件人: charlesqing @.> 发送时间: 2024年6月28日 15:14 收件人: flashcatcloud/categraf @.> 抄送: Subscribed @.> 主题: Re: [flashcatcloud/categraf] categraf中redis自定义命令采集如何写 (Issue #986)

但是发现categraf的redis采集插件好像无法采集到redis的软件版本信息

UlricQin commented 2 days ago

categraf 的 redis 采集插件没有内置采集版本信息,和 telegraf 的行为一致。如果这个是强需求,可以考虑看看 redis-exporter 是否采集了

zzmark commented 1 day ago

categraf 的 redis 采集插件没有内置采集版本信息,和 telegraf 的行为一致。如果这个是强需求,可以考虑看看 redis-exporter 是否采集了

redis_exporter 有个 redis_instance_info 录入了基础信息

# HELP redis_instance_info Information about the Redis instance
# TYPE redis_instance_info gauge
redis_instance_info{maxmemory_policy="noeviction",os="Linux 4.18.0-477.27.1.el8_8.x86_64 x86_64",process_id="1",redis_build_id="9392225f50acfb06",redis_mode="standalone",redis_version="7.2.1",role="master",run_id="a68e74c37d752ddda2796463a1d3533752d7e0ce",tcp_port="6379"} 1