Cloudeye 对接 Prometheus 实现华为云全方位监控
本文分享自华为云社区《Cloudeye对接Prometheus实现华为云全方位监控》,作者:可以交个朋友 。
一、 背景
云眼系统 Cloudeye 服务为我们提供了针对弹性云服务器、宽带等资源的立体化监控平台。帮助我们全面了解华为云上的资源使用情况、业务的运行状况。将华为云 Cloudeye 服务接入 prometheus 后,可以利用 Prometheus 生态更好地监控和分析来自 Cloudeye 服务的数据。
二、 简介
通过使用 cloudeye-exporter,将华为云 Cloudeye 服务与华为云 CCE 集群(Kubernetes 集群)中的 Prometheus 容器进行对接。继而使用 Prometheus 系统对云上资源的性能数据进行运维监控。
注意:该 exporter 仅适用于华为云局点。
三、实践演示
Prometheus 将会以 operator 形式部署在 kubernetes 集群当中。所以也需要制作 cloudeye-exporter 容器镜像,然后容器化部署在 kubernetes 集群中。
3.1 获取 cloudeye-exporter 安装包
1、下载最新版本的 cloudeye-exporter
查看插件 Releases 版本 (https://github.com/huaweicloud/cloudeye-exporter/releases) ,获取 cloudeye-exporter 下载地址,下载解压安装。
mkdir cloudeye-exporter & cd cloudeye-exporter
wget https://github.com/huaweicloud/cloudeye-exporter/releases/download/v2.0.6/cloudeye-exporter.v2.0.6.tar.gz
2、解压
tar -xzvf cloudeye-exporter.v2.0.6.tar.gz
3.2 制作容器镜像
1、需要编写 Dockerfile 文件 这里使用 centos 用作基础镜像
2、构建容器镜像
docker build -t swr.cn-north-4.myhuaweicloud.com/k8s-solution/cloudeye-exporter:v2.0.6 --platform=linux/amd64 .
3、推送至镜像仓库
建议使用华为云 SWR 镜像仓库
3.3 配置 cloudeye-exporter 的访问鉴权
1、编辑 clouds.yml 文件配置公有云信息
cloudeye-exporter 启动时需要使用该配置文件进行云服务的访问鉴权
2、基于该配置文件创建 kubernetes secrets
kubectl create secret generic clouds-exporter --from-file=clouds.yml -n monitoring
容器化部署需要将该配置以 secrets 形式挂载给 cloudeye-exporter
3.4 CCE 集群(k8s 集群)部署 cloudeye-exporter
1、首先部署负载和 service
2、确认是 cloudeye-exporter 否暴露指标
部署成功,查看 Pod 信息。访问 pod 指标端点,确认指标源是否能暴露指标。
curl http://podIP:8087/metrics?services='SYS.VPC'
cloudeye-exporter Pod 实例作为 Prometheus 抓取指标的源端,可以暴露监控数据。
查看 Service,确认访问 Service 能否获取数据
2、注意
需要注意: 由于 cloudeye-exporter 需要访问公网端点: iam.huaweicloud.com。如果您使用的 kuberntes 平台是 CCE turbo 集群,需要对容器网段配置公网 snat。否则指标数据抓取会失败。
3.5 Prometheus 对接 cloudeye-exporter 获取指标
修改 prometheus 中的 prometheus.yml 文件配置。由于现在 k8s 集群中都会采用 prometheus-operator 形态部署 Prometheus。所以我们需要编写 ServiceMonitor 进行指标的获取。
1、以监控华为云 VPC,ELB 服务为例
抓取规则 cloudeye-exporter-servicemonitor.yaml 如下:
2、将上述抓取规则于集群中创建。等待片刻可观察到 Prometheus 已经成功抓取
3、至此,cloudeye-exporter 成功接入 Prometheus。
3.6 接入 Grafana 大盘
华为云社区提供了若干个云服务现成的 dashborad。我们可以拿来使用。
https://github.com/huaweicloud/cloudeye-exporter/tree/v2.0.6/grafana_dashboard/templates
例如: 使用 VPC 云服务的 dashboard。
1、将该 dashboard 的 json 文件上传到 grafana 中
选择好数据源后,点击导入即可。
2、发现异常
会发现 dashboard 并未产生数据
3、解决方式
根据华为云社区声明: 如果需要直接使用以下模板,需要修改 prometheus 配置,增加获取企业项目信息的任务。所以我们还需要修改 servicemonitor,在原来 cloudeye-exporter-servicemonitor 的基础上增加一项配置
在集群中将上述指标抓取规则更新后,等待片刻后。
4、前往 Prometheus 页面可查看到,新的抓取任务已成功运行
5、再次观察 Grafana
此时再前往 Grafana 前端查看 dashboard: 华为云 VPC 云服务 dashboard 已成功展示
6、导入 ELB grafana dashboard
华为云 ELB 监控信息也成功展示
四 、延伸扩展
目前已支持的 Grafana Dashboard 有:
云搜索服务 CSS
云专线 DCAAS
分布式缓存服务 DCS
弹性云服务器 ECS
弹性负载均衡 ELB
关系型数据库 RDS
Web 应用防火墙 WAF
弹性公网 IP 和带宽 VPC
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/7be095985ed17b56f58167c8b】。文章转载请联系作者。
评论