达梦数据库监控观测最佳实践

概述

达梦企业管理器简称 DEM,架构如下:

概略来说,每个数据库主机安装代理程序 DMAgent,在监控方面,它将指标发送至 DEM 服务端,用户可访问 DEM 控制台查看数据主机和实例的监控指标,在 DEM 进行配置后可通过 http://<dem-server>:8080/dem/metrics 端点暴露主机和数据库的 Prometheus 指标,观测云 DataKit 可从此端点采集指标完成达梦数据库集成。

前提条件

  • 监控目标可通过 DMAgent 上报指标至 DEM。

配置 DEM 暴露监控指标

请按照以下步骤操作:

1、访问 DEM,点击“监控-数据库监控”,点击“+”,添加需要监控的数据库实例。

2、点击“系统-系统配置”,在第七项“其他功能”中修改 prometheus_metric_mf_nodes 和 prometheus_metric_db_nodes,分别添加主机和数据库节点,以暴露 Prometheus 指标,修改后点击保存。

3、请求 http://<dem-server>:8080/dem/metrics 端点,如果有 Prometheus 指标输出则配置成功,指标中有以下重要标签:

  • instance,DEM 实例;
  • db,数据库实例名;
  • mf,主机。

观测云

观测云采集器 DataKit 支持 Prometheus 指标采集插件,能够从指标端点自动拉取指标,并在指标上报时附加由用户定义的标签。

部署 DataKit

登录观测云控制台,点击「集成」-「DataKit」-「Linux」,复制安装命令在服务器执行即可,推荐安装在 DEM 所在服务器。

开启 Promv2 插件

按照以下步骤操作:

1、开启插件:

# 进入 Prometheus 采集器配置文件目录
cd /usr/local/datakit/conf.d/prom
# 创建插件配置文件
cp promv2.conf.sample promv2_dem.conf

2、修改插件配置,以下是一份完整的配置示例:

# {"version": "1.75.1", "desc": "do NOT edit this line"}

[[inputs.promv2]]
  ## Collector alias.
  # 此项将作为 datakit monitor 命令中采集器的名称,设置为指定值便于区分
  source = "prom_dem"

  # Prometheus 指标端点
  url = "http://192.168.195.55:8080/dem/metrics"

  ## (Optional) Collect interval: (defaults to "30s").
  # 采集频率
  interval = "30s"

  ## Measurement name.
  ## If measurement_name is empty, split metric name by '_', the first field after split as measurement set name, the rest as current metric name.
  ## If measurement_name is not empty, using this as measurement set name.
  # 上报至观测云时的指标集名称
  measurement_name = "prom_dem"

  ## Keep Exist Metric Name
  ## If the keep_exist_metric_name is true, keep the raw value for field names.
  

  ## The bearer_token_file specifies the token file, and the Authorization header is added automatically.
  # bearer_token_file = ""
  ## TLS config
  # insecure_skip_verify = true
  ## Following ca_certs/cert/cert_key are optional, if insecure_skip_verify = true.
  # ca_certs = ["/opt/tls/ca.crt"]
  # cert     = "/opt/tls/client.root.crt"
  # cert_key = "/opt/tls/client.root.key"

  ## Set to 'true' to enable election.
  election = true

  ## Add HTTP headers to data pulling (Example basic authentication).
  # [inputs.promv2.http_headers]
  # Authorization = ""

  [inputs.promv2.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"

3、执行命令 datakit service -R 重启 DataKit,启用采集器,可执行命令 datakit monitor 查看采集器运行情况,稍后,可在观测云「指标」-「指标管理」页面搜索指标集 prome_dem 查看指标。

需要注意的是,DEM 的导出指标并没有其控制台丰富。

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入“达梦”, 选择 “达梦数据库监控视图” ,点击 “确定” 即可添加视图。视图包含数据库与主机的基本指标。

关键指标

指标名类型单位描述
dm_global_status_tpsGauge-每秒事务数
dm_global_status_qpsGauge-每秒查询数
dm_global_status_nio_ipsGaugeB/s每秒网络接收字节数
dm_global_status_nio_opsGaugeB/s每秒网络发送字节数
dm_global_status_fio_ipsGaugeB/s每秒磁盘写入字节数
dm_global_status_fio_opsGaugeB/s每秒磁盘读取字节数
dm_global_status_cpu_use_rateGauge-数据库 CPU 使用率
dm_global_status_mem_usedGaugeB数据库内存用量
dm_global_status_sessionsGauge-会话数
dm_global_status_avg_wait_timeGaugems任务平均等待时间

监控器

观测云已内置部分监控器,在「监控」-「监控器」页面启用 达梦数据库检测库

监控器名称告警提示
达梦数据库会话总数百分比高会话监控主要监控数据库中的活动会话,总会话以及其占最大连接数( max_sessions=10000 )的百分比,当前活动会话连接数量太大,则说明数据库当前可能存在业务繁忙、存在慢 SQL、应用重连机制存在缺陷,当前非活动会话连接数量太大,说明数据库可能存在系统当前处于会话空闲期、接池会话上线设置过高、应用释放连接机制存在异常
达梦数据库产生等待任务产生等待任务意味着线程池耗尽,应检查造成此现象的原因,避免任务堆积或异常
达梦数据库主机磁盘使用率高磁盘空间不足将导致数据库无法使用,需及时治理和扩容
达梦数据库主机内存使用率高内存使用率过高应检查占用内存的具体进程,对数据库资源进行扩容或者移除影响数据库资源的进程
达梦数据库主机 CPU 使用率高CPU 使用率过高应检查占用 CPU 的具体进程,对数据库资源进行扩容或者移除影响数据库资源的进程

总结

达梦数据库通过自有组件 DEM 导出 Promethues 协议的指标,方便接入到观测云平台。观测云采集这些指标并结合业务形态进行全面可观测,为用户提供良好的产品体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值