5 Configuración del demonio
5.1 Línea de comandos#
databbix [opciones]| Opción | Descripción |
|---|---|
-h, --help |
Muestra la ayuda y termina. |
-d, --daemon |
Pasa a segundo plano (modo demonio). Sin esta opción, el log también se muestra por la consola. |
-n, --no-send-data |
No envía datos al servidor Zabbix. Útil para pruebas. |
-c, --config-file f |
Fichero de configuración global. Por defecto: /etc/databbix/databbix.conf. |
-p, --config-path d |
Directorio con los ficheros .conf de los monitores. Por defecto: /etc/databbix/dbs. |
-m, --module-path d |
Directorios adicionales donde buscar módulos. |
Para probar una configuración nueva sin instalar el servicio, lo más práctico es arrancar el demonio en primer plano, sin enviar datos y con un nivel de log alto (véase el capítulo 15):
/opt/trustserver/sbin/databbix -n -c /etc/databbix/databbix.conf5.2 El fichero databbix.conf#
Es un fichero de tipo INI con dos secciones: [General] y [Log]. Los valores de la sección [Log] y los de QueryFile y Environment son los valores por defecto de todos los monitores, y cada monitor puede redefinirlos en su propio fichero.
5.2.1 Sección [General]#
| Parámetro | Descripción |
|---|---|
DaemonUser |
Usuario (nombre o UID) al que cambia el proceso al arrancar con -d. El proceso toma también los grupos suplementarios de ese usuario. |
DaemonGroup |
Grupo (nombre o GID) al que cambia el proceso al arrancar con -d. Si no se indica, se usa el grupo principal de DaemonUser. |
ConfigPath |
Directorio de los ficheros de monitores. Si está presente, tiene prioridad sobre la opción -p. |
QueryFile |
Fichero XML de consultas. Se puede repetir la línea para cargar varios ficheros. Por defecto: /etc/databbix/query.xml. |
ModulePath |
Directorios adicionales de módulos. Se puede repetir. |
Environment |
Variable de entorno para las consultas, con la forma Nombre=Valor. Se puede repetir (véase la sección 7.4). |
5.2.2 Sección [Log]#
| Parámetro | Defecto | Descripción |
|---|---|---|
LogPath |
/var/log/databbix | Directorio de los logs. |
LogFile |
databbix.log | Log del proceso principal. |
LogLevel |
3 | Nivel de detalle (véase la tabla 15.1). |
LogMaxSize |
0 | Tamaño máximo en bytes antes de rotar. 0 desactiva la rotación interna. |
LogMaxBackupCopies |
4 | Número de copias que se conservan al rotar. |
MaxQueryExecTimeLog |
10 | Si una consulta tarda más de estos segundos, se registra un aviso en el log. |
5.2.3 Ejemplo#
[General]
DaemonUser = databbix
DaemonGroup = databbix
QueryFile = /etc/databbix/query.xml
[Log]
LogPath = /var/log/databbix
LogLevel = 4
MaxQueryExecTimeLog = 10Atención. Si DaemonUser es un UID numérico que no existe en /etc/passwd y no se indica DaemonGroup, no hay grupo principal que usar: el proceso conserva el grupo con el que arrancó, que es root si se lanza como root. En ese caso indique siempre DaemonGroup.
5.3 Servicio systemd#
La unidad incluida (databbix.service) arranca el demonio en modo forking con el usuario databbix:
[Unit]
Description=Databbix Agent
After=network-online.target
Wants=network-online.target
[Service]
EnvironmentFile=-/etc/sysconfig/databbix
Environment="LD_LIBRARY_PATH=/opt/trustserver/lib64"
PassEnvironment=TNS_ADMIN ODBCINI LD_LIBRARY_PATH
Type=forking
Restart=on-failure
KillMode=process
ExecStart=/opt/trustserver/sbin/databbix -c /etc/databbix/databbix.conf -d
RestartSec=10s
User=databbix
Group=databbix
[Install]
WantedBy=multi-user.targetOperaciones habituales:
systemctl enable --now databbix # activar y arrancar
systemctl restart databbix # aplicar cambios de configuración o XML
systemctl status databbixAtención. Databbix lee los ficheros .conf y XML solo al arrancar. Para aplicar cualquier cambio en ellos hay que reiniciar el servicio.
5.4 Señales#
| Señal | Efecto |
|---|---|
SIGTERM, SIGINT |
Parada ordenada. Espera hasta unos 4 segundos a que terminen los monitores. |
SIGHUP |
Reabre los ficheros de log. La usa logrotate. |
El fichero databbix.logrotate incluido envía SIGHUP después de rotar:
/var/log/databbix/*.log
{
sharedscripts
postrotate
/usr/bin/killall -HUP databbix 2> /dev/null || true
endscript
}
Si se usa logrotate, conviene dejar LogMaxSize = 0 para que no roten a la vez logrotate y Databbix.