本页列出了可用于监控 AlloyDB Omni 实例的工具。
监控工具
下表列出了可用于监控 AlloyDB Omni 实例的工具:
收件人 | 使用 | 说明 |
---|---|---|
监控性能和可用性 | Datadog | 监控 AlloyDB Omni 实例的性能、可用性和运行状况。 |
从实例中导出可观测性数据 | Postgres 导出器 | 导出可观测性查询的结果。安装 Postgres 导出器 |
以可读格式检索可观测性数据 | Prometheus | 监控系统,以易于阅读的格式返回可观测性数据。安装 Prometheus |
在信息中心内显示数据 | Grafana | 创建一个信息中心来显示指标。安装 Grafana |
检索性能数据以进行分析 | 效果快照报告 | 检索性能数据,以确定性能问题的原因。 |
安装 Postgres 导出器
Postgres 导出器是一种工具,可将可观测性查询导出为监控系统 Prometheus 可读取的格式。该导出工具内置了许多标准查询,您还可以根据需要添加其他查询和规则。您还可以配置其他安全选项,例如 SSL 和用户身份验证。在此示例中,仅使用基本配置选项。
如需安装 Postgres Exporter,请按以下步骤操作:
为 Postgres 导出器创建一个目录。
sudo mkdir /opt/postgres_exporter
sudo chown USER_ACCOUNT:USER_ACCOUNT /opt/postgres_exporter
cd /opt/postgres_exporter
下载 Postgres 导出器。
wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.15.0/postgres_exporter-0.15.0.linux-amd64.tar.gz
解压缩 Postgres 导出器。
tar -xzvf postgres_exporter-0.15.0.linux-amd64.tar.gz
将 Postgres 导出器复制到您创建的目录中。
cd postgres_exporter-0.15.0.linux-amd64
sudo cp postgres_exporter /usr/local/bin
为 Postgres 导出器创建适当的
.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 导出器的托管端口。我们建议使用端口9187
。
重新加载 Postgres 导出器。
sudo systemctl daemon-reload
启动 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,请按以下步骤操作:
创建
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 导出器提供了多个标准信息中心,此可观测性示例就利用了这些可用信息中心。Grafana 可通过常规的 apt
和 yum
代码库获取,我们将使用这些代码库来安装此产品。
如需安装 Grafana,请按以下步骤操作:
安装 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 字段中选择您的数据源。
点击导入。
效果概况报告
性能快照报告是 AlloyDB Omni 内置的一款工具,可捕获和分析性能数据,帮助您找出性能问题的原因。此工具可与 AlloyDB Omni 可观测性功能(例如系统数据分析、查询数据分析和 Metrics Explorer)相辅相成,这些功能可提供有关实例的实时指标。
如需了解详情,请参阅通过比较性能快照来优化数据库性能。