Merci à un administrateur système pour sa question :
"Je lis qu'il est possible d'intégrer le traqueur avec systemd. Pouvez-vous détailler ?"
Réponse :
Oui, j'ai modifié récemment le traqueur pour faciliter cette intégration. Il faut une version 3.4.2 ou supérieure du traqueur et une version 11 ou supérieure de PostgreSQL pour bénéficier de l'option -K permettant de configurer facilement l'arrêt via ExecStopPost. Je reporterai pour les versions 10 et inférieures de PostgreSQL si j'ai des demandes.
Voici un exemple de fichier de configuration :
Code : Tout sélectionner
cat /etc/systemd/traqueur@11-main.service
[Unit]
Description=Traqueur PostgreSQL Cluster 11-main
After=postgresql@11-main.service
Requires=postgresql@11-main.service
[Service]
Type=simple
Restart=always
RestartSec=1
User=postgres
ExecStart=/opt/pgphil/traqueur.sh -c "-p 5432 -d traqueur" -m 10 -b U -j -p -u -g "main" -d 1
ExecStopPost=/opt/pgphil/traqueur.sh -c "-p 5432 -d traqueur" -K
[Install]
WantedBy=multi-user.target
Code : Tout sélectionner
systemctl status traqueur@11-main.service
● traqueur@11-main.service - Traqueur PostgreSQL Cluster 11-main
Loaded: loaded (/etc/systemd/system/traqueur@11-main.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2019-05-15 00:34:10 CEST; 32min ago
Process: 7722 ExecStopPost=/opt/pgphil/traqueur.sh -c -p 5432 -d traqueur -K (code=exited, status=0/SUCCESS)
Main PID: 7775 (traqueur.sh)
CGroup: /system.slice/system-traqueur.slice/traqueur@11-main.service
├─7775 /bin/bash /opt/pgphil/traqueur.sh -c -p 5432 -d traqueur -m 10 -b U -j -p -u -g main -d 1
└─7831 /usr/lib/postgresql/11/bin/psql -p 5432 -d traqueur -f /tmp/traqueur.7775 -v ON_ERROR_STOP=1 --quiet -X
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: traqueur 3.04.03 - https://pgphil.ovh - performance tool for PostgreSQL 9.4 => 12
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: INFORMATION, connected to dedicated database traqueur
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: INFORMATION, PostgreSQL version : 110003
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: INFORMATION, deleting data collected in batch mode ...
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: SET
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: START TRANSACTION
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: DO
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: COMMIT
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: INFORMATION, sql preparation ...
mai 15 00:34:10 vps197701.ovh.net traqueur.sh[7775]: INFORMATION, sql execution ...
C'est un exemple à adapter dans votre contexte. Il est valable sur Debian Stretch ou Buster pour un cluster PostgreSQL 11 appelé main écoutant sur le port 5432. Les données sont stockées dans des tables partitionnées et unlogged d'une base traqueur pendant 10 jours. Prévoir environ 1Go pour la base traqueur mais cela dépend bien sûr de l'activité.
Cdlt. Phil - pgphil.ovh