prometheus数据库监控-那些你必须知道的事儿

技术导语: 正如标题描述的,本章将介绍如何通过prometheus的客户端工具postgres-exporter实现postgresql数据库的监控,当然prometheus社区还提供了其他类型的数据库监控客户端,如mysql-exporter,这里就不多列举了。

客户端可执行文件

postgres-exporter

客户端配置文件

custom.yaml

pg_replication:
  query: "SELECT EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp())) as lag"
  metrics:
    - lag:
        usage: "GAUGE"
        description: "Replication lag behind master in seconds"

客户端启动脚本

必须定义环境变量:

  • DATA_SOURCE_NAME:pg库连接信息,安全起见,建议创建只读用户用于监控使用。
  • PG_EXPORTER_EXTEND_QUERY_PATH:告警配置信息文件路径。

postgresql_startup.sh

#!/bin/bash
export DATA_SOURCE_NAME="postgresql://readonly:Readonly@123@192.168.6.146:5432/postgres?sslmode=disable"
export PG_EXPORTER_EXTEND_QUERY_PATH="/etc/prometheus/custom.yaml"
nohup /usr/local/bin/postgres_exporter --web.listen-address=":9058"  >>/var/log/prometheus/postgres_exporter.log 2>&1 &

客户端metrics信息示例

http://ip:9058/metrics
在这里插入图片描述

告警配置

举个栗子,假设指标pg_replication_lag结果值>10000即触发告警,则配置如下。
rules.yml

groups:
- name: rule1
  rules:
  - alert: '测试'
    expr: 'pg_replication_lag>10000'
    for: 1s
    labels:
      severity: 一般
    annotations:
      value: '{{ $value }}'
      strategyid: 1

至于生成的告警信息如何收集并且有效管理,请参照之前的文章。
如果您喜欢我的文章,请关注我哦。后续会提供更多的干货分享。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值