Nightingale 集成阿里云云监控:基于 Categraf aliyun 插件拉取 ECS/RDS/Redis 等云产品指标与告警

发布时间:2026/11/14 17:12:17

Nightingale 集成阿里云云监控:基于 Categraf aliyun 插件拉取 ECS/RDS/Redis 等云产品指标与告警 Nightingale 集成阿里云云监控基于 Categraf aliyun 插件拉取 ECS/RDS/Redis 等云产品指标与告警【免费下载链接】nightingaleNightingale is to monitoring and alerting what Grafana is to visualization.项目地址: https://gitcode.com/GitHub_Trending/ni/nightingale导读本文介绍如何在 Nightingale 生态中接入阿里云云监控CloudMonitor数据借助 Categraf 内置的 aliyun 采集插件通过阿里云 OpenAPI 拉取云监控中 ECS、RDS、Redis、SLB、WAF 等云产品的指标写入 Nightingale 统一存储并配合仓库中配套的监控大盘与告警规则实现云上资源 自建监控的一体化可观测。读完本文你将掌握阿里云 AccessKey 授权的最小权限配置、cloud.toml全量参数含义与调优方法以及如何用 PromQL 对采集到的指标进行查询与告警。一、集成原理与整体方案本集成方案由三个环节组成Categraf 采集端使用 Categraf 中的 aliyun 插件位于 Categraf 项目的inputs/aliyun目录以固定周期调用阿里云云监控 OpenAPI拉取各产品线的指标数据Nightingale 服务端Categraf 采集到的指标通过 Prometheus 协议写入 Nightingale形成统一的时序数据底座可视化与告警仓库在 integrations/AliYun 目录下提供了配套的监控大盘dashboards/、告警规则alerts/和中英文翻译i18n/en_US.json导入 Nightingale 后即可直接使用。从源码结构看Nightingale 将阿里云作为一个完整的集成Integration来管理指标、大盘、告警、国际化文案四类资源齐备说明该方案的目标是让用户以接近开箱即用的方式获得阿里云云产品的监控能力。二、前置条件与授权配置要让 aliyun 插件能调用云监控 API必须先完成凭证与权限准备获取 AccessKey在阿里云用户中心创建 AccessKey得到access_key_id与access_key_secretRAM 用户授权若使用 RAM 子账号所属阿里云账号需要先将权限策略授予该 RAM 用户。最小化授权建议直接授予云监控只读权限AliyunCloudMonitorReadOnlyAccess——采集场景只需要读取指标无需任何写权限创建 AccessKey 并填入配置为已授权的用户创建 AccessKey将密钥填入采集配置。权限建议遵循最小权限原则仅授予AliyunCloudMonitorReadOnlyAccess避免使用具备过高权限的账号密钥降低泄露风险。三、Categraf 配置文件详解采集配置位于 Categraf 的conf/input.aliyun/cloud.toml。仓库 integrations/AliYun/collect/aliyun/cloud.toml 提供了带注释的完整模板完整可运行的配置如下# categraf 采集周期阿里云指标的粒度一般是 60 秒建议不要设置少于 60 秒 interval 120 [[instances]] # 阿里云资源所处的 region region cn-beijing # 云监控 OpenAPI 的 endpoint endpoint metrics.cn-hangzhou.aliyuncs.com # 填入你的 access_key_id access_key_id # 填入你的 access_key_secret access_key_secret # 可能无法获取当前最新指标此值表示监控指标的截止时间距离当前时间多久 delay 50m # 阿里云指标的最小粒度60s 是推荐值再小了部分指标不支持 period 60s # 指标所属的 namespace为空表示采集所有命名空间的指标 namespaces [acs_ecs_dashboard] # 过滤某个 namespace 下的一个或多个指标 [[instances.metric_filters]] namespace metric_names [cpu_cores, vm.TcpCount, cpu_idle] # 阿里云查询指标接口的 QPS 上限是 50这里默认设置为一半 ratelimit 25 # 查询指定 namespace 指标后namespace/metric_name 等 meta 信息会缓存起来catch_ttl 是指标的缓存时间 catch_ttl 1h # 每次请求阿里云 endpoint 的超时时间 timeout 5s3.1 采集周期与时间参数参数默认示例说明interval120采集周期。阿里云指标粒度通常为 60 秒因此不建议低于 60 秒否则同一数据点会被重复拉取delay50m指标截止时间距离当前时间的偏移量。阿里云指标写入存在延迟刚产生的最新数据点可能查询不到配置一个合理偏移可保证取到完整数据period60s请求指标的最小聚合粒度。60s是推荐值部分指标不支持更小粒度此外Categraf 模板中还提供了interval_times参数如interval_times4其含义为每 N 个采集周期执行一次该实例的采集——当单个instances想降低频率例如对某些低频变化的指标时可用它做倍率降频与interval配合实现差异化采集节奏。3.2 连接与鉴权参数参数说明region阿里云资源所在区域如cn-beijingendpoint云监控 OpenAPI 接入地址metrics.cn-hangzhou.aliyuncs.com是通用接入点也支持按区域选择就近接入点access_key_id/access_key_secret访问密钥见上文授权步骤timeout每次请求阿里云 endpoint 的超时时间默认5s网络抖动时可适当调大3.3 命名空间与指标过滤阿里云云监控以namespace命名空间组织不同产品线的指标例如acs_ecs_dashboardECS 云服务器acs_rds_dashboardRDS 云数据库acs_kvstoreRedis云数据库 Tair/Redis等。namespaces配置决定采集哪些产品线为空表示采集全部命名空间明确列出则只采集指定产品线能显著减少 API 调用量与存储量。在metric_filters中可以对指标做二次过滤[[instances.metric_filters]] namespace metric_names [cpu_cores, vm.TcpCount, cpu_idle]namespace限定过滤范围为空表示作用于上述所有 namespacemetric_names要采集的指标名列表。指标名的填写规则阿里云指标参考页面中的Metric Id填入metric_names页面中包含中文的 Metric Name 对应的是 OpenAPI 中的Description字段不要填错。例如 ECS 的cpu_idle、cpu_cores都是典型的 Metric Id。3.4 限流与缓存参数参数说明ratelimit请求限速。阿里云指标查询接口 QPS 上限为50默认配置取一半25以留出余量避免触发接口限流catch_ttl指标 meta 信息namespace/metric_name 等的缓存 TTL默认1h。开启缓存可避免每次采集都重复拉取指标元数据减少 API 调用四、采集指标在 Nightingale 中的命名与查询aliyun 插件采集到的指标会以 Prometheus 格式写入 Nightingale指标名形如aliyun_namespace_metricName。仓库大盘中的 PromQL 可以印证这一点例如 dashboards/ecs.json 中sum(aliyun_acs_ecs_dashboard_cpu_utilization_average{ident~$ident}) by (ident,instance_id) sum(aliyun_acs_ecs_dashboard_memory_usedutilization_average{ident~$ident}) by (ident,instance_id) sum(aliyun_acs_ecs_dashboard_intranet_in_average{ident~$ident}) by (ident,instance_id)dashboards/cdn.json 中则使用aliyun_acs_cdn_bps_isp_value{instance_id$instance_id} aliyun_acs_cdn_internet_out_average{instance_id$instance_id}因此采集上来后指标的标签通常包含instance_id云产品实例 ID、regionId等维度查询时可用ident、instance_id、regionId等标签做筛选与聚合。五、配套监控大盘与告警规则集成目录 integrations/AliYun/dashboards 提供了超过 40 个产品的 JSON 大盘覆盖 ECS、RDS、Redis、SLB、WAF、CDN、MongoDB、PolarDB、NAT、OSS、ALB、Kafka、MSE 等可直接导入 Nightingale 使用。以 dashboards/mysql.json 为例其查询直接面向阿里云指标AliyunRds_CpuUsage{instanceName$instance} AliyunRds_MySQL_SlowQueries{instanceName$instance} AliyunRds_ConnectionUsage{instanceName$instance}5.1 告警规则示例alerts/ 目录下提供了按产品组织的告警规则 JSON。以 alerts/AliYun-RDS.json 中的 CPU 告警为例{ cate: prometheus, name: 阿里云 RDS 数据库 MySQL/CPU使用率告警, prod: metric, prom_for_duration: 180, rule_config: { queries: [ { prom_ql: AliyunRds_CpuUsage{engine\MySQL\} 80, severity: 2, unit: none } ], version: v1 }, prom_eval_interval: 15, notify_recovered: 1, notify_repeat_step: 60, cron_pattern: every 60s }从中可以看到 Nightingale 告警规则的关键字段与阿里云指标的结合方式prom_ql直接对采集上来的指标做阈值判断如AliyunRds_CpuUsage{engineMySQL} 80engine标签用于区分数据库引擎severity告警级别1 为最高2 次之例如运行状态异常类用severity: 1资源使用率类用severity: 2prom_for_duration持续满足条件多久后触发告警如 180 秒用于过滤瞬时抖动prom_eval_interval规则评估间隔15 秒notify_recovered恢复后是否通知1 表示通知notify_repeat_step重复告警的通知间隔60 分钟annotations.action内置的排障动作建议随告警一并推送帮助值班同学快速定位。Redis 告警则通过label_replace处理不同实例架构的指标命名差异例如 alerts/AliYun-Redis.jsonlabel_replace({__name__~AliyunKvstore_(Standard|Sharding|ShardingProxy|Splitrw|SplitrwProxy)CpuUsage},redisType,$1,measure,(.)CpuUsage) 80该查询一次性覆盖标准版、集群版、读写分离版等不同架构的 CPU 指标并归一化出redisType标签用于区分实例类型。5.2 国际化支持i18n/en_US.json 提供了数百条大盘面板、告警名称的中英文翻译映射导入英文环境后面板标题如CPU 使用率→CPU Usage与告警名称会自动本地化。六、效果一览以下截图展示了集成后的典型效果。ECS 大盘聚合展示了云服务器实例的 CPU、内存、负载、磁盘与内外网流量RDS 大盘则针对数据库实例展示资源使用率与慢查询等关键指标仓库 integrations/AliYun/markdown 下还提供 Redis、SLB、WAF 等产品的效果截图导入对应大盘后即可看到。七、使用建议与注意事项周期与粒度匹配interval不要低于 60 秒period保持 60s 推荐值避免重复拉取与接口不支持小粒度的问题控制 API 调用量尽量在namespaces中明确列出所需产品线并用metric_filters收敛指标集合ratelimit保持 25 左右给接口 QPS 上限50留出余量catch_ttl缓存可进一步减少元数据请求权限最小化仅授予AliyunCloudMonitorReadOnlyAccess不要将高权限密钥放入采集配置数据延迟由于云监控数据存在写入延迟delay应设置合理的回看偏移如 50m确保每次采集都能取到完整数据点导入与使用将dashboards/下对应产品的大盘 JSON 与alerts/下的告警规则导入 Nightingale即可复用本方案沉淀的查询与阈值经验按需调整阈值即可上线。相关资源采集配置模板integrations/AliYun/collect/aliyun/cloud.toml监控大盘integrations/AliYun/dashboards告警规则integrations/AliYun/alerts国际化文案integrations/AliYun/i18n/en_US.json原始集成文档integrations/AliYun/markdown/README.en_US.md【免费下载链接】nightingaleNightingale is to monitoring and alerting what Grafana is to visualization.项目地址: https://gitcode.com/GitHub_Trending/ni/nightingale创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/14 9:26:54

