
私は、zabbix と pg_monz を使用して PostgreSQL インストールの監視を設定しようとしています。
この標準インストール ガイドに従いました(http://pg-monz.github.io/pg_monz/index-en.html#インストール)。PostgreSQL サービスの実行項目以外はすべて正常に動作しているようですが、pg_monz に付属のスクリプトは 0 を返しますが、DB は実行されており、他のパラメータは監視されています。
ここで何が問題なのでしょうか?
pgsql_simple.sh スクリプト #!/bin/bash
PGSHELL_CONFDIR="$1"
# Load the psql connection option parameters.
source $PGSHELL_CONFDIR/pgsql_funcs.conf
psql -t -A -h $PGHOST -p $PGPORT -U $PGROLE $DBNAME -c "select 1;" 2>/dev/null
if [ $? -ne 0 ]; then
echo 0
fi
zabbix ユーザーパラメータ:
UserParameter=psql.running[*],"$1"/pgsql_simple.sh "$2"
答え1
予想外のことでした。問題は pg_monz スクリプトにありました。構成内のデータベース名は PGDATABASE として宣言されていましたが、クエリを実行するスクリプトではその名前を取得するために $DBNAME が使用されていました。これを修正すると、監視が機能し始めました。