应用运维管理 AOM
应用运维管理 AOM
- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 通过IAM授予使用AOM的权限
- 接入AOM
- 接入AOM(新版)
- 可观测指标浏览
- 仪表盘监控
- 告警监控
- 日志管理(新版)
- 日志管理(旧版)
-
Prometheus监控
- Prometheus监控概述
- 管理Prometheus实例
- 管理Prometheus实例指标数据
- 使用Prometheus监控CCE集群指标
- 配置多账号聚合实现指标统一监控
- 配置CCE集群监控采集指标规则
- 配置预聚合规则提升指标查询效率
- 配置数据多写实现监控指标转储到自建Prometheus
- 配置指标存储时长
- 通过仪表盘监控Prometheus实例指标数据
- 配置Remote Read地址实现自建Prometheus读取AOM的Prometheus数据
- 配置Remote Write地址实现自建Prometheus数据上报到AOM
- 通过Grafana查看Prometheus实例数据
- 查看Prometheus实例指标上报量
- 基础设施监控
- 云服务监控
- 应用监控
- 智能洞察(BETA)
- Web监控
- App监控
- 应用洞察
- 运维管理
- 全局设置
- 查看AOM审计事件
- 迁移AOM 1.0数据至AOM 2.0
- 最佳实践
-
常见问题
- 仪表盘
- 告警管理
- 日志分析
- Prometheus监控
- 基础设施监控
- 应用监控
-
采集管理
- ICAgent和UniAgent是同一个插件吗?
- 如何处理界面“ICAgent状态”为“离线”的问题?
- 在主机上手工安装ICAgent后提示安装成功,但UniAgent安装与配置界面显示状态异常?
- ICAgent安装成功后,无法在界面上获取到ICAgent状态
- ICAgent安装成功后,AOM中无法监控到CPU内存使用率等信息
- 如何获取AK/SK?
- UniAgent和ICAgent安装类常见问题
- 如何在VPCEP控制台为AOM/LTS创建终端节点?
- 如何启用NGINX stub_status模块?
- APM指标数据未采集上来,可能有哪些原因?
- ECS主机上执行UniAgent安装命令,下载安装脚本失败
- 应用资源管理(即将下线)
- 运维管理(即将下线)
- 其他常见问题
- 视频帮助
- API参考
- SDK参考
- 场景代码示例
-
AOM 1.0 文档
- 产品介绍(1.0)
- 快速入门(1.0)
- 用户指南(1.0)
- 最佳实践(1.0)
-
常见问题(1.0)
- 用户高频问题
- 常见咨询问题
-
常见使用问题
- 没有消息通知服务的访问权限?
- 资源运行异常怎么办?
- 如何设置全屏模式在线时长?
- 日志配额已达到90%或已满怎么办?
- 如何获取AK/SK?
- 如何查询服务不可用时间?
- AOM告警规则状态为什么显示“数据不足”?
- 正常状态的工作负载,AOM界面显示异常是什么原因?
- 如何创建委托apm_admin_trust?
- 如何通过创建委托获取AK/SK?
- 日志费用说明
- 在控制台查看不到日志怎么办?
- 如何处理界面“ICAgent状态”为“离线”的问题?
- 安装了ICAgent,但是监控不到主机是什么原因?
- 安装ICAgent过程中,系统提示“no crontab for root”是什么原因?
- AOM配置日志转储时无法选中obs桶是什么原因?
- Grafana无法展示内容是什么原因?
- 视频帮助(1.0)
- 文档下载
- 通用参考
链接复制成功!
MySQL Exporter接入AOM实现指标监控
应用场景
MySQL Exporter专门为采集MySQL数据库监控指标而设计开发,通过Exporter上报核心的数据库指标,用于异常报警和监控大盘展示。目前,Exporter支持5.6版本或以上版本的MySQL。在MySQL低于5.6版本时,部分监控指标可能无法被采集。
约束与限制
为了方便安装管理Exporter,推荐使用云容器引擎 CCE进行统一管理。
前提条件
- CCE服务已拥有CCE集群并已安装MySQL。
- 服务已接入可观测Prometheus监控并接入CCE集群,具体请参见Prometheus实例 for CCE。
- 已将对应mysql_exporter镜像上传到SWR,具体操作请参见使用容器引擎客户端上传镜像。
数据库授权
- 登录集群执行以下命令,以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 PROCESS, 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
在CCE集群部署MySQL Exporter
- 登录CCE控制台。
- 单击已接入的集群名称,进入该集群的管理页面。
- 执行以下操作完成Exporter部署。
- 使用Secret管理MySQL连接串:
在左侧导航栏中选择“配置与密钥”,在右上角单击“YAML创建”,输入以下yaml文件:
密码是按照Opaque加密过的,配置密钥的详细操作可参考创建密钥。
apiVersion: v1 kind: Secret metadata: name: mysql-secret namespace: default type: Opaque stringData: datasource: "user:password@tcp(ip:port)/" #对应 MySQL 连接串信息,需要加密
- 部署MySQL Exporter。
在左侧导航栏中选择“工作负载”,在右上角单击“创建负载”,选择“负载类型”为无状态工作负载Deployment,选择需要的命名空间部署MySQL Exporter。
如果以YAML的方式部署Exporter,更多Exporter详细参数介绍可参考mysql-exporter,YAML配置示例如下:
apiVersion: apps/v1 kind: Deployment metadata: labels: k8s-app: mysql-exporter # 根据业务需要调整成对应的名称,建议加上MySQL实例的信息, 如 ckafka-2vrgx9fd-mysql-exporter name: mysql-exporter # 根据业务需要调整成对应的名称,建议加上MySQL实例的信息, 如 ckafka-2vrgx9fd-mysql-exporter namespace: default #需要和CCE集群中安装的MySQL命名空间一致 spec: replicas: 1 selector: matchLabels: k8s-app: mysql-exporter # 根据业务需要调整成对应的名称,建议加上MySQL实例的信息, 如 ckafka-2vrgx9fd-mysql-exporter template: metadata: labels: k8s-app: mysql-exporter # 根据业务需要调整成对应的名称,建议加上MySQL实例的信息, 如 ckafka-2vrgx9fd-mysql-exporter spec: containers: - env: - name: DATA_SOURCE_NAME valueFrom: secretKeyRef: name: mysql-secret key: datasource image: swr.cn-north-4.myhuaweicloud.com/aom-exporter/mysqld-exporter:v0.12.1 imagePullPolicy: IfNotPresent name: mysql-exporter ports: - containerPort: 9104 name: metric-port terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst imagePullSecrets: - name: default-secret restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 --- apiVersion: v1 kind: Service metadata: name: mysql-exporter spec: type: NodePort selector: k8s-app: mysql-exporter ports: - protocol: TCP nodePort: 30337 port: 9104 targetPort: 9104
- 验证MySQL Exporter是否部署成功。
- 在工作负载列表中“无状态负载”页签下,单击3.b创建的无状态工作负载的名称,在实例列表中单击操作列下的“更多 > 日志”,可以查看到Exporter成功启动并暴露对应的访问地址。
图3 查看日志
- 输入命令验证MySQL Exporter是否部署成功,有指标数据返回则表示MySQL Exporter已部署成功。有以下三种方法进行验证:
- 登录集群节点执行如下任意一种命令:
curl http://{集群IP}:9104/metrics
curl http://{集群任意节点私有IP}:30337/metrics
- 在实例列表中单击操作列下的“更多 > 远程登录”,执行如下命令:
curl http://localhost:9104/metric
- 访问:http://{集群任意节点的公网IP}:30337/metrics。
图4 访问地址
- 登录集群节点执行如下任意一种命令:
- 在工作负载列表中“无状态负载”页签下,单击3.b创建的无状态工作负载的名称,在实例列表中单击操作列下的“更多 > 日志”,可以查看到Exporter成功启动并暴露对应的访问地址。
- 使用Secret管理MySQL连接串:
配置CCE集群指标采集规则
通过“新增PodMonitor”方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。
- 登录AOM 2.0控制台。
- 在左侧菜单栏中选择“Prometheus监控 > 实例列表”。
- 在Prometheus实例列表中,单击CCE类型的Prometheus实例名称,进入该实例的详情界面。
- 在左侧导航栏单击“指标管理”,在“配置”页签下单击“PodMonitor”。
- 单击“新增PodMonitor”,在弹出的对话框中输入PodMonitor的相关参数信息,然后单击“确定”。
采集规则YAML配置样例如下,样例的指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标:
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: mysql-exporter namespace: default spec: namespaceSelector: #选择要监控 Exporter Pod 所在的namespace matchNames: - default # exporter 所在的命名空间 podMetricsEndpoints: - interval: 30s path: /metrics # 填写Prometheus Exporter对应的Path的值,默认/metrics port: metric-port # 填写 Prometheus Exporter 对应的 YAML 的 ports的name selector: # 填写要监控Exporter Pod的Label标签,以定位目标Exporter matchLabels: k8s-app: mysql-exporter
验证CCE集群指标上报到AOM
- 登录AOM 2.0控制台。
- 在左侧菜单栏中选择“Prometheus监控 > 实例列表”。
- 单击接入了该CCE集群的“prometheus for CCE”实例名称,进入实例详情页面。
- 在“指标管理”页面的“指标”页签下,选择对应集群。
- 选择Job:{namespace}/mysql-exporter,可以查询到mysql开头的自定义指标。
在AOM上配置仪表盘和告警
通过仪表盘功能可视化监控CCE集群数据,通过告警规则功能,在集群发生故障时能够及时发现并预警。
- 配置仪表盘图表
- 登录AOM 2.0控制台。
- 在左侧菜单栏中选择“仪表盘”,单击“创建仪表盘”新建一个仪表盘,详情可参见创建仪表盘。
- 在仪表盘页面选择实例类型为“Prometheus for CCE”的实例并单击“添加图表”,详情请参见添加图表至仪表盘。
- 配置告警
- 登录AOM 2.0控制台。
- 在左侧菜单栏中选择“告警管理 > 告警规则”。
- 在“指标或事件”页签下单击“创建”配置告警,详情请参见创建指标告警规则。