web-dev-qa-db-fra.com

Zabbix ne peut pas se connecter à une base de données PostgreSQL

Tout d'abord, je suis en cours d'exécution Centos 6.5 et essayez d'utiliser Zabbix 2.2.4. Tous les noms d'hôte ont été remplacés par des exemples.

J'ai installé les RPM suivants sur ma machine zabbix (HostName sera ZBX-HostName):

zabbix-Java-gateway-2.2.4-1.el6.x86_64
zabbix-web-2.2.4-1.el6.noarch
zabbix-agent-2.2.4-1.el6.x86_64
zabbix-server-2.2.4-1.el6.x86_64
zabbix-2.2.4-1.el6.x86_64
zabbix-web-pgsql-2.2.4-1.el6.noarch
zabbix-server-pgsql-2.2.4-1.el6.x86_64

Ma machine PostgreSQL a PostgreSQL 9.2 installé avec les RPM (nom d'hôte sera dB-hostname):

postgresql92-9.2.8-1PGDG.rhel6.x86_64
postgresql92-libs-9.2.8-1PGDG.rhel6.x86_64
postgresql92-server-9.2.8-1PGDG.rhel6.x86_64

Mon fichier zabbix_server.conf ressemble à:

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=db-hostname
DBName=zabbix-dbname
DBUser=zabbix-user
DBPassword=zabbix-password
DBSocket=
DBPort=5432

My Zabbix PHP Configuration ressemble à:

$DB['TYPE']     = 'POSTGRESQL';
$DB['SERVER']   = 'db-hostname';
$DB['PORT']     = '5432';
$DB['DATABASE'] = 'zabbix-dbname';
$DB['USER']     = 'zabbix-user';
$DB['PASSWORD'] = 'zabbix-password';

// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';

$ZBX_SERVER      = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>

Je suis capable d'exécuter ce qui suit et de vous connecter avec succès à ma base de données:

export PGPASSWORD=zabbix; psql -U zabbix-user -d zabbix-dbname -h db-hostname
export PGPASSWORD=zabbix; psql -U zabbix-user -d zabbix-dbname -h 192.168.0.1

Mais Zabbix refuse de connecter l'impression (192.168.0.1 étant l'adresse IP correctement résolue):

25015:20150205:112656.236 [Z3001] connection to database 'zabbix-dbname' failed: [0] could not connect to server: Permission denied
    Is the server running on Host "db-hostname" (192.168.0.1) and accepting
    TCP/IP connections on port 5432?

25015:20150205:112656.236 Database is down. Reconnecting in 10 seconds.

Mais sur l'hôte de base de données lorsque je surveille Incomming TCP Trafic Je ne vois pas de connexions entrantes (à la fois TCPDump & iptables). Il apparaît que Zabbix ne tente même pas de faire une demande à la base de données boîte?

J'ai déchiré ma boîte à zabbix et le recuit pour obtenir la même erreur deux fois, il semblerait qu'il s'agisse d'un problème avec ma configuration, est-ce que quelqu'un connaît des solutions?

4
Chris Tompkinson

Du commentaire précédent:

J'ai réussi à résoudre le problème, SE Linux a été activé de manière incorrecte et bloquait Zabbix à partir de la mise en réseau. Pour résoudre le problème que j'ai couru:

setsebool -P zabbix_can_network 1

Le sujet discutant de cela peut être trouvé à (Avertissement: en russe): http://zabbix.com/forum/showthread.php?t=47247

4
Chris Tompkinson

Dans ma situation, j'ai besoin d'accorder un accès réseau pour HTTPD. (Centos 7, Zabbix 3)

Sudo setsebool -P httpd_can_network_connect_db 1
Sudo setsebool -P httpd_can_network_connect 1

Si vous avez une erreur "SETSEBOOLOOL, commande non trouvée" Installez la stratégieCoreutils-python

yum install policycoreutils-python
2
Alex