prometheus监控达梦数据库

概述

prometheus监控达梦数据库有两种方式:

  1. 达梦自带有dem监控工具,但部署较为繁琐,需要tomcat等容器才能启动。
  2. 使用开源的dmdb-exporter进行监控

本文主要使用dmdb-exporter进行监控。如果需要使用dem工具方式监控,请参考官方《运维监控工具》

dmdb-exporter获取、打包、启动

获取

github:https://github.com/clong365/dmdb_exporter

打包

需要有go环境。

# 进入dmdb_exporter目录

# 1. 设置环境变量,不同平台配置不同的参数即可  windows GOOS=windows GOARCH=amd64
$env:GOOS = "linux"
$env:GOARCH = "amd64"
# 2.查看环境变量
go env

# 3.执行打包
go build -o dmdb_exporter

启动

打包完成后,需要将目录下生成的二进制文件dmdb_exporterdefault-metrics.toml都上传到服务器进行启动。注意需要给执行权限

# 目录结构
[root@host-10-0-107-55 dmdb_exporter]# tree
.
├── default-metrics.toml
└── dmdb_exporter

# 执行权限
chmod +x dmdb_exporter

# 启动 
export DATA_SOURCE_NAME=dm://SYSDBA:SYSDBA@localhost:5236?autoCommit=true
./dmdb_exporter --log.level=info --default.metrics=default-metrics.toml --web.listen-address=:9161

dmdb_exporter注册服务

一般需要将dmdb_exporter注册为服务,实现开机自启。
创建/etc/systemd/system/dmdb_exporter.service文件。

[Unit]
Description=dmdb_exporter
After=network.target
[Service]
# 配置环境变量
Environment=DATA_SOURCE_NAME=dm://SYSDBA:SYSDBA@localhost:5236?autoCommit=true
# 启动脚本
ExecStart=/opt/gdmp/exporter/dmdb_exporter/dmdb_exporter --log.level=info --default.metrics=/opt/gdmp/exporter/dmdb_exporter/default-metrics.toml --web.listen-address=:9161
Restart=always
RestartSec=5
StartLimitInterval=0
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
# 加载配置文件
systemctl daemon-reload
# 启动服务
systemctl start dmdb_exporter
# 查看状态
systemctl status dmdb_exporter

dmdb_exporter安装启动脚本

dmdb_exporter_1.0_linux_amd64.tar.gz

grafana面板

面板:https://grafana.com/grafana/dashboards/19109
prometheus监控达梦数据库_第1张图片

参考文档

  1. 运维监控工具
  2. prometheus在dm8上部署与简单测试 | 达梦技术社区
  3. DM 常用动态性能视图及使用方法 | 达梦技术社区
  4. 动态管理和性能视图
  5. 达梦怎么跟mysql及oracle一样通过sql语句获取系统的TPS\QPS\IOPS | 达梦技术社区
  6. 模拟达梦数据库的阻塞,死锁及解锁_达梦数据库死锁解决_深寝不如的博客-CSDN博客

参考资料记录

-- 查看所有视图
SELECT * FROM V$DYNAMIC_TABLES

--TPS
select stat_val from sys.v$sysstat where name = 'transaction total count';
--QPS
select stat_val from sys.v$sysstat where name = 'select statements';
--每秒读取字节数
select stat_val * page from sys.v$sysstat where name = 'physical read count';
--每秒写入字节数
select stat_val * page from sys.v$sysstat where name = 'physical write count';

-- 等待事务数据
select * from  V$TRXWAIT ; 
-- 实例信息
 SELECT * FROM V$INSTANCE;
-- 表空间信息
  SELECT * FROM V$TABLESPACE;
-- 事务相关数据
  SELECT TRX_ID,LTYPE,LMODE,TABLE_ID FROM V$LOCK;
-- 数据库重要事件,例如创建库等
SELECT * FROM V$DANGER_EVENT;

你可能感兴趣的:(prometheus,prometheus,数据库)