使用 AlloyDB Omni 监控工具

选择文档版本:

本页面列出了可用于监控 AlloyDB Omni 实例的工具。

监控工具

下表列出了您可以选择和安装以监控 AlloyDB Omni 实例的工具:

用于执行以下操作 使用 说明
监控性能和可用性 Datadog 监控 AlloyDB Omni 实例的性能、可用性和健康状况。
从实例中导出可观测数据 Postgres Exporter 导出可观测性查询的结果。安装 Postgres Exporter
以可读格式检索可观测数据 Prometheus 监控系统,以便以可读格式返回可观测性数据。安装 Prometheus
在信息中心内显示数据 Grafana 创建信息中心以显示指标。安装 Grafana
检索性能数据进行分析 Performance Snapshot Report 检索性能数据以确定性能问题的原因。

安装 Postgres Exporter

Postgres Exporter 是一种工具,可采用监控系统 Prometheus 可读取的格式导出可观测性查询。该导出器内置了许多标准查询,您可以根据需要添加其他查询和规则。您还可以配置其他安全选项,例如 SSL 和用户身份验证。在此示例中,仅使用基本配置选项。

安装

  1. 为 Postgres Exporter 创建目录。

    sudo mkdir /opt/postgres_exporter
    sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
    cd /opt/postgres_exporter
  2. 下载 Postgres Exporter。

    wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
    
  3. 提取 Postgres Exporter。

    tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
    
  4. 将 Postgres Exporter 复制到您创建的目录。

    cd postgres_exporter-0.15.0.linux-amd64
    sudo cp postgres_exporter /usr/local/bin
  5. 为 Postgres Exporter 创建适当的 .env 文件。

    cd /opt/postgres_exporter
    sudo vi postgres_exporter.env
  6. 将数据源添加到 /opt/postgres_exporter/postgres_exporter.env,以监控一个或多个数据库。

    如需监控单个数据库,请添加以下行:

    DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/DATABASE_NAME?sslmode=disable"
    

    如需监控所有数据库,请添加以下行:

    DATA_SOURCE_NAME="postgresql://USERNAME:PASSWORD@POSTGRES_IP_ADDRESS:PORT/?sslmode=disable"
    

    执行以下变量替换操作:

    • USERNAME:用于登录数据库的用户名。
    • PASSWORD:用户账号的密码。
    • POSTGRES_IP_ADDRESS:AlloyDB Omni 实例的 IP 地址。
    • PORT:托管数据库的端口。
    • DATABASE_NAME:数据库的名称。
  7. 将以下信息添加到 /etc/systemd/system/postgres_exporter.service,以便 Postgres Exporter 在重启后继续运行。

    [Unit]
    Description=Prometheus exporter for Postgresql
    Wants=network-online.target
    After=network-online.target
    [Service]
    User=postgres
    Group=postgres
    WorkingDirectory=/opt/postgres_exporter
    EnvironmentFile=/opt/postgres_exporter/postgres_exporter.env
    ExecStart=/usr/local/bin/postgres_exporter --web.listen-address=:POSTGRES_EXPORTER_PORT --web.telemetry-path=/metrics
    Restart=always
    [Install]
    WantedBy=multi-user.target
    

    执行以下变量替换操作:

    • POSTGRES_EXPORTER_PORT:托管 Postgres Exporter 的端口。我们建议使用端口 9187
  8. 重新加载 Postgres Exporter。

    sudo systemctl daemon-reload
    
  9. 启动 Postgres Exporter。

    sudo systemctl start postgres_exporter
    sudo systemctl enable postgres_exporter
    sudo systemctl status postgres_exporter

现在,您应该可以通过以下网址访问 Postgres Exporter:

http://POSTGRES_EXPORTER_HOST_IP_ADDRESS:POSTGRES_EXPORTER_PORT/metrics

执行以下变量替换操作:

  • POSTGRES_EXPORTER_HOST_IP_ADDRESS:您的机器的 IP 地址。
  • POSTGRES_EXPORTER_PORT:您在第 7 步中使用的端口。

Prometheus

Prometheus 是一种监控系统,可用于查询 Postgres Exporter 并以可读格式返回可观测数据。

