本页面列出了可用于监控 AlloyDB Omni 实例的工具。
监控工具
下表列出了您可以选择和安装以监控 AlloyDB Omni 实例的工具:
用于执行以下操作 | 使用 | 说明 |
---|---|---|
监控性能和可用性 | Datadog | 监控 AlloyDB Omni 实例的性能、可用性和健康状况。 |
从实例中导出可观测数据 | Postgres Exporter | 导出可观测性查询的结果。安装 Postgres Exporter |
以可读格式检索可观测数据 | Prometheus | 监控系统,以便以可读格式返回可观测性数据。安装 Prometheus |
在信息中心内显示数据 | Grafana | 创建信息中心以显示指标。安装 Grafana |
检索性能数据进行分析 | Performance Snapshot Report | 检索性能数据以确定性能问题的原因。 |
安装 Postgres Exporter
Postgres Exporter 是一种工具,可采用监控系统 Prometheus 可读取的格式导出可观测性查询。该导出器内置了许多标准查询,您可以根据需要添加其他查询和规则。您还可以配置其他安全选项,例如 SSL 和用户身份验证。在此示例中,仅使用基本配置选项。
安装
为 Postgres Exporter 创建目录。
sudo mkdir /opt/postgres_exporter
sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
cd /opt/postgres_exporter
下载 Postgres Exporter。
wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
提取 Postgres Exporter。
tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
将 Postgres Exporter 复制到您创建的目录。
cd postgres_exporter-0.15.0.linux-amd64
sudo cp postgres_exporter /usr/local/bin
为 Postgres Exporter 创建适当的
.env
文件。cd /opt/postgres_exporter
sudo vi postgres_exporter.env
将数据源添加到
/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
:数据库的名称。
将以下信息添加到
/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
。
重新加载 Postgres Exporter。
sudo systemctl daemon-reload
启动 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 并以可读格式返回可观测数据。
安装
创建
prometheus
用户。sudo groupadd --system prometheus
sudo useradd -s /sbin/nologin --system -g prometheus prometheus
为 Prometheus 创建目录。
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
下载 Prometheus。
wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
提取 Prometheus。
sudo tar xvf prometheus*.tar.gz
cd prometheus*/
sudo mv prometheus /usr/local/bin
sudo mv promtool /usr/local/bin
将 Prometheus 的所有权设置为
prometheus
用户。sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
将配置文件移至正确的位置。
sudo mv consoles /etc/prometheus
sudo mv console_libraries /etc/prometheus
sudo mv prometheus.yml /etc/prometheus
将 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
将以下信息添加到
/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']
将以下信息添加到
/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
重新加载 Prometheus。
sudo systemctl daemon-reload
启动 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 可通过常规的 apt
和 yum
存储库获得,我们使用这些存储库来安装此产品。
安装
安装 Grafana。
对于 Ubuntu 和 Debian 系统,请运行以下命令:
sudo apt-get update
sudo apt-get install grafana
对于 RHEL、CentOS 或 Rocky Linux 系统,请完成以下任务:
导入 GPG 密钥。
wget -q -O gpg.key https://rpm.grafana.com/gpg.key
sudo rpm --import gpg.key
创建包含以下内容的
/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
安装 Grafana。
sudo dnf install grafana
重新加载 Grafana。
sudo systemctl daemon-reload
启动 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 统计信息信息中心。
如需加载信息中心,请完成以下任务:
设置 Grafana。
创建新信息中心。
依次前往首页 > 信息中心。
点击 New(新建)。
选择新信息中心。
点击导入信息中心。
输入以下网址:https://grafana.com/grafana/dashboards/13494-postgresql-statistics/。
点击加载。
将信息中心的名称更改为
PRODUCT_NAME PostgreSQL statistics
。将
PRODUCT_NAME
替换为您的产品名称。从 Prometheus 字段中选择您的数据源。
点击导入。
Performance Snapshot Report
Performance Snapshot Report 是 AlloyDB Omni 内置的工具,可捕获和分析性能数据,以帮助您确定性能问题的原因。此工具可与其他 AlloyDB Omni 可观测性功能(例如系统数据分析、Query Insights 和 Metrics Explorer)相辅相成,这些功能可提供有关实例的实时指标。
如需了解详情,请参阅通过比较性能快照来优化数据库性能。