我正在尝试在 CentOS 服务器上设置 Prometheus 和 PostgreSQL DB。我能够在服务器上安装 Prometheus 和 PostgreSQL,但无法安装 pg_prometheus 扩展和prometheus-postgresql-适配器。
需要帮助在 CentOS 上手动安装 pg_prometheus 扩展和 prometheus-postgresql-adapter 吗?
我知道 TimescaleDB 有用于此目的的 Docker 镜像,但我试图避免使用 Docker 进行概念验证,至少目前是这样。
答案1
在 CentOS 上安装 PostgreSQL
下载适用于 CentOS x86-64 的 PostgreSQL 全球开发组 RPM
wget https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
运行 PGDG RPM 包
sudo yum install pgdg-centos10-10-2.noarch.rpm
安装并设置 PostgreSQL 服务器及其所有组件
sudo yum install postgresql10-server.x86_64 postgresql10-contrib.x86_64 postgresql10-devel.x86_64 postgresql10.x86_64
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
在 CentOS 上保护你的 Postgres 环境
sudo passwd postgres
(输入新的密码)
su - postgres
psql -c "ALTER USER postgres WITH PASSWORD '<Your-New-Password>';"
在 /var/lib/pgsql/10/data/postgresql.conf 中更改listen_addresses
为listen_addresses = '*'
在 /var/lib/pgsql/10/data/pg_hba.conf 中更改local all all peer
为host all all 0.0.0.0/0 trust
使用以下命令重新启动 PostgreSQL 服务systemctl restart postgresql-10.service
检查 CentOS 防火墙规则以允许远程连接到 PostgreSQL DB
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8088/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8089/tcp --permanent
sudo firewall-cmd --reload
安装 Prometheus
下载 Linux amd-64 的 Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.6.0/prometheus-2.6.0.linux-amd64.tar.gz
tar xvzf prometheus-2.6.0.linux-amd64.tar.gz
cd prometheus-2.6.0.linux-amd64
更新 Prometheus 的配置
vi prometheus.yml
(job_name:'prometheus',目标:[':8088'])
运行 Prometheus
nohup ./prometheus --config.file="prometheus.yml" --web.listen-address="0.0.0.0:8088" &
安装 pg_prometheus PostgreSQL 扩展
export PATH=$PATH:/usr/pgsql-10/bin
git clone https://github.com/timescale/pg_prometheus.git
cd pg_prometheus
make
make install
Prometheus 存储适配器
下载适用于 Linux amd-64 的预构建二进制文件
wget https://github.com/timescale/prometheus-postgresql-adapter/releases/download/0.4.1/prometheus-postgresql-adapter-0.4.1-linux-amd64.tar.gz
tar xvzf prometheus-postgresql-adapter-0.4.1-linux-amd64.tar.gz
运行 Prometheus 存储适配器
./prometheus-postgresql-adapter -pg.host "<Your-IP-Address>" -pg.port "5432" -pg.user "postgres" -pg.password "1Password2" -pg.database "<Your-DB-Name>" -pg.schema "dbo" -pg.table "<Your-Table-Name>" -web.listen-address "172.16.152.29:8089" -log.level "debug" -pg.prometheus-log-samples -pg.read-only