Это сообщение об ошибке в Zabbix:
"pgpool-II delegate_ip is not exists on pgpool group
"
информация: Невозможно оценить выражение: "Cannot evaluate function "myhostname:grpsum[{$PGPOOL_HOST_GROUP},"pgpool.ha...
Создана группа с именемpgpool с двумя хостами pgpool, использующими шаблон сторожевого таймера (кстати, на хостах работает pgpool + heartbeat + watchdog)
Это моя переменная PGPOOLCONF, указывающая на мой файл конфигурации pgpool в /usr/local/etc/pgpool_funcs.conf
:
PGPOOLCONF=/etc/pgpool-II/pgpool.conf
Файл /etc/zabbix/zabbix_agentd.d/userparameter_pgsql.conf
со значением:
UserParameter=pgpool.have_delegate_ip[*],"$1"/pgpool_delegate_ip.sh "$2"
Файл /usr/local/bin/pgpool_delegate_ip.sh
:
#!/bin/bash
PGSHELL_CONFDIR="$1"
# Load the psql connection option parameters.
source $PGSHELL_CONFDIR/pgpool_funcs.conf
if [ ! -n "$PGPOOLCONF" ]; then
echo 0
exit
fi
if [ ! -e "$PGPOOLCONF" ]; then
echo 0
exit
fi
delegate_ip=`cat $PGPOOLCONF | grep delegate_IP | awk -F\' '{print $2}'` 2>/dev/null
if [ ! -n "$delegate_ip" ]; then
echo 0
exit
fi
num_ip=`ip addr show | grep $delegate_ip | wc -l`
echo $num_ip
Триггер Zabbix: pgpool-II Delegate_ip не существует в группе pgpool
key:
{myhostname:grpsum[pgpool,"pgpool.have_delegate_ip[/usr/local/bin,/usr/local/etc]",last,0].last(0)}=0
Кстати, эта команда работает, если она выполняется вручную на bash:
cat /etc/pgpool-II/pgpool.conf | grep delegate_IP | awk -F\' '{print $2}'
Кроме того, я включил переменную $ DBNAME в конфигурацию, на всякий случай,потому что некоторые сценарии выполняются с использованием $ DBNAME для получения этого имени вместо $ PGDATABASE, но это тоже не сработало.
Не найдено никакого решения в течение нескольких месяцев: (
Zabbix 3.2 Postgres11.2 pgpool 3.6.18 CentOS 7.7 pg_monz 2.2