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用作基础镜像
FROM centos COPY cloudeye-exporter logs.yml metric.yml /root/ WORKDIR /root CMD ["/root/cloudeye-exporter"]
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 启动时需要使用该配置文件进行云服务的访问鉴权global: port: ":8087" # 监听端口 :8087代表在全部网络接口上开启监听8087端口,限定内部访问也可以指定IP例如:192.168.1.100:8087 scrape_batch_size: 300 auth: auth_url: "https://iam.cn-north-4.myhuaweicloud.com/v3" project_name: "cn-north-4" # 华为云项目名称,可以在“华为云->统一身份认证服务->项目”中查看 access_key: "" # IAM用户访问密钥 您可参考3.1章节使用命令行输入加密后的ak sk,避免在配置文件中明文配置AK SK secret_key: "" region: "cn-north-4" # 区域ID
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
apiVersion: apps/v1 kind: Deployment metadata: name: cloudeye-exporter namespace: monitoring labels: app: cloudeye-exporter spec: replicas: 1 selector: matchLabels: app: cloudeye-exporter template: metadata: labels: app: cloudeye-exporter spec: volumes: - name: cloudeye secret: secretName: clouds-exporter imagePullSecrets: - name: default-secret containers: - name: cloudeye-exporter image: swr.cn-north-4.myhuaweicloud.com/k8s-solution/cloudeye-exporter:v2.0.6 ports: - containerPort: 8087 resources: limits: cpu: 500m memory: 1Gi requests: cpu: 100m memory: 500Mi volumeMounts: - name: cloudeye mountPath: "/root/clouds.yml" subPath: clouds.yml --- apiVersion: v1 kind: Service metadata: name: cloudeye-exporter namespace: monitoring labels: app: cloudeye-exporter spec: selector: app: cloudeye-exporter ports: - name: ces targetPort: 8087 #业务监听端口 port: 8087 protocol: TCP type: ClusterIP
部署成功,查看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 如下:
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: cloudeye-exporter namespace: monitoring labels: app: cloudeye-exporter spec: endpoints: - interval: 1m scrapeTimeout: 1m port: ces scheme: http params: services: ['SYS.VPC,SYS.ELB'] namespaceSelector: matchNames: - monitoring selector: matchLabels: app: cloudeye-exporter
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并未产生数据
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: cloudeye-exporter namespace: monitoring labels: app: cloudeye-exporter spec: endpoints: - interval: 1m scrapeTimeout: 1m port: ces scheme: http params: services: ['SYS.VPC,SYS.ELB'] # 配置该任务获取企业项目信息,用于华为云云服务的dashboard - interval: 1m scrapeTimeout: 1m port: ces path: "/eps-info" scheme: http namespaceSelector: matchNames: - monitoring selector: matchLabels: app: cloudeye-exporter
在集群中将上述指标抓取规则更新后,等待片刻后。
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
AI Native工程化:百度App AI互动技术实践
作者 | GodStart 导读 随着AI浪潮的兴起,越来越多的应用都在利用大模型重构业务形态,在设计和优化Prompt的过程中,我们发现整个Prompt测评和优化周期非常长,因此,我们提出了一种Prompt生成、评估与迭代的一体化解决方案,以解决Prompt测评和优化过程中的挑战,加快业务和大模型结合的速度。 全文6796字,预计阅读时间17分钟。 01 背景 随着大模型技术在互动AI应用中的探索和实践,我们见证了其在用户体验和平台互动氛围方面的显著成效。这种技术不仅改善了用户互动率和参与时长,还为提供更丰富的互动体验开辟了新途径。基于这一认识,我们设定了三个关键的发展目标:首先,扩大大模型在不同互动场景中的应用范围,覆盖更多的内容和用户群体;其次,提高大模型在处理各种互动需求时的能力,以适应更广泛的垂直领域;最后,持续创新和完善基于大型模型的AI应用,不断优化和重构互动模式。这些目标的实现将极大地提升用户的参与度,同时使我们的平台互动体验方面保持领先。 在这些策略的实施过程中一系列关键的挑战和痛点逐渐显现。首先是数据分散的问题,多种类型的资源数据散布在不同的消息队列中,使得数据集成...
- 下一篇
【低代码】低代码平台协同&敏捷场景下的并行开发解决方案探索 | 京东云技术团队
低代码开发平台的出现,大大地提高的产品交付效率,但是在协同开发、敏捷迭代的场景下,也暴露出了一些问题。 例如: 多人同时对项目进行修改,相互影响甚至修改内容被互相覆盖; 同一项目下多个需求同步开发,但需求上线日期不统一,无法拆分上线等等。 本文将根据不同诉求,渐进式的讨论支持并行开发的各种解决方案。 低代码开发平台(Low-Code Development Platform,LCDP),帮助用户使用可视化图形界面(拖拽搭建或配置化方式)编写应用程序,而无需进行传统的编程开发。 低代码开发平台的研发团队往往把更多的经历投入到应用程度搭建过程的完善和丰富上(例如,丰富可通过搭建实现的功能,优化拖拽搭建的交互体验等),而忽略了项目交付过程的能力和体验。 一、项目整体交付 大部分低代码平台,尤其是具备出码能力或托管部署能力的低代码平台,都会采用项目整体交付的形式提供服务。 在用户触发交付流程时,低代码平台会以当前时刻的项目配置、页面配置等,进行代码生产、CI/CD流水线等操作。 二、缩小交付颗粒度 为了提升交付的灵活性,可以通过缩小交付颗粒度的方式,一定程度上的避免多人开发相互影响以及多需求同...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6