最近在使用阿里云上的容器集群 ACK 基础版,阿里云 ingress 监控面板是打通 Ingress 组件访问日志服务与阿里云日志服务,配置对应的日志查询语句。默认会有以下这 5 个 监控面板,面板一看很像 grafana dashboard。
这里能不能将这些面板(阿里云日志数据源)接入到自己的 grafana 上呢,毕竟通过阿里云控制台去查看是比较麻烦的,还有运维同学也可灵活配置他们的自定义可观测监控面板。
方案是有的,在 github aliyun 官方仓库有 aliyun-log-grafana-datasource-plugin
为阿里云日志服务(SLS) Grafana数据源插件,使用该插件的前提,需要您使用日志服务 SLS,并拥有至少1个已配置采集的LogStore。下面介绍在 grafana 上安装 aliyun-log-grafana-datasource-plugin
,并配置上数据源,最后在 grafana dashboard 上添加一些 ingress 的监控图表。
安装插件
在它仓库 Release 处下载阿里云 sls grafana 插件,Grafana 8.0 以下请使用 1.0 版本
bash
wget https://github.com/aliyun/aliyun-log-grafana-datasource-plugin/archive/refs/tags/2.32.tar.gz
将插件解压到 grafana 对应 plugin位置,插件目录一般在 /var/lib/grafana/plugins
bash
tar xf 2.32.tar.gz -C ${grafana_plugin_dir}
修改 grafana 配置文件 defaults.ini,在配置文件的 [plugins]
节点中,设置 allow_loading_unsigned_plugins = aliyun-log-service-datasource
, 然后重启 grafana
添加数据源
重启 grafana 后就可以看到log-service-datasource
添加阿里云日志服务SLS
数据源
有 5 项需要填写,Endpoint
在 project 的概览页可以看到,详情请参见服务入口 Project 选择对应 k8s 集群 project,Logstore 选择 ingress 所在的,如果不知道是哪项,可以在默认的 ingress 面板上选择其中的一个图表,然后预览查询语句->查询分析,就会跳转到日志查询的面板上,左上角就会出现它的 logstore 名字,也可以使用浏览器开发工具查找 getLogs.json 的 url,查看 playload 的 logstore 字段。AK 和 SK 最好配置为子账号的,最少权限配置,只有 SLS 查询权限。
Grafana 上添加 ingress 图表
这里参考阿里云 ingress 上 ingress监控中心 默认面板的几个图表,在 grafana dashborad 上创建配置达到相同的效果。
ingress 的默认监控面板里没找到导出的相关功能,只能去每个图表里的预览查询语句
拿出语句放到 grafana 上。
在 grafana 上添加 Panel,选择上面创建好的数据源
慢慢搬砖,一步步配置
已经基本模仿阿里云的Ingress 监控中心面板
总结
有了aliyun-log-grafana-datasource-plugin
这个 grafana plugins,咱们就可以非常方便的创建自己的图表和监控面板或者集成到自己的可观测性监控面板。如果您在阅读过程中发现了任何问题,或者有任何可以改进的地方,欢迎留言讨论,也可以关注我的微信公众号运维小猪,谢谢!