appdynamics/db-agent该镜像是一款轻量级数据库监控代理工具,旨在实时采集、分析各类数据库的关键性能指标与运行状态。支持主流数据库系统监控,提供指标可视化集成与告警通知能力,帮助用户及时掌握数据库健康状况,优化性能并保障服务稳定运行。
bashdocker run -d \ --name db-monitor-agent \ -e DB_TYPE=mysql \ -e DB_HOST=172.17.0.1 \ -e DB_PORT=3306 \ -e DB_USER=monitor \ -e DB_PASSWORD=Monitor@2024 \ -e MONITOR_INTERVAL=30 \ -e PROMETHEUS_EXPORTER=true \ -p 9090:9090 \ db-monitor-agent:latest
yamlversion: '3.8' services: db-monitor: image: db-monitor-agent:latest container_name: db-monitor restart: always environment: # 数据库连接配置 - DB_TYPE=postgresql - DB_HOST=postgres-primary - DB_PORT=5432 - DB_USER=pg_monitor - DB_PASSWORD=Secure@PG2024 - DB_NAME=business_db # 监控配置 - MONITOR_INTERVAL=60 # 指标采集间隔(秒) - LOG_LEVEL=info # 日志级别:debug/info/warn/error # Prometheus集成 - PROMETHEUS_EXPORTER=true - PROMETHEUS_PORT=9090 # 告警配置 - ALERT_EMAIL=*** - ALERT_SLACK_WEBHOOK=[***] ports: - "9090:9090" # Prometheus指标暴露端口 volumes: - ./monitor-rules:/app/rules # 挂载自定义监控规则文件 depends_on: - postgres-primary
| 参数名 | 描述 | 取值范围 | 默认值 | 是否必填 |
|---|---|---|---|---|
DB_TYPE | 目标数据库类型 | mysql/postgresql/mongodb/redis | - | 是 |
DB_HOST | 数据库主机地址 | IP/域名 | - | 是 |
DB_PORT | 数据库服务端口 | 1-65535 | 因数据库而异 | 是 |
DB_USER | 监控用户账号 | 字符串 | - | 是 |
DB_PASSWORD | 监控用户密码 | 字符串 | - | 是 |
DB_NAME | 目标监控数据库名(可选) | 字符串 | - | 否 |
MONITOR_INTERVAL | 指标采集间隔(秒) | 10-300 | 30 | 否 |
| 参数名 | 描述 | 取值范围 | 默认值 | 是否必填 |
|---|---|---|---|---|
PROMETHEUS_EXPORTER | 启用Prometheus指标暴露 | true/false | false | 否 |
PROMETHEUS_PORT | Prometheus暴露端口 | 1024-65535 | 9090 | 否 |
ALERT_EMAIL | 告警接收*** | ***格式字符串 | - | 否 |
ALERT_SLACK_WEBHOOK | Slack告警Webhook地址 | URL字符串 | - | 否 |
LOG_LEVEL | 日志输出级别 | debug/info/warn/error | info | 否 |
通过挂载规则目录(如-v ./monitor-rules:/app/rules)自定义监控阈值,规则文件为YAML格式:
yaml# mysql_high_connection.yaml metric: connection_count description: "数据库连接数监控" threshold: 1500 operator: gt # gt(大于)/lt(小于)/gte(大于等于)/lte(小于等于) severity: critical # critical/warning/info alert_message: "数据库连接数超过阈值({threshold}),当前值:{current_value}"
PROCESS、SELECT权限;PostgreSQL需pg_monitor角色)--network=host模式-v ./data:/app/data)实现持久化MONITOR_INTERVAL),减少同时监控的数据库实例数量manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务