首页 > 其他分享 >Cloudeye对接Prometheus实现华为云全方位监控

Cloudeye对接Prometheus实现华为云全方位监控

时间:2023-12-21 14:35:09浏览次数:48  
标签:cloudeye exporter name app Cloudeye Prometheus 华为

本文分享自华为云社区《Cloudeye对接Prometheus实现华为云全方位监控》,作者:可以交个朋友 。

一、 背景

云眼系统Cloudeye服务为我们提供了针对弹性云服务器、宽带等资源的立体化监控平台。帮助我们全面了解华为云上的资源使用情况、业务的运行状况。将华为云Cloudeye服务接入 prometheus后,可以利用 Prometheus生态更好地监控和分析来自 Cloudeye服务的数据。

image.png

 

二、 简介

通过使用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

image.png

 

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 .

image.png

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
2、确认是cloudeye-exporter否暴露指标

部署成功,查看Pod信息。访问pod指标端点,确认指标源是否能暴露指标。

curl http://podIP:8087/metrics?services='SYS.VPC'

image.png
cloudeye-exporter Pod实例作为Prometheus抓取指标的源端,可以暴露监控数据。

查看Service,确认访问Service能否获取数据

image.png

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已经成功抓取

image.png

image.png

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中

image.png

选择好数据源后,点击导入即可。

2、发现异常

会发现dashboard并未产生数据

image.png

3、解决方式

根据华为云社区声明: 如果需要直接使用以下模板,需要修改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页面可查看到,新的抓取任务已成功运行

image.png

image.png

5、再次观察Grafana

此时再前往Grafana前端查看dashboard: 华为云VPC云服务dashboard已成功展示

image.png

6、导入ELB grafana dashboard

image.png

华为云ELB监控信息也成功展示

四 、延伸扩展

目前已支持的Grafana Dashboard有:

  • 云搜索服务 CSS
  • 云专线 DCAAS
  • 分布式缓存服务 DCS
  • 弹性云服务器 ECS
  • 弹性负载均衡 ELB
  • 关系型数据库 RDS
  • Web应用防火墙 WAF
  • 弹性公网IP和带宽 VPC

点击关注,第一时间了解华为云新鲜技术~

 

标签:cloudeye,exporter,name,app,Cloudeye,Prometheus,华为
From: https://www.cnblogs.com/huaweiyun/p/17918958.html

相关文章

  • 如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1
    本系列将分成三个部分,您将学习如何使用Helm在Kubernetes上集成Prometheus和Grafana,以及如何在Grafana上创建一个简单的控制面板。Prometheus和Grafana是Kubernetes最受欢迎的两种开源监控工具。学习如何使用Helm集成这两个工具,使您能够轻松监控Kubernetes集群并......
  • Prometheus Python client library.
    PrometheusPythonclientlibrary.http://prometheus.github.io/client_python/ Examplehttps://pbrissaud.github.io/suivi-bourse/用户场景没有价值,此项目以全栈的视角实现了自定义exporter的实现,可以直接参考。watchesyourstockshareonPrometheus/Grafana ......
  • day17 基于Prometheus的HPA自动伸缩 -Prometheus黑盒监控-自定义资源接入监控系统 (7.
    一、基于Prometheus的HPA自动伸缩1、背景Kubernetes集群规模大、动态变化快,而且容器化应用部署和服务治理机制的普及,传统的基础设施监控方式已经无法满足Kubernetes集群的监控需求。需要使用专门针对Kubernetes集群设计的监控工具来监控集群的状态和服务质量。Prometheus则......
  • 华为云多活高可用服务MAS荣获“2023年香港星光奖“
    近期,华为云多活高可用服务MAS(Multi-SiteHighAvailabilityService,简称MAS)荣获“2023年香港星光奖“「最佳解决方案奖」,凭借多集群统一管理的业务容灾能力获得香港通讯业的肯定。香港星光奖 CAHKSTARAwards是香港通讯联会于2015年推出,旨在奖励在不同行业中表现卓越和创新的公......
  • 华为云IOTda平台设备接入D8案例(转)
    BearPi-HM_Nano开发板智能台灯案例开发本示例将演示如何在BearPi-HM_Nano开发板上使用MQTT协议连接华为IoT平台,使用E53_SC1智能台灯扩展板与BearPi-HM_Nano开发板实现智能台灯的案例,设备安装如下图所示。软件设计连接平台在连接平台前需要设置获取CONFIG_APP_DEVICEID、CO......
  • 云图说丨初识华为云DDoS防护AAD——DDoS攻击防护平台
    DDoS攻击是指分布式拒绝服务,是一种网络攻击手法。本文分享自华为云社区《【云图说】第297期初识华为云DDoS防护AAD——DDoS攻击防护平台》,作者:阅识风云。DDoS攻击是指分布式拒绝服务,是一种网络攻击手法。攻击者使用网络上多个被攻陷的电脑作为攻击机器向特定的目标发动DoS攻......
  • skywalking--Prometheus Fetcher使用
    1.准备:实验版本:skywalking9.1.0官网:https://skywalking.apache.org/docs/main/v9.1.0/en/setup/backend/prometheus-metrics/ 2.开启prometheus遥测数据修改skywalking配置,修改${SW_TELEMETRY:prometheus}telemetry:selector:${SW_TELEMETRY:prometheus}none:......
  • day16监控体系部署管理-K8S集群层面监控-基于Prometheus的HPA自动伸缩 (7.1-7.2)
    一、打造基于Prometheus的全方位监控平台1.1前言官网:https://prometheus.io/docs/prometheus/latest/getting_started/灵活的时间序列数据库定制各式各样的监控规则Prometheus的开发人员和用户社区非常活跃独立的开源项目,不依赖于任何公司继Kubernetes之后第二个入驻的项......
  • 华为黑科技充电车要来了 | 百能云芯
    华为再度掀起黑科技风潮,新一款创新力之作——华为充电车(或被戏称为行动充电机器人)近日亮相于国家知识产权局的中国专利公布公告中。这款充电车外观设计专利已经获得授权,勾勒出一个圆润流畅、被寄予“可爱”期待的外观。在这款充电车上,你将看到配备有直流和交流充电枪,它们巧妙地隐藏......
  • 1 K8S for Prometheus Dashboard 20211010 EN
    *[PrometheusTimeSeriesCollectionandProcessingServer](http://localhost:9090/targets?search=#pool-prometheus)*[Dashboards|GrafanaLabs](https://grafana.com/grafana/dashboards/?search=prometheus)*[Alertmanager|GrafanaLabs](https://grafana.com/g......