# 监控

docker-compose

```
version: '3.2'
services:
  node_exporter:
    image: prom/node-exporter
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
      - /etc/localtime:/etc/localtime
    ports:
      - target: 9100
        published: 39100
        protocol: tcp
        mode: host
    deploy:
      mode: global

  cadvisor:
    image: google/cadvisor
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /:/rootfs:ro
      - /var/run:/var/run
      - /sys:/sys:ro
      - /var/lib/docker:/var/lib/docker:ro
    ports:
      - target: 8080
        published: 38080
        protocol: tcp
        mode: host
    deploy:
        mode: global

  postgres_exporter:
    image: prometheuscommunity/postgres-exporter
    volumes:
      - /etc/hosts:/etc/hosts
    environment:
      - DATA_SOURCE_NAME=postgresql://postgres:adminpassword@pgsql:5432/postgres?sslmode=disable
    ports:
      - 39187:9187
  
  pgpool2_exporter:
    image: pgpool/pgpool2_exporter:latest
    volumes:
      - /etc/hosts:/etc/hosts
    environment:
      - DATA_SOURCE_NAME=postgresql://postgres:adminpassword@pgsql:5432/postgres?sslmode=disable
    ports:
      - 39719:9719


  redis_exporter:
    image: oliver006/redis_exporter
    ports:
      - 39121:9121
    environment:
      - REDIS_PASSWORD=password
      - REDIS_USER=default

  prometheus:
    image: prom/prometheus
    volumes:
      - /etc/hosts:/etc/hosts
      - /data/monitor/prometheus.yml:/etc/prometheus/prometheus.yml
      - /data/monitor/targets-redis-instances.json:/etc/prometheus/targets-redis-instances.json
    ports:
      - 39090:9090
    deploy:
      replicas: 1

```



## pgpool监控

插件pgpool/pgpool2_exporter

地址[GitHub - pgpool/pgpool2_exporter：Pgpool-II 的 Prometheus exporter。](https://github.com/pgpool/pgpool2_exporter)

运行（默认端口9719）

```
pgpool2_exporter:
    image: pgpool/pgpool2_exporter:latest
    volumes:
      - /etc/hosts:/etc/hosts
    environment:
      - DATA_SOURCE_NAME=postgresql://postgres:adminpassword@pgsql:5432/postgres?sslmode=disable
    ports:
      - 39719:9719
```

```
- job_name: "pgsql2"
    static_configs:
      - targets: ["pgpool2_exporter:9719"]

```



### 普罗米修斯指标

| 名字                                                | Pgpool-II 版本 | 描述                                                 |
| --------------------------------------------------- | -------------- | ---------------------------------------------------- |
| pgpool2_frontend_total                              | 3.6+           | 子进程总数                                           |
| pgpool2_frontend_used                               | 3.6+           | 使用的子进程数                                       |
| pgpool2_frontend_used_ratio                         | 3.6+           | 使用的子进程与子进程总数的比率（0.0 到 1.0）         |
| pgpool2_pool_nodes_status                           | 3.6+           | 后端节点状态（1 表示启动或等待，0 表示关闭或未使用） |
| pgpool2_pool_nodes_replication_delay                | 3.6+           | 复制延迟                                             |
| pgpool2_pool_nodes_select_cnt                       | 3.6+           | 选择发送到每个后端的查询计数                         |
| pgpool2_pool_cache_cache_hit_ratio                  | 3.6+           | 查询缓存命中率                                       |
| pgpool2_pool_cache_num_cache_entries                | 3.6+           | 已使用的缓存条目数                                   |
| pgpool2_pool_cache_num_hash_entries                 | 3.6+           | 总哈希条目数                                         |
| pgpool2_pool_cache_used_hash_entries                | 3.6+           | 使用的哈希条目数                                     |
| pgpool2_pool_backend_stats_select_cnt               | 4.2+           | 发布到每个后端的 SELECT 语句计数                     |
| pgpool2_pool_backend_stats_insert_cnt               | 4.2+           | 向每个后端发出的 INSERT 语句计数                     |
| pgpool2_pool_backend_stats_update_cnt               | 4.2+           | 向每个后端发出的 UPDATE 语句计数                     |
| pgpool2_pool_backend_stats_delete_cnt               | 4.2+           | 向每个后端发出的 DELETE 语句计数                     |
| pgpool2_pool_backend_stats_ddl_cnt                  | 4.2+           | 发给每个后端的 DDL 语句计数                          |
| pgpool2_pool_backend_stats_other_cnt                | 4.2+           | 颁发给每个后端的其他语句计数                         |
| pgpool2_pool_backend_stats_panic_cnt                | 4.2+           | 从后端返回的紧急消息计数                             |
| pgpool2_pool_backend_stats_fatal_cnt                | 4.2+           | 从后端返回的致命消息计数                             |
| pgpool2_pool_backend_stats_error_cnt                | 4.2+           | 从后端返回的错误消息计数                             |
| pgpool2_pool_health_check_stats_total_count         | 4.2+           | 运行状况检查计数总数                                 |
| pgpool2_pool_health_check_stats_success_count       | 4.2+           | 成功运行状况检查计数总数                             |
| pgpool2_pool_health_check_stats_fail_count          | 4.2+           | 失败的运行状况检查计数总数                           |
| pgpool2_pool_health_check_stats_skip_count          | 4.2+           | 跳过的运行状况检查计数总数                           |
| pgpool2_pool_health_check_stats_retry_count         | 4.2+           | 重试运行状况检查计数总数                             |
| pgpool2_pool_health_check_stats_average_retry_count | 4.2+           | 运行状况检查会话中重试的平均运行状况检查计数数       |
| pgpool2_pool_health_check_stats_max_retry_count     | 4.2+           | 运行状况检查会话中重试的运行状况检查最大计数数       |
| pgpool2_pool_health_check_stats_max_duration        | 4.2+           | 最长运行状况检查持续时间（以毫秒为单位）             |
| pgpool2_pool_health_check_stats_min_duration        | 4.2+           | 最小运行状况检查持续时间（以毫秒为单位）             |
| pgpool2_pool_health_check_stats_average_duration    | 4.2+           | 平均运行状况检查持续时间（以米为单位）               |

## redis监控

```
- job_name: "redis-exporter-node"
    file_sd_configs:
      - files:
        - targets-redis-instances.json
    metrics_path: /scrape
    params:
      module: [tcp_connect]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: redis_exporter:9121

```

