prometheus
监控达梦数据库有两种方式:
- 达梦自带有
dem
监控工具,但部署较为繁琐,需要tomcat
等容器才能启动。- 使用开源的
dmdb-exporter
进行监控本文主要使用
dmdb-exporter
进行监控。如果需要使用dem
工具方式监控,请参考官方《运维监控工具》
。
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_exporter
和default-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
注册为服务,实现开机自启。
创建/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_1.0_linux_amd64.tar.gz
面板:https://grafana.com/grafana/dashboards/19109
- 运维监控工具
- prometheus在dm8上部署与简单测试 | 达梦技术社区
- DM 常用动态性能视图及使用方法 | 达梦技术社区
- 动态管理和性能视图
- 达梦怎么跟mysql及oracle一样通过sql语句获取系统的TPS\QPS\IOPS | 达梦技术社区
- 模拟达梦数据库的阻塞,死锁及解锁_达梦数据库死锁解决_深寝不如的博客-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;