云服务器内容精选

  • 常用中间件Exporter接入 AOM 表1 常用中间件Exporter接入AOM 操作指导 说明 PostgreSQL Exporter接入AOM实现指标监控 使用PostgreSQL过程中需要对PostgreSQL运行状态进行监控,以便了解PostgreSQL服务是否运行正常,及时排查PostgreSQL故障问题原因。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控PostgreSQL运行状态。本文介绍如何部署Exporter以及实现PostgreSQL Exporter告警接入等操作。 MySQL Exporter接入AOM实现指标监控 MySQL Exporter专门为采集MySQL数据库监控指标而设计开发,通过Exporter上报核心的数据库指标,用于异常报警和监控大盘展示。目前,Exporter支持5.6版本或以上版本的MySQL。在MySQL低于5.6版本时,部分监控指标可能无法被采集。 Kafka Exporter接入AOM实现指标监控 使用Kafka过程中需要对Kafka运行状态进行监控,例如集群状态、消息消费情况是否有积压等。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控Kafka运行状态。本文介绍如何部署Kafka Exporter以及实现Kafka Exporter告警接入等操作。 Memcached Exporter接入AOM实现指标监控 使用Memcached过程中需要对Memcached运行状态进行监控,以便了解Memcached服务是否运行正常,排查Memcached故障等。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控Memcached运行状态。本文为您介绍如何使用Prometheus监控服务Memcached。 MongoDB Exporter接入AOM实现指标监控 使用MongoDB过程中需要对MongoDB运行状态进行监控,以便了解MongoDB服务是否运行正常,排查MongoDB故障问题原因。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控MongoDB运行状态。本文介绍如何部署Exporter以及实现MongoDB Exporter告警接入等操作。 ElasticSearch Exporter接入AOM实现指标监控 使用ElasticSearch过程中需要对ElasticSearch运行状态进行监控,例如集群及索引状态等。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控ElasticSearch运行状态。本文介绍如何部署ElasticSearch Exporter以及实现ElasticSearch Exporter告警接入等操作。 Redis Exporter接入AOM实现指标监控 使用数据库Redis过程中需要对Redis运行状态进行监控,以便了解Redis服务是否运行正常,及时排查Redis故障等。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控Redis运行状态。本文为您介绍如何使用Prometheus监控Redis。
  • 其他Exporter接入AOM实现指标监控 如果您所使用的基础组件还没有提供相应的集成方式,可以参考如下方式进行集成,以及自定义监控大屏来满足相应的监控需求。 当前支持的中间件Exporter:开源社区Exporter列表。 在常用中间件Exporter接入AOM中,已经提供部分常用中间件Exporter接入指导,您可以参考相关实践步骤,在CCE集群中部署其他的Exporter,并配置CCE集群指标采集规则,然后进行验证。
  • 在CCE集群部署PostgreSQL Exporter 登录CCE控制台。 单击已接入的集群名称,进入该集群的管理页面。 执行以下操作完成Exporter部署。 使用Secret管理PostgreSQL密码。 在左侧导航栏中选择“工作负载”,在右上角单击“YAML创建”完成YAML配置。YAML配置说明:使用Kubernetes的Secret来管理密码并对密码进行加密处理,在启动PostgreSQL Exporter的时候直接使用Secret Key,需要调整对应的password。 YAML 配置示例如下: apiVersion: v1 kind: Secret metadata: name: postgres-test type: Opaque stringData: username: postgres #对应 PostgreSQL 用户名 password: *********** #对应 PostgreSQL 密码 部署PostgreSQL Exporter。 在左侧导航栏中选择“工作负载”,在右上角单击“YAML创建”,以YAML的方式部署Exporter。 YAML配置示例如下(请直接复制下面的内容,根据实际业务调整相应的参数): apiVersion: apps/v1 kind: Deployment metadata: name: postgres-test # 根据业务需要调整成对应的名称,建议加上 PG 实例的信息 namespace: default #需要和 postgres 的 service 在同一命名空间 labels: app: postgres app.kubernetes.io/name: postgresql spec: replicas: 1 selector: matchLabels: app: postgres app.kubernetes.io/name: postgresql template: metadata: labels: app: postgres app.kubernetes.io/name: postgresql spec: containers: - name: postgres-exporter image: swr.cn-north-4.myhuaweicloud.com/aom-exporter/postgres-exporter:v0.8.0 # 上传至 SWR 的 postgres-exporter 镜像 args: - "--web.listen-address=:9187" # Exporter 开启的端口 - "--log.level=debug" # 日志级别 env: - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: postgres-test # 对应上一步中的 Secret 的名称 key: username # 对应上一步中的 Secret Key - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: postgres-test # 对应上一步中的 Secret 的名称 key: password # 对应上一步中的 Secret Key - name: DATA_SOURCE_URI value: "x.x.x.x:5432/postgres?sslmode=disable" # 对应的连接信息 ports: - name: http-metrics containerPort: 9187 获取指标。 通过“curl http://exporter:9187/metrics”无法获取Postgres实例运行时间,可以通过自定义一个queries.yaml来获取该指标。 创建一个包含queries.yaml的配置。 将配置作为Volume挂载到Exporter某个目录下。 通过extend.query-path来使用配置,将上述的Secret以及Deployment进行汇总,汇总后的YAML如下所示: # 以下 document 创建一个包含自定义指标的 queries.yaml --- apiVersion: v1 kind: ConfigMap metadata: name: postgres-test-configmap namespace: default data: queries.yaml: | pg_postmaster: query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()" master: true metrics: - start_time_seconds: usage: "GAUGE" description: "Time at which postmaster started" # 以下 document 挂载了 Secret 和 ConfigMap ,定义了部署 Exporter 相关的镜像等参数 --- apiVersion: apps/v1 kind: Deployment metadata: name: postgres-test namespace: default labels: app: postgres app.kubernetes.io/name: postgresql spec: replicas: 1 selector: matchLabels: app: postgres app.kubernetes.io/name: postgresql template: metadata: labels: app: postgres app.kubernetes.io/name: postgresql spec: containers: - name: postgres-exporter image: wrouesnel/postgres_exporter:latest args: - "--web.listen-address=:9187" - "--extend.query-path=/etc/config/queries.yaml" - "--log.level=debug" env: - name: DATA_SOURCE_USER valueFrom: secretKeyRef: name: postgres-test-secret key: username - name: DATA_SOURCE_PASS valueFrom: secretKeyRef: name: postgres-test-secret key: password - name: DATA_SOURCE_URI value: "x.x.x.x:5432/postgres?sslmode=disable" ports: - name: http-metrics containerPort: 9187 volumeMounts: - name: config-volume mountPath: /etc/config volumes: - name: config-volume configMap: name: postgres-test-configmap --- apiVersion: v1 kind: Service metadata: name: postgres spec: type: NodePort selector: app: postgres app.kubernetes.io/name: postgresql ports: - protocol: TCP nodePort: 30433 port: 9187 targetPort: 9187 访问地址: http://{集群任意节点的公网IP}:30433/metrics,即可通过自定义的queries.yaml查询到Postgres实例启动时间指标。 图1 访问地址
  • 方式一 登录AOM华为云官网。 在AOM产品简介下方单击“AOM2.0控制台”,即可进入AOM 2.0服务页面。 图1 登录AOM官网 在弹出的“通知”对话框中仔细阅读从AOM 1.0切换到AOM 2.0计费方式变化的说明。 单击“授权”,然后在“云服务授权”页面中仔细阅读授权声明后,勾选“我已阅读并同意授权声明”。 单击“免费开通服务并授权”,即可免费开通AOM 2.0服务。 在页面左侧导航栏单击任意一个功能名称,如“仪表盘”,可进入该功能的操作界面。
  • 应用场景 使用MongoDB过程中需要对MongoDB运行状态进行监控,以便了解MongoDB服务是否运行正常,排查MongoDB故障问题原因。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控MongoDB运行状态。本文介绍如何部署Exporter以及实现MongoDB Exporter告警接入等操作。 为了方便安装管理Exporter,推荐使用CCE进行统一管理。
  • 数据库授权 登录集群执行以下命令,以root用户身份登录MySQL数据库: kubectl exec -it ${mysql_podname} bash mysql -u root -p 图1 登录数据库 登录数据库,执行以下命令为数据库授权: CREATE USER 'exporter'@'x.x.x.x(hostip)' IDENTIFIED BY 'xxxx(password)' WITH MAX_USER_CONNECTIONS 3; GRANT PRO CES S, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'x.x.x.x(hostip)'; 验证授权是否成功。 输入以下命令查询sql,查看是否有exporter的数据,有exporter的数据则证明授权成功。host为mysql所在节点的IP。 select user,host from mysql.user; 图2 查询sql
  • 应用场景 使用ElasticSearch过程中需要对ElasticSearch运行状态进行监控,例如集群及索引状态等。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控ElasticSearch运行状态。本文介绍如何部署ElasticSearch Exporter以及实现ElasticSearch Exporter告警接入等操作。 为了方便安装管理Exporter,推荐使用CCE进行统一管理。
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。 CTS新版事件列表不显示数据类审计事件,您需要在旧版事件列表查看数据类审计事件。
  • 方式一 登录AOM华为云官网。 在AOM产品简介下方单击“AOM2.0控制台”,即可进入AOM 2.0服务页面。 图1 登录AOM官网 在弹出的“通知”对话框中仔细阅读从AOM 1.0切换到AOM 2.0计费方式变化的说明。 单击“授权”,然后在“云服务授权”页面中仔细阅读授权声明后,勾选“我已阅读并同意授权声明”。 单击“免费开通服务并授权”,即可免费开通AOM 2.0服务。 在页面左侧导航栏单击任意一个功能名称,如“仪表盘”,可进入该功能的操作界面。
  • 操作流程 E CS 主机安装 UniAgent:为AOM服务控制台所在Region区主机安装UniAgent,统一管理指标采集插件。 创建主机组:主机进行虚拟分组,便于分类管理、提升配置多个主机数据采集的效率。 接入弹性 云服务器ECS :通过接入ECS,您可以为主机组安装Node Exporter并配置采集任务,采集到的指标会存储在ECS类型的Prometheus实例中,方便您管理。 配置指标告警规则:通过创建告警规则对ECS的指标设置告警阈值条件,当指标数据满足设置的告警阈值条件时产生告警。
  • 采集CCE集群的业务数据 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 如下指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标。 配置信息如下: apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: kafka-exporter namespace: default spec: namespaceSelector: matchNames: - default # exporter 所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics port: metric-port selector: matchLabels: k8s-app: kafka-exporter
  • 步骤一:建设四层指标体系 接入业务层指标。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“业务层”面板单击需要接入的指标卡片。 接入ELB 日志指标 系统可自动接入,无需用户手动操作。 在左侧导航栏“仪表盘”页面,选择已创建的仪表盘,单击页面右上角的,在“日志源”页签输入对应SQL语句,即可在仪表盘中查看该日志指标。以查看流量指标为例,输入对应SQL语句,单击“查询”,如图2所示。 图2 查看流量指标 接入 APM 事务指标 为工作负载安装APM探针,具体操作请参见安装APM探针。 安装完成后,请登录安装探针的服务对应的控制台界面,执行操作触发APM事务指标的采集。以本实践场景中的商城服务为例,可以在商城操作界面将对应商品添加到购物车。 登录AOM 2.0控制台。 在左侧导航栏选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的APM指标。 接入应用层指标。 为工作负载安装APM探针,具体操作如下: 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏中选择“工作负载 ”,选择需要上报到AOM的工作负载类型。 单击工作负载名称,选择“性能管理配置”,单击右下角“编辑”,修改“性能管理配置”相关信息。 选择“APM 2.0探针”,设置“探针版本”为“latest-x86”,“APM环境”为“phoenixenv1”,从“APM应用”的下拉列表中选择创建的“phoenixapp1”应用。 设置完成后,单击“保存”。 安装完成后,请登录安装探针的服务对应的控制台界面,执行操作触发应用层指标的采集。以本实践场景中的商城服务为例,可以在商城操作界面将对应商品添加到购物车。 登录AOM 2.0控制台。 在左侧导航栏选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的应用层指标。 接入中间件指标。 将数据上传到ECS服务器。 下载mysqld_exporter-0.14.0.linux-amd64.tar.gz软件包,下载地址:https://prometheus.io/download/。 以root用户登录ECS服务器,将下载的Exporter软件包上传到ECS服务器并解压。 登录RDS 控制台,在“实例管理”界面实例列表中单击一个RDS实例名。在“基本信息”界面查看RDS安全组。 图3 查看RDS安全组 检查RDS的安全组是否已开放3306端口。 图4 检查RDS端口是否开放 执行以下命令,进入解压文件夹,并在ECS服务器上配置mysql.cnf文件。 cd mysqld_exporter-0.14.0.linux-amd64 vi mysql.cnf 例如,在mysql.cnf文件中添加如下内容: [client] user=root(rds用户名) password=****(rds密码) host=192.168.0.198(rds公网IP) port=3306(端口) 执行以下命令,启动mysqld_exporter工具。 nohup ./mysqld_exporter --config.my-cnf="mysql.cnf" --collect.global_status --collect.global_variables & 执行以下命令,确认工具是否正常启动。 curl http://127.0.0.1:9104/metrics 如果回显信息如图5所示,能够查看到指标则说明工具启动正常。 图5 查看指标 通过虚机接入方式接入中间件指标。 登录AOM 2.0控制台。 在“虚机接入”界面为ECS服务器安装UniAgent采集工具,具体操作请参见手动安装UniAgent。 在左侧导航栏中选择“接入中心”,在右侧“Prometheus 中间件”面板单击需要接入的指标卡片。 在弹框中配置采集任务和安装Exporter,详细操作请参见虚机场景Exporter接入。 完成后,单击“立即创建”。 接入完成后,在左侧导航栏,选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的中间件指标。 接入基础设施层指标。 登录AOM 2.0控制台。 在左侧导航栏中选择“接入中心”。 在右侧“Prometheus 运行环境”与“Prometheus 云服务”面板单击需要接入的指标卡片。 选择容器指标卡片: 以选择“云容器引擎CCE”卡片为例,云容器引擎CCE在购买后集群后默认已经安装ICAgent采集器。 选择云服务监控指标卡片: 在弹出的“云服务接入”对话框中选择需要监控的云服务。例如RDS或DCS服务。 单击“确定”完成接入。 接入完成后,系统自动跳转至“云服务监控”页面,即可查看已选择的云服务运行状态等信息。 接入完成后,在左侧导航栏选择“指标浏览”。在右侧区域通过选择指标的方式查看接入的基础设施层指标。
  • 解决方案 AOM能够实现云上应用的一站式立体化运维管理,在接入中心中可以接入需要监控的业务层、应用层、中间件层、基础设施层指标,在仪表盘中实现个性化监控,以及通过统一告警入口配置告警规则,实现业务的日常巡检,保障业务的正常运行。 AOM提供多场景、多层次、多维度指标数据的监控能力,建立了从基础设施层指标、中间件层指标、应用层指标到业务层指标的四层指标体系,将1000+种指标数据全方位呈现,数据丰富全面。 表1 AOM支持的四层指标体系 类型 来源 指标举例 如何接入 业务层指标 通常来源于端侧日志SDK、提取的ELB日志。 访问UV、访问PV、访问延时、访问失败率、访问流量情况等 接入业务层指标 通常来源于事务监控或上报的自定义指标。 URL的调用次数、URL的最大并发数、URL的最大响应时间等 应用层指标 通常来源于组件性能图表或接口性能数据。 接口调用次数、请求平均时延、错误调用次数、请求吞吐量等 接入应用层指标 中间件指标 通常来源于原生中间件或云中间件数据。 文件系统容量、文件系统使用率等 接入中间件指标 基础设施层指标 通常来源于容器或云服务相关数据,例如计算、存储、网络、数据库等。 CPU使用率、内存使用率、健康状态等 接入基础设施层指标 接入容器指标 接入云服务指标 图1 AOM四层指标体系
  • 步骤四:自建机器通过专线访问AOM 域名 自建机器可以通过直接访问 VPC终端节点 VPC-EP的IP,访问VPC-EP对接的域名,也可以通过在机器上配置域名解析,通过接口访问AOM服务。以下通过配置域名解析为例访问AOM服务。 以Centos为例在自建机器中执行以下命令。 sudo vi /etc/hosts 配置域名解析。例如,新增配置: 192.168.0.31 aom-access.cn-north-4.myhuaweicloud.com “192.168.0.31”为VPC-EP的IP地址 ,“aom-access.cn-north-4.myhuaweicloud.com”为AOM的域名。
  • 解决方案 AOM通过设置告警规则,实时监控环境中主机、组件等资源使用情况。当产品自身或外部服务存在异常情况时,立即触发告警。并提供告警降噪功能,支持发送告警通知前按告警降噪规则对告警进行处理,处理完成后再发送通知,帮助用户快速识别重点问题,避免产生告警风暴。 告警降噪功能分为分组、去重、抑制、静默四部分: 使用分组规则,您可以从告警中筛选出满足条件的告警子集,然后按分组条件对告警子集分组,告警触发时同组告警会被汇聚在一起发送一条通知。 使用抑制规则,您可以抑制或阻止与某些特定告警相关的其他告警通知。例如:当严重级别的告警产生时,可以抑制与其相关的低级别的告警。或当节点故障发生时,抑制节点上的进程或者容器的所有其他告警。 使用静默规则,您可以在指定时间段屏蔽告警通知,静默规则一旦创建完成,即刻生效。 去重为内置策略,服务后台会自动检验告警内容是否一致实现去重的效果,用户无需手动创建规则。 下面以监控ELB业务层全量指标为例说明。