Kurztipp: Nagios/Icinga Fehlermeldung „DISK CRITICAL – /var/lib/pgsql/data is not accessible: Permission denied“

Wer auf einem CentOS/RHEL-System eine PostgreSQL-Datenbank betreibt und das Datenverzeichnis auf eine Partition ausgelagert hat läuft vermutlich auf den folgenden Fehlalarm, wenn der Füllstand mithilfe des Nagios/Icinga Plugins check_disk überwacht werden soll:

DISK CRITICAL - /var/lib/pgsql/data is not accessible: Permission denied

Das kommt daher, dass das check_disk Plugin keine Rechte hat, um in das Verzeichnis zu wechseln:

 ls -ld /var/lib/pgsql/data/
drwx------  13 postgres postgres 4096 Nov 13 23:49 /var/lib/pgsql/data/

Natürlich könnte man jetzt für andere Benutzer mithilfe von chmod o+x die entsprechenden Rechte erteilen. Schöner ist es jedoch, ACLs anzuwenden – denn so werden die Rechte nur für den nrpe Benutzer und nicht für alle Benutzer erteilt.

Zuerst werden, falls noch nicht geschehen, ACLs aktiviert und das Dateisystem mit ACLs erneut eingehängt:

# tune2fs -l /dev/mapper/... |grep "mount options"
Default mount options:
# tune2fs -o acl /dev/mapper/...
# mount -o remount,acl /path/...
# tune2fs -l /dev/mapper/... |grep "mount options"
Default mount options:    acl
# mount -v|grep path
/dev/mapper/... on /var/lib/pgsql/data type ext4 (rw,acl)

Anschließend wird für den Benutzer nrpe das Ausführrecht auf /var/lib/pgsql erteilt:

# setfacl -m u:nrpe:x /var/lib/pgsql
# getfacl /var/lib/pgsql
getfacl: Removing leading '/' from absolute path names
# file: var/lib/pgsql
# owner: postgres
# group: postgres
user::rwx
user:nrpe:--x
group::---
mask::--x
other::---

Ab der nächsten Überprüfung liefert das Plugin die erwarteten Informationen:

DISK OK - free space: /var/lib/pgsql/data 951 MB (19% inode=99%):

Schreibe einen Kommentar