从自建开源Prometheus迁移到阿里云可观测监控Prometheus版包含指标采集、可视化分析、告警配置等三个阶段,本文分别对这三个阶段在不同自建Prometheus部署场景下的方案进行介绍。
步骤一:指标采集迁移
指标采集是指Prometheus根据采集Job配置,定时从目标监控组件或其对应的Exporter拉取和保存指标数据。
场景一:阿里云容器服务(ACK)场景
迁移步骤
将 ACK 容器集群接入阿里云Prometheus ,接入方式参考容器可观测。
说明接入 ACK 集群时阿里云 Prometheus 的采集探针(即容器集群的 ack-arms-prometheus 组件)会自动安装 node-exporter,可能存在端口冲突,导致 node-exporter 无法启动。可以修改 node-exporter 默认端口,进入容器集群的应用下的Helm,找到 arms-prometheus 这个应用,单击更新,找到 nodeExporter - args - port 配置参数,修改默认端口。
配置采集任务。阿里云Prometheus 支持多种采集任务配置方式,包括 Service Monitor、Pod Monitor、自定义采集等方式。具体可参考管理容器环境自定义采集规则。
验证采集任务是否正常,可以进入云监控控制台,单击接入管理,找到对应的容器集群环境,单击接入环境详情,单击自监控,可以看到该容器环境的采集 Targets,可以展开具体采集 job,查看采集的指标信息。
场景二:自建Kubernetes场景
此场景与场景一:阿里云容器服务(ACK)场景相同,只是需要先将自建Kubernets集群注册为阿里云容器服务的注册集群即可。注册完成后可参考场景一的配置。
场景三:阿里云ECS场景
迁移步骤
登录云监控控制台,在接入中心选择主机监控,并按界面向导接入后,创建出ECS环境实例,同时部署ECS主机监控的Exporter和采集配置。
说明主机监控组件会默认安装 node-exporter 和 process-exporter,为避免端口冲突,可在接入配置中设置默认端口,另外接入是也可以按需安装这些exporter。
配置自定义采集任务。如果之前在ECS 上部署了其他Exporter,可以在阿里云ARMS 控制台接入中心,找到自定义指标采集,选择ECS(VPC)环境,配置Exporter 的服务端口、指标采集路径、采集间隔等信息,确定后即可。多个Exporter 重复接入即可。
验证采集任务是否正常,可以进入云监控控制台的接入管理,找到对应的ECS环境,单击接入环境详情,单击自监控,可以看到该ECS环境的采集 Targets,可以展开具体采集 job,查看采集的指标信息。
场景四:自建IDC场景
迁移要求
需要将自建IDC通过VPC专线等方式与用户的某个阿里云VPC打通。
需要用户自行在自建IDC的各个主机上按需安装Exporter。
迁移步骤
登录云监控控制台,在接入中心选择“主机监控(自助安装+IP域选择)”,并按界面向导接入后,创建出“ECS环境”实例,同时生成主机监控的采集配置。
在控制台的接入管理中,配置VPC内各个监控组件的接入,以便阿里云Prometheus生成采集Job、抓取监控数据、生成默认大盘和默认告警规则。
【可选】对于用户自定义的采集任务,可在接入管理的对应环境实例上进行自定义采集规则配置。
如场景三:阿里云ECS场景,可进入接入管理中查看采集的Targes。
步骤二:Grafana 可视化分析迁移
场景一:自建 Grafana对接阿里云Prometheus
指标接入阿里云 Prometheus 后,如果继续使用原自建的 Grafana,阿里云 Prometheus 也支持对接自建Grafana,具体参考V2版本。
场景二:使用阿里云的托管 Grafana 服务
如果使用阿里云托管 Grafana 服务,则涉及将已有的 Grafana 大盘导入托管的 Grafana。
前提条件
开通Grafana 服务并创建Grafana工作区。
迁移步骤
将阿里云 Prometheus 实例对接托管Grafana。创建好 Grafana 工作区后,登录阿里云 Grafana 控制台,接入刚创建的工作区,“云服务集成”,找到期望集成的Prometheus 实例,点击“集成”,按提示操作,则会自动在托管的Grafana 中创建该Prometheus 数据源,数据源命名“prom-${P]rometheusInstanceId}”。
集成好后,点击托管的 Grafana 公网地址,登录到 Grafana 工作空间,新建仪表盘时,导入已有的仪表盘JSON 文件,选择上面步骤中集成的“数据源”,按界面提示操作完成即可。
步骤三:告警配置迁移
与可视化分析迁移一样,在指标采集迁移过程中,涉及到的容器集群和各个常用组件(如MySQL、Redis等),阿里云Prometheus也已创建了专业的、开箱即用的告警规则。
对于容器/Kubernetes和ECS接入场景,在云监控控制台接入管理的“已接入组件”界面,点击对应组件的“告警列表”即可查看该组件默认生成的告警规则。
对于用户自定义告警规则,可在云监控控制台的Prometheus监控的Prometheus告警规则菜单中创建和管理,或通过Prometheus告警规则模板导入已有的Prometheus告警规则。
自建Prometheus 历史数据迁移
若期望迁移自建 Prometheus 历史数据到阿里云 Prometheus,可以参考自建开源 Prometheus 历史数据迁移到阿里云 Prometheus。