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并未产生数据
根据华为云社区声明: 如果需要直接使用以下模板,需要修改prometheus配置,增加获取企业项目信息的任务。所以我们还需要修改servicemonitor,在原来cloudeye-exporter-servicemonitor的基础上增加一项配置
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
Cloudeye对接Prometheus实现华为云全方位监控的更多相关文章
- 容器云平台监控告警体系(三)—— 使用Prometheus Operator部署并管理Prometheus Server
1.概述 Prometheus Operator是一种基于Kubernetes的应用程序,用于管理Prometheus实例和相关的监控组件.它是由CoreOS开发的开源工具,旨在简化Prometheu ...
- Modbus的设备怎么对接华为云 使用金鸽BL100只需要5步
BL100是一款高性价比的Modbus转MQTT网关支持一键对接阿里云.华为云. BL100将Modbus串口设备的数据上传至华为云只需要简单五步 第一步.首先将Modbus的设备通过RS485接上M ...
- 容器云平台监控告警体系(五)—— Prometheus发送告警机制
1.概述 在Prometheus的架构中告警被划分为两个部分,在Prometheus Server中定义告警规则以及产生告警,Alertmanager组件则用于处理这些由Prometheus产生的告警 ...
- 重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive
摘要:本文将解密K8s Cluster Autoscaler模块的架构和代码的Deep Dive,及K8s Cluster Autoscaler 华为云插件. 背景信息 基于业务团队(Cloud BU ...
- 为测试管理正名,华为云CodeArts TestPlan的守护之道
摘要:华为云CodeArts TestPlan既有公有云版本,也有下沉到私有云的版本. 本文分享自华为云社区<为测试管理正名,华为云CodeArts TestPlan的守护之道>,作者:云 ...
- Cloud Native Weekly | 华为云抢先发布Redis5.0,红帽宣布收购混合云提供商 NooBaa
1——华为云抢先发布Redis5.0 2——DigitalOcean K8s服务正式上线 3——红帽宣布收购混合云提供商 NooBaa 4——微软发布多项 Azure Kubernetes 服务更新 ...
- 详解华为云基因容器服务GCS
基因测序,作为“下一个能够改变世界”的技术,已经由实验室研究演变到临床使用,为人类预测罹患多种疾病的可能性,提前预防和治疗疾病提供了一套可靠的方法和手段.而基于基因测序在预防和治疗疾病方面的准确和可靠 ...
- 华为云Volcano:让企业AI算力像火山一样爆发
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- 华为云ModelArts图深度学习,学习知识还能考取微认证
作为人工智能最前沿的技术之一,图深度学习被公认是人工智能认识世界实现因果推理的关键,也是深度学习未来发展的方向.但深度学习对图数据模型的支持性差一直是众多研究者难以攻克的难点,因此图深度学习在实际生产 ...
- 华为云PaaS首席科学家:Cloud Native +AI,企业数字化转型的最佳拍档
近日,在2019华为全球分析师大会期间,华为云PaaS首席科学家熊英博士在+智能,见未来(华为云&大数据)的分论坛上,从云计算行业发展谈起,深入云原生发展趋势,对华为云智能应用平台做了深度解读 ...
随机推荐
- Nomad 系列-Nomad 挂载存储卷
系列文章 Nomad 系列文章 概述 显然,如果 Nomad 要运行有状态存储,那么挂载存储卷就是必备功能. Nomad 允许用户通过多种方式将持久数据从本地或远程存储卷装载到任务环境中: 容器存储接 ...
- 微信小程序 setData accepts an Object rather than some undefined 解决办法
问题 setData accepts an Object rather than some undefined setData接受一个对象而不是一些定义 让我猜猜, 你一定是在加载index页面(首页 ...
- 分拣平台API安全治理实战 | 京东物流技术团队
导读 本文主要基于京东物流的分拣业务平台在生产环境遇到的一些安全类问题,进行定位并采取合适的解决方案进行安全治理,引出对行业内不同业务领域.不同类型系统的安全治理方案的探究,最后笔者也基于自己在金融领 ...
- 记一次 .NET 某拍摄监控软件 卡死分析
一:背景 1. 讲故事 今天本来想写一篇 非托管泄露 的生产事故分析,但想着昨天就上了一篇非托管文章,连着写也没什么意思,换个口味吧,刚好前些天有位朋友也找到我,说他们的拍摄监控软件卡死了,让我帮忙分 ...
- Strimzi Kafka Bridge(桥接)实战之二:生产和发送消息
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<Strimzi Kafka B ...
- 万字长文详解Java线程池面试题
王有志,一个分享硬核 Java 技术的互金摸鱼侠加入 Java 人的提桶跑路群:共同富裕的Java人 今天是<面霸的自我修养>第 6 篇文章,我们一起来看看面试中会问到哪些关于线程池的问题 ...
- 使用 Helm 管理应用的一些 Tips
背景 Helm 是一个 Kubernetes 的包管理工具,有点类似于 Mac 上的 brew,Python 中的 PIP:可以很方便的帮我们直接在 kubernetes 中安装某个应用. 比如我们可 ...
- WebGPU缓冲区更新最佳实践
介绍 在WebGPU中,GPUBuffer是您将要操作的主要对象之一.它与GPUTextures一同代表了您的应用程序向GPU传递用于渲染的大部分数据.在WebGPU中,缓冲区用于顶点和索引数据.un ...
- 秋招过半零Offer怎么办?
参加今年秋招的同学都知道,尤其是双非本科更是体验深刻.9 月份至今,面试寥寥无几.笔试也不是很多,大中小公司 Offer 没拿下一个.作为应届生的我们,该怎么办呢? 1.调整好心态 这个世界上有两种事 ...
- SqlServer的执行计划如何分析?
sqlserver的执行计划 执行计划是 SQL Server 中的一个重要工具,用于分析和优化查询的性能.它提供了关于查询的详细信息,包括查询的执行顺序.使用的索引.连接类型.过滤条件等. What ...