安装

  1. 创建 prometheus 用户。

    sudo groupadd --system prometheus
    sudo useradd -s /sbin/nologin --system -g prometheus prometheus
  2. 为 Prometheus 创建目录。

    sudo mkdir /etc/prometheus
    sudo mkdir /var/lib/prometheus
  3. 下载 Prometheus。

    wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
    
  4. 提取 Prometheus。

    sudo tar xvf prometheus*.tar.gz
    cd prometheus*/
    sudo mv prometheus /usr/local/bin
    sudo mv promtool /usr/local/bin
  5. 将 Prometheus 的所有权设置为 prometheus 用户。

    sudo chown prometheus:prometheus /usr/local/bin/prometheus
    sudo chown prometheus:prometheus /usr/local/bin/promtool
  6. 将配置文件移至正确的位置。

    sudo mv consoles /etc/prometheus
    sudo mv console_libraries /etc/prometheus
    sudo mv prometheus.yml /etc/prometheus
  7. 将 Prometheus 目录的所有权设置为 prometheus 用户。

    sudo chown prometheus:prometheus /etc/prometheus
    sudo chown prometheus:prometheus /etc/prometheus/*
    sudo chown -R prometheus:prometheus /etc/prometheus/consoles
    sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
    sudo chown -R prometheus:prometheus /var/lib/prometheus
  8. 将以下信息添加到 /etc/prometheus/prometheus.yml,以便 Prometheus 可以查询 Postgres Exporter。

    global:
      scrape_interval: 15s
    
    scrape_configs:
    - job_name: postgres
      static_configs:
      - targets: ['POSTGRES_EXPORTER_MACHINE_IP_ADDRESS:9187']
    
  9. 将以下信息添加到 /etc/systemd/system/prometheus.service,以便 Prometheus 在重启后继续运行。

    [Unit]
    Description=Prometheus
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    User=prometheus
    Group=prometheus
    Type=simple
    ExecStart=/usr/local/bin/prometheus \
        --config.file /etc/prometheus/prometheus.yml \
        --storage.tsdb.path /var/lib/prometheus/ \
        --web.console.templates=/etc/prometheus/consoles \
        --web.console.libraries=/etc/prometheus/console_libraries
    
    [Install]
    WantedBy=multi-user.target
    
  10. 重新加载 Prometheus。

    sudo systemctl daemon-reload
    
  11. 启动 Prometheus。

    sudo systemctl start prometheus
    sudo systemctl enable prometheus
    sudo systemctl status prometheus

现在,您应该可以通过以下网址访问 Prometheus:

http://PROMETHEUS_HOST_IP_ADDRESS:9090

执行以下变量替换操作:

  • PROMETHEUS_HOST_IP_ADDRESS:您的机器的 IP 地址。

Grafana

Grafana 是一种信息中心工具,可通过信息中心向最终用户公开 Prometheus 指标。Postgres Exporter 有多个标准信息中心可用,此可观测性示例利用了这些可用信息中心。Grafana 可通过常规的 aptyum 存储库获得,我们使用这些存储库来安装此产品。

安装

  1. 安装 Grafana。

    对于 Ubuntu 和 Debian 系统,请运行以下命令:

    sudo apt-get update
    sudo apt-get install grafana

    对于 RHEL、CentOS 或 Rocky Linux 系统,请完成以下任务:

    1. 导入 GPG 密钥。

      wget -q -O gpg.key https://rpm.grafana.com/gpg.key
      sudo rpm --import gpg.key
    2. 创建包含以下内容的 /etc/yum.repos.d/grafana.repo 文件:

      [grafana]
      name=grafana
      baseurl=https://rpm.grafana.com
      repo_gpgcheck=1
      enabled=1
      gpgcheck=1
      gpgkey=https://rpm.grafana.com/gpg.key
      sslverify=1
      sslcacert=/etc/pki/tls/certs/ca-bundle.crt
      
    3. 安装 Grafana。

      sudo dnf install grafana
      
  2. 重新加载 Grafana。

    sudo systemctl daemon-reload
    
  3. 启动 Grafana。

    sudo systemctl start grafana-server
    sudo systemctl enable grafana-server
    sudo systemctl status grafana-server

现在,您应该可以通过以下网址访问 Grafana:

http://GRAFANA_HOST_IP_ADDRESS:9090

执行以下变量替换操作:

  • GRAFANA_HOST_IP_ADDRESS:您的机器的 IP 地址。

加载信息中心

如需了解如何配置和操作 Grafana 的一般说明,请参阅设置 Grafana。有许多公共信息中心可用,但我们建议使用以下 PostgreSQL 统计信息信息中心

如需加载信息中心,请完成以下任务:

  1. 设置 Grafana。

    1. 使用 Grafana 的安装部分中的网址打开 Grafana 控制台。默认用户名和密码为 admin

    2. 更改默认密码。

    3. 如果尚未添加 Prometheus 数据源,请依次前往首页 > 数据源

    4. 点击添加新的数据源

    5. 选择 Prometheus

    6. Prometheus 服务器网址字段中,输入 Prometheus 的安装部分中的网址。

    7. 更改以下配置设置:

      • Prometheus 类型:选择 Prometheus
      • Prometheus 版本:选择 > 2.5.x
    8. 点击保存并测试

  2. 创建新信息中心。

    1. 依次前往首页 > 信息中心

    2. 点击 New(新建)。

    3. 选择新信息中心

    4. 点击导入信息中心

    5. 输入以下网址:https://grafana.com/grafana/dashboards/13494-postgresql-statistics/。

    6. 点击加载

    7. 将信息中心的名称更改为 PRODUCT_NAME PostgreSQL statistics

      PRODUCT_NAME 替换为您的产品名称。

    8. Prometheus 字段中选择您的数据源。

    9. 点击导入

Performance Snapshot Report

Performance Snapshot Report 是 AlloyDB Omni 内置的工具,可捕获和分析性能数据,以帮助您确定性能问题的原因。此工具可与其他 AlloyDB Omni 可观测性功能(例如系统数据分析Query InsightsMetrics Explorer)相辅相成,这些功能可提供有关实例的实时指标。

如需了解详情,请参阅通过比较性能快照来优化数据库性能