告别命令行:nTopology可视化建模快速生成Voronoi泡沫

上周帮朋友调整一个鞋底中底的轻量化结构,他想做的东西很明确:三维Voronoi泡沫——一堆随机的胞元互相连通,看起来像海绵,踩上去又要能回弹。我原本打算用老路子,命令行加减Python脚本去跑scipy.spatial.Voronoi&#…

2026/11/14 17:07:18

义乌建筑特种工在哪考不被坑?这些避坑干货必须知道

义乌建筑特种工在哪考不被坑?这些避坑干货必须知道 不知道去哪报名怕被中介坑?义乌建筑特种工在哪考真的太难了,中介信息混杂、流程不透明,让很多建筑工人在选择报名机构时举棋不定。作为在洛阳涧西区从事建筑行业的工友,我深知特种作业证办理的重要性,…

2026/11/14 17:07:18

电工证哪里办多少钱 别踩坑,直接告诉你报名流程和价格

电工证哪里办多少钱 别踩坑,直接告诉你报名流程和价格 你是不是正愁着 电工证哪里办多少钱 ?不知道该去哪报名,又怕被中间人骗钱,这种焦虑感我能理解。别急,这篇文章就为你解决这个问题,从 千万别踩坑…

2026/11/14 17:07:18

象山特种工操作证官方报名入口怎么找,实操考试心里没底怕挂科

