安装配置CES Exporter
当您在使用其他监控平台(例如Prometheus)时,可以通过配置CES Exporter将云监控服务指标数据对接到其他监控平台进行查看。将服务接入Prometheus前,需要先安装配置CES Exporter。
本章节为您介绍如何安装配置CES Exporter。
约束与限制
前提条件
- 已获取用于部署CES Exporter的服务器的root密码和私网IP地址。
- 请确保CES Exporter配置文件中使用的华为云账号具有导出监控数据依赖的权限,具体权限请参阅CES Exporter导出监控数据依赖的接口及授权项。
- 已获取华为云账号的访问密钥,如何获取访问密钥请参阅新增访问密钥。
环境准备
以Ubuntu 18.04系统和Prometheus 2.14.0版本为例。
|
环境条件 |
描述 |
|---|---|
|
Prometheus |
prometheus-2.14.0.linux-amd64 |
|
ECS操作系统 |
Ubuntu 18.04 |
|
ECS私网IP |
192.168.0.xx |
安装配置cloudeye-exporter
- 在Ubuntu ECS实例上安装cloudeye-exporter。
进入cloudeye-exporter开源项目,查看插件Release版本,并获取插件下载地址,随后登录ECS机器,通过该地址下载安装。
参考命令:
mkdir cloudeye-exporter cd cloudeye-exporter wget https://github.com/huaweicloud/cloudeye-exporter/releases/download/${version}/cloudeye-exporter-${version}.tar.gz tar -xzvf cloudeye-exporter-${version}.tar.gz - 编辑clouds.yml文件配置公有云信息。
global: port: "{private IP}:8087" # 监听端口 :出于安全考虑,建议不将Exporter服务端口暴露到公网,建议配置为127.0.0.1:{port},或{内网ip}:{port},例如:192.168.1.100:8087;如业务需要将该端口暴露到公网,请确保合理配置安全组,防火墙,iptables等访问控制策略,确保最小访问权限 scrape_batch_size: 300 resource_sync_interval_minutes: 20 # 资源信息更新频率:默认180分钟更新一次;该配置值小于10分钟,将以10分钟1次为资源信息更新频率 ep_ids: "xxx1,xxx2" # 可选配置,根据企业项目ID过滤资源,不配置默认查询所有资源的指标,多个ID使用英文逗号进行分隔。 logs_conf_path: "/root/logs.yml" # 可选配置,指定日志配置文件路径,建议使用绝对路径。若未指定,程序将默认使用执行启动命令所在目录下的日志配置文件。 metrics_conf_path: "/root/metric.yml" # 可选配置,指定指标配置文件路径,建议使用绝对路径。若未指定,程序将默认使用执行启动命令所在目录下的指标配置文件。 endpoints_conf_path: "/root/endpoints.yml" # 可选配置,指定服务域名配置文件路径,建议使用绝对路径。若未指定,程序将默认使用执行启动命令所在目录下的服务域名配置文件。 ignore_ssl_verify: false # 可选配置,exporter查询资源/指标时默认校验ssl证书;若用户因ssl证书校验导致功能异常,可将该配置项配置为true跳过ssl证书校验 auth: auth_url: "https://iam.{region_id}.myhuaweicloud.com/v3" project_name: "cn-north-1" # 华为云项目名称,可以在“华为云->统一身份认证服务->项目”中查看 access_key: "" # IAM用户访问密钥,使用脚本将ak sk解密后传入,避免因在配置文件中明文配置AK SK而引发信息泄露 secret_key: "" region: "cn-north-1" # 区域ID
默认的监控端口为8087。
- 启动cloudeye-exporter。
- 若您使用当前cloudeye-exporter目录下的clouds.yml文件,请使用以下启动命令:
./cloudeye-exporter
- 若您需要使用其他目录(例如 root 目录)下的 clouds.yml 文件,可以使用 -config 参数指定 clouds.yml 文件的路径:
./cloudeye-exporter -config=/root/clouds.yml
./cloudeye-exporter -s true
- 创建Shell脚本。
- 在脚本中配置以下内容。
出于安全考虑,建议在shell脚本中配置加密后的AK、SK,由于Exporter只能传明文的AK、SK,您还需要使用自己的解密方式对脚本中的AK、SK解密,因此huaweiCloud_AK和huaweiCloud_SK参数值格式为:your_decrypt_function("加密的AK/SK")
#!/bin/bash huaweiCloud_AK=your_decrypt_function("加密的AK") huaweiCloud_SK=your_decrypt_function("加密的SK") $(./cloudeye-exporter -s true<<EOF $huaweiCloud_AK $huaweiCloud_SK EOF)
CES Exporter导出监控数据依赖的接口及授权项
使用Exporter之前,请确保账号拥有表2中列举的基础权限。部分服务在导出监控数据时,除了基础权限外,还需要对应云服务的特定权限,云服务及其对应的权限信息请参见表3。
|
服务 |
授权项 |
接口 |
接口说明 |
|---|---|---|---|
|
IAM |
iam:projects:listProjects |
/v3/projects |
查询指定条件下的项目列表。 |
|
IAM |
任意一个全局类权限。 |
/v3/auth/domains |
查询IAM用户可以访问的账号详情 |
|
CES |
ces:namespacesDimensions:list |
/v2/{project_id}/instances/{instance_id}/agent-dimensions |
查询主机监控维度指标信息 |
|
CES |
ces:metrics:list |
/V1.0/{project_id}/metrics |
查询系统当前可监控指标列表 |
|
CES |
ces:metricData:list |
/V1.0/{project_id}/batch-query-metric-data |
批量查询指定时间范围内指定指标的指定粒度的监控数据 |
|
Config |
rms:resources:list |
/v1/resource-manager/domains/{domain_id}/provider/{provider}/type/{type}/resource |
列举指定类型的资源 |
|
EPS |
eps:enterpriseProjects:list |
/v1.0/enterprise-projects |
查询企业项目列表 |
|
服务 |
授权项 |
接口 |
接口说明 |
|---|---|---|---|
|
APIC |
apig:instances:list |
/v2/{project_id}/apigw/instances |
查询专享版实例列表 |
|
apig:apis:list |
/v2/{project_id}/apigw/instances/{instance_id}/apis |
查看API列表 |
|
|
apig:instances:get |
/v2/{project_id}/apigw/instances/{instance_id} |
查看API网关专享版实例 |
|
|
apig:apps:list |
/v2/{project_id}/apigw/instances/{instance_id}/apps |
查看应用列表 |
|
|
apig:groups:list |
/v2/{project_id}/apigw/instances/{instance_id}/api-groups |
查看API分组列表 |
|
|
apig:plugins:list |
/v2/{project_id}/apigw/instances/{instance_id}/plugins |
查看插件列表 |
|
|
CBR |
cbr:vaults:list |
/v3/{project_id}/vaults |
查询存储库列表 |
|
CC |
cc:cloudConnections:list |
/v3/{domain_id}/ccaas/cloud-connections |
查询云连接列表 |
|
cc:bandwidthPackages:list |
/v3/{domain_id}/ccaas/bandwidth-packages |
查询带宽包列表 |
|
|
cc:interRegionBandwidths:list |
/v3/{domain_id}/ccaas/inter-region-bandwidths |
查询域间带宽列表 |
|
|
CDM |
cdm:cluster:list |
/v1.1/{project_id}/clusters |
查询集群列表 |
|
CloudTable |
cloudtable:cluster:list |
/v2/{project_id}/clusters |
查询集群列表 |
|
DAYU(DIS) |
dis:stream:list |
/v2/{project_id}/streams |
查询通道列表 |
|
DDMS |
ddm:instance:list |
/v1/{project_id}/instances |
查询DDM实例列表 |
|
DDOS |
cnad:package:list |
/v1/cnad/packages |
查询实例列表 |
|
cnad:protectedIp:list |
/v1/cnad/protected-ips |
查询防护对象列表 |
|
|
DDS |
dds:instance:list |
/v3/{project_id}/instances |
查询实例列表 |
|
DLI |
dli:jobs:listAll |
/v1.0/{project_id}/streaming/jobs |
查询flink作业列表 |
|
dli:elasticresourcepool:list |
/v3/{project_id}/elastic-resource-pools |
查询所有弹性资源池 |
|
|
DWS |
dws:openAPICluster:list |
/v1.0/{project_id}/clusters |
查询集群列表 |
|
ELB |
elb:loadbalancers:list |
/v3/{project_id}/elb/loadbalancers |
查询负载均衡器列表 |
|
elb:listeners:list |
/v3/{project_id}/elb/listeners |
查询listener列表 |
|
|
elb:pools:list |
/v3/{project_id}/elb/pools |
查询后端云服务器组列表 |
|
|
elb:availability-zones:list |
/v3/{project_id}/elb/availability-zones |
查询可用区列表 |
|
|
GaussDBV5 |
gaussdb:instance:list |
/v3/{project_id}/instances |
查询数据库实例列表 |
|
GCB |
cc:gcbandwidths:list |
/v3/{domain_id}/gcb/gcbandwidths |
查询全域互联带宽列表 |
|
LTS |
lts:groups:list |
/v2/{project_id}/groups |
查询账号下所有日志组 |
|
lts:topics:list |
/v2/{project_id}/groups/{log_group_id}/streams |
查询指定日志组下的所有日志流 |
|
|
LakeFormation |
lakeformation:instance:list |
/v1/{project_id}/instances |
查询实例列表 |
|
ModelArts |
modelarts:service:get |
/v1/{project_id}/services/{service_id} |
查询模型服务详情 |
|
MRS |
mrs:cluster:list |
/v1.1/{project_id}/cluster_infos |
查询集群列表(V1) |
|
NoSQL |
nosql:instance:list |
/v3/{project_id}/instances |
查询实例列表和详情 |
|
SFS |
sfs:shares:getShare |
/v2/{project_id}/shares |
查询所有共享 |
|
WAF(Premium) |
waf:premiumInstance:list |
/v1/{project_id}/premium-waf/instance |
查询WAF独享引擎列表 |