Présentation du tableau de bord Postgresql pour postgres_exporter (Prometheus)

Création d'un tableau de bord Postgresql pour postgres_exporter .


Quelle est la différence avec les autres tableaux de bord postgres_exporter?


J'ai combiné tous les autres tableaux de bord postgres_exporter en un seul.


Ce tableau de bord affiche des informations générales sur le cluster.


Captures d'Ă©cran et courtes instructions d'installation: postgresql, postgres_exporter, prometheus, grafana under the cat.


Pourquoi ne pas utiliser pgwatch2 avec influxdb ?


Ă€ propos d'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

Initialisez PostgreSQL.


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

Dans PostgreSQL, ajoutez l'extension pg_stat_statements Ă  postgresql.conf


shared_preload_libraries = 'pg_stat_statements'

DĂ©marrage de PostgreSQL


systemctl start postgresql-9.6

Après cela dans la base de données, exécutez la commande suivante:


CREATE EXTENSION pg_stat_statements

Postgres_exporter et Prometheus


Clarification. Qui va installer postgres_exporter Ă  partir des binaires

Nous installons Postgres_exporter et Prometheus pour les systèmes Redhat à partir de ce référentiel: https://github.com/lest/prometheus-rpm


Créez un fichier /etc/yum.repos.d/prometheus.repoavec le contenu suivant:


[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

Installez prometheus2 et postgres_exporter


yum install -y prometheus2 postgres_exporter

Dans le fichier prometheus.yml pour travailler avec postgres_exporter dans scrape_configs, ajoutez la section suivante:


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

Exécutez prometheus2 et postgres_exporter


systemctl start prometheus
systemctl start postgres_exporter

Grafana


Créez un fichier /etc/yum.repos.d/grafana.repoavec le contenu suivant:


[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

Installer grafana


yum -y install grafana initscripts urw-fonts wget

Lancer grafana


systemctl start grafana-server

Prenez le tableau de bord ici


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


Code source ici:


https://github.com/patsevanton/postgresql_overview_postgres_exporter












PS Dans ce tableau de bord, je manque de connaissances en promql et postgresql. Par conséquent, j'espère que vous m'aiderez avec des conseils sur la façon d'améliorer le tableau de bord ou de faire une demande d'extraction.


PS: Lorsque les mains se lèvent, je prévois de créer un tableau de bord pour des informations sur une base de données spécifique à l'intérieur de PostgreSQL.


All Articles