象山特种工操作证官方报名入口怎么找,实操考试心里没底怕挂科 实操考试心里没底怕挂科?别急,你不是一个人在战斗。象山特种工操作证作为从事高风险作业的“通行证”,其重要性不言而喻,但很多人在报名、考试和后续流程中都踩过坑,尤其是实操环节,稍有不…

2026/11/14 17:02:17

考电工证赤峰能考吗?上岗必备证书怎么考?全流程看这篇

考电工证赤峰能考吗?上岗必备证书怎么考?全流程看这篇 你是不是刚毕业,正愁找不到工作?特种作业证成了 上岗必备 的门槛,尤其是电工证,几乎是电力、建筑、制造等行业招聘的硬性条件。但问题来了, 考电工证赤峰能考吗…

2026/11/13 22:33:32

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/14 0:06:39

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来 之前考的证在外省能不能转过来?这个问题我太熟悉了,作为一名干了十几年的特种作业证书办理从业者,每年都会遇到不少像你一样在外地考了证,回来却发现无法直接使用的学员。别急,今天我就…

2026/11/14 0:06:39

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你不是一个人。在信阳浉河区,很多刚进入工地的电工都面临这样的困境:工作强度大,时间碎片化,根本没有系统复习考试的机会。但电工证是上岗的硬门槛,…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