选择并安装 AlloyDB Omni 监控工具

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

监控工具

下表列出了可用于监控 AlloyDB Omni 实例的工具:

收件人 使用 说明
监控性能和可用性 Datadog 监控 AlloyDB Omni 实例的性能、可用性和运行状况。
从实例中导出可观测性数据 Postgres 导出器 导出可观测性查询的结果。安装 Postgres 导出器
以可读格式检索可观测性数据 Prometheus 监控系统,以易于阅读的格式返回可观测性数据。安装 Prometheus
在信息中心内显示数据 Grafana 创建一个信息中心来显示指标。安装 Grafana
检索性能数据以进行分析 效果快照报告 检索性能数据,以确定性能问题的原因。

安装 Postgres 导出器

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

如需安装 Postgres Exporter,请按以下步骤操作:

  1. 为 Postgres 导出器创建一个目录。

    sudo mkdir /opt/postgres_exporter
    sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
    cd /opt/postgres_exporter
  2. 下载 Postgres 导出器。

    wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
    
  3. 解压缩 Postgres 导出器。

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

    cd postgres_exporter-0.15.0.linux-amd64
    sudo cp postgres_exporter /usr/local/bin
  5. 为 Postgres 导出器创建适当的 .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 导出器的托管端口。我们建议使用端口 9187
  8. 重新加载 Postgres 导出器。

    sudo systemctl daemon-reload
    
  9. 启动 Postgres 导出器。

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

Postgres 导出器现在应可通过以下网址使用:

http://POSTGRES_EXPORTER_HOST_IP_ADDRESS:POSTGRES_EXPORTER_PORT/metrics

执行以下变量替换操作:

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

安装 Prometheus

Prometheus 是一个监控系统,可用于查询 Postgres 导出器并以可读格式返回可观测性数据。

如需安装 Prometheus,请按以下步骤操作:

  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 导出器提供了多个标准信息中心,此可观测性示例就利用了这些可用信息中心。Grafana 可通过常规的 aptyum 代码库获取,我们将使用这些代码库来安装此产品。

如需安装 Grafana,请按以下步骤操作:

  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. 点击导入

效果概况报告

性能快照报告是 AlloyDB Omni 内置的一款工具,可捕获和分析性能数据,帮助您找出性能问题的原因。此工具可与 AlloyDB Omni 可观测性功能(例如系统数据分析查询数据分析Metrics Explorer)相辅相成,这些功能可提供有关实例的实时指标。

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