Panel de información general de Postgresql para postgres_exporter (Prometheus)

Hizo una descripción general de Postgresql en el tablero para postgres_exporter .


¿Cuál es la diferencia con otros paneles de postgres_exporter?


Combiné todos los otros paneles de postgres_exporter en uno.


Este panel muestra información general sobre el clúster.


Capturas de pantalla e instrucciones breves de instalación: postgresql, postgres_exporter, prometheus, grafana under the cat.


¿Por qué no usar pgwatch2 con influxdb ?


Sobre InfluxDB

1.7 ( , CORE team ):


  • . . , . DB , .
  • . , .
  • SHOW TAG KEYS FROM ALL SHOW EXACT SERIES CARDINALITY .
  • . 256 RAM, 320GB OOM — ( 6- , , (InMem)).
  • ( OSS 0.9 (December 8, 2014) 1.0 (September 26, 2014), Enterprise ).
  • breaking changes. 3 5+ ( 0.9 (December 8, 2014)). Breaking Changes — Influx 2.0, \ Buckets, Flux.
  • , ifql (Flux) Continuous Queries ( task, Flux-) Chronograf( C TICK), .
  • .
  • — - cli, . restore backup . merge .
  • TICK( T), , 1.3.2 ( [a-z]). , , Retention Policy (input,output).kafka, .. metrics -> telegraf -> kafka -> telegraf -> influx .
  • ( K TICK), , InfluxDB. RAM , , "", . .

PostgreSQL


yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql96 postgresql96-server postgresql96-contrib

Inicialice PostgreSQL.


/usr/pgsql-9.6/bin/postgresql96-setup initdb

En PostgreSQL, agregue la extensión pg_stat_statements a postgresql.conf


shared_preload_libraries = 'pg_stat_statements'

Iniciando PostgreSQL


systemctl start postgresql-9.6

Después de eso en la base de datos, ejecute el siguiente comando:


CREATE EXTENSION pg_stat_statements

Postgres_exporter y Prometheus


Aclaración. Quién instalará postgres_exporter desde binarios

Instalamos Postgres_exporter y Prometheus para sistemas Redhat desde este repositorio: https://github.com/lest/prometheus-rpm


Cree un archivo /etc/yum.repos.d/prometheus.repocon los siguientes contenidos:


[prometheus]
name=prometheus
baseurl=https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/prometheus-rpm/release/gpgkey
       https://raw.githubusercontent.com/lest/prometheus-rpm/master/RPM-GPG-KEY-prometheus-rpm
gpgcheck=1
metadata_expire=300

Instale prometheus2 y postgres_exporter


yum install -y prometheus2 postgres_exporter

En el archivo prometheus.yml para trabajar con postgres_exporter en scrape_configs, agregue la siguiente sección:


scrape_configs:
  - job_name: postgresql
    static_configs:
      - targets: ['ip--prometheus:9187']
        labels:
          alias: postgres

Ejecute prometheus2 y postgres_exporter


systemctl start prometheus
systemctl start postgres_exporter

Grafana


Cree un archivo /etc/yum.repos.d/grafana.repocon los siguientes contenidos:


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

Instalar grafana


yum -y install grafana initscripts urw-fonts wget

Lanzar grafana


systemctl start grafana-server

Toma el tablero aquí


https://grafana.com/grafana/dashboards/12273


Código fuente aquí:


https://github.com/patsevanton/postgresql_overview_postgres_exporter












PD: en este panel de control me falta conocimiento en promql y postgresql. Por lo tanto, espero que me ayuden con consejos sobre cómo mejorar el tablero o hacer una solicitud de extracción.


PD: Cuando lleguen las manos, planeo hacer un tablero de instrumentos para obtener información sobre una base de datos específica dentro de PostgreSQL.


All Articles