icyleaf / icyleaf.com

Host on Github page
http://icyleaf.com
8 stars 2 forks source link

2023/08/using-vector-transform-mosdns-logging-to-grafana-via-loki/ #32

Open utterances-bot opened 10 months ago

utterances-bot commented 10 months ago

vector + loki 实现 mosdns 数据看板 | icyleaf

快速验证规则的同时实现类似 AdGuard Home 好看的数据看板

https://icyleaf.com/2023/08/using-vector-transform-mosdns-logging-to-grafana-via-loki/

zxjack commented 10 months ago

按照方案实施了之后发现面板上没有数据,查看vector运行会报错,代码如下:

023-10-31T09:37:05.731911Z ERROR transform{component_kind="transform" component_id=mosdns-data component_type=remap component_name=mosdns-data}: vector::internal_events::remap: Internal log [Mapping failed with event.] has been suppressed 1 times.
2023-10-31T09:37:05.731924Z ERROR transform{component_kind="transform" component_id=mosdns-data component_type=remap component_name=mosdns-data}: vector::internal_events::remap: Mapping failed with event. error="function call error for \"parse_timestamp\" at (128:184): Invalid timestamp \"2023-10-31T17:36:57.313+0800\": input contains invalid characters" error_type="conversion_failed" stage="processing" internal_log_rate_limit=true
2023-10-31T09:37:05.731959Z ERROR transform{component_kind="transform" component_id=mosdns-data component_type=remap component_name=mosdns-data}: vector_common::internal_event::component_events_dropped: Internal log [Events dropped] has been suppressed 1 times.
2023-10-31T09:37:05.731968Z ERROR transform{component_kind="transform" component_id=mosdns-data component_type=remap component_name=mosdns-data}: vector_common::internal_event::component_events_dropped: Events dropped intentional=false count=1 reason="Mapping failed with event." internal_log_rate_limit=true
2023-10-31T09:37:05.732015Z ERROR transform{component_kind="transform" component_id=mosdns-data component_type=remap component_name=mosdns-data}: vector::internal_events::remap: Internal log [Mapping failed with event.] is being suppressed to avoid flooding.
2023-10-31T09:37:05.732031Z ERROR transform{component_kind="transform" component_id=mosdns-data component_type=rem

可能是哪里没有搞对吗?

icyleaf commented 10 months ago

你的日志时间戳是 ISO 8601 带时区格式,默认系统是 UTC,你的情况需要修改 32 行

- .timestamp = parse_timestamp!(message_parts[0], format: "%FT%T%.9fZ")
+ .timestamp = parse_timestamp!(message_parts[0], format: "%FT%T%.9f%z")

具体看 parse_timestamp

zxjack commented 10 months ago

多谢帮助,这个错误我试了以下你给我的修改意见,不行还是报错,后来我把系统时间改了utc目前可以跑起来了,但是还有一个问题,看板上面一部分的数据没有过来,包括dns queries total,dns query error,dns response latency,dns response latency dns query error没有数据,显示为no data,应该是prometheus这一块没有设置好,应该查看哪里能够发现问题在哪?多谢

zxjack commented 10 months ago

我的问题,我发现错误在哪里,docker运行的配置中,写了127.0.0.1,应该写mosdns那个内网的ip段,改了之后就有了。多谢,目前全部调出来了,很漂亮。多谢

hao-888 commented 9 months ago

每一步都校对了很多遍,就是nodata,崩溃。。。

yuoow commented 8 months ago

https://icyleaf-openwrt-repo.vercel.app/snapshosts/packages/x86/64 地址404 啊?

ndqnnwg commented 8 months ago

https://icyleaf-openwrt-repo.vercel.app/snapshosts/packages/x86/64 地址404 求楼主更新

icyleaf commented 8 months ago

索引有问题,地址可以直接用

yuoow commented 8 months ago

vector 这个IPK 包能共享嘛?库仓链接不上

icyleaf commented 8 months ago

https://github.com/icyleaf/openwrt-dist/tree/gh-pages 这里找一下吧

yuoow commented 8 months ago

找到了 谢谢啦~~

yuoow commented 8 months ago

loki 需要什么特殊的配置吗?LOKI的数据都是NO DATA

llity commented 4 months ago

部分数据部显示,还有小的title显示

Jasper-1024 commented 3 months ago

眼馋看板很久了, 51终于有时间了,好好搞搞基础设施了. 整理成了 docker compose 部署 mosdns_docker/dashboard/ 仅供参考

panyichen48737 commented 3 months ago

还有v4的教程吗

RavenKong commented 2 months ago

谢谢,弄完了但除了DNS query error count 和DNS response latency 有数据外,其它panel都是NoData。不知道是不是数据源的问题?

VapeSeven commented 2 months ago

我按照你的操作,试验了好几遍,都是没有数据,求指导,可偿

icyleaf commented 2 months ago

@RavenKong @VapeSeven 经查明最新版本的 mosdns 又改日志结构了,部分解析需要做调整。

VapeSeven commented 2 months ago

好的,求更新,谢谢🙏

---- 回复的原邮件 ---- | 发件人 | @.> | | 日期 | 2024年06月07日 09:49 | | 收件人 | @.> | | 抄送至 | @.>@.> | | 主题 | Re: [icyleaf/icyleaf.com] 2023/08/using-vector-transform-mosdns-logging-to-grafana-via-loki/ (Issue #32) |

@@.*** 经查明最新版本的 mosdns 又改日志结构了,部分解析需要做调整。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

icyleaf commented 2 months ago

@panyichen48737 抱歉没有,太老了不值得花时间适配,要不给个打赏私聊? @RavenKong @VapeSeven 文章已更新,文章末尾新增打赏,大爷给点赏钱?

RavenKong commented 2 months ago

哈哈哈谢谢更新,其实前两天我自己已经通过修改gafana面板这边配置把显示弄出来了, 已打赏

RavenKong commented 2 months ago

另外vector貌似需要在loki服务启动后再启动不然会报错,可以尝试把loki.service加到vector的systemd启动脚本里After和Requires后面类似: [Unit] Description=Vector Documentation=https://vector.dev After=network-online.target loki.service Requires=network-online.target loki.service

不过我自己改了后,还没重启os测试。

KHTdhl commented 2 months ago

大佬 已经赞助。 显示见面有个问题,当获取的关键词为空的时候,就会报错Cannot read properties of undefined (reading 'length'),这个应该怎么处理呢

icyleaf commented 2 months ago

@RavenKong 感谢投喂, 如果服务在一台机器上可以通过服务依赖解决,你的方案看着没问题。如果是跨机器的话我配置设置了 loki 的 health check,不确定时候可以通过关闭它达到目的。

icyleaf commented 2 months ago

@haotianlPM 这个报错是哪个服务?

icyleaf commented 2 months ago

刚和 @haotianlPM 私下沟通确认是部分 Grafana 版本的问题,升级至 11 后可解决。