ncc.zabbix_templates

Yohn Y. 2024-05-10 Parent:ca9cdec2f51e

23:f1258954911b Go to Latest

ncc.zabbix_templates/pgBouncer/res/pgbouncer.sh

* Ложные срабатывания триггеров при частых изменениях состояния массива + Отдельное наблюдение за состоянием деградации массива.

History
awgur@7 1 #!/bin/sh
awgur@7 2 # devel.a0fs.ru -- ncc.zabbix_templates/pgbouncer/res/pgbouncer.sh -- v0.r202310.1 #
awgur@7 3
awgur@7 4 export HOME=/etc/zabbix/scripts-data/pgbouncer
awgur@7 5
awgur@7 6 PGBOUNCER_HOST=$(head -n 1 /etc/zabbix/scripts-data/pgbouncer/.pgpass |cut -d: -f1)
awgur@7 7 PGBOUNCER_PORT=$(head -n 1 /etc/zabbix/scripts-data/pgbouncer/.pgpass |cut -d: -f2)
awgur@7 8 MON_USER=$(head -n 1 /etc/zabbix/scripts-data/pgbouncer/.pgpass |cut -d: -f4)
awgur@7 9
awgur@7 10 COMMAND=$1
awgur@7 11 #USER=$3
awgur@7 12 #DB=$2
awgur@7 13
awgur@7 14 if [ "x$COMMAND" = "xdiscover" ]
awgur@7 15 then
awgur@7 16 # discovery bases and users
awgur@7 17 psql -h $PGBOUNCER_HOST -p $PGBOUNCER_PORT -U $MON_USER pgbouncer -t -c 'show pools;' \
awgur@7 18 | awk -F'|' 'BEGIN { printf "{\"data\":["; n=0; }
awgur@7 19 /\|/ { if (n != 0)
awgur@7 20 printf ",";
awgur@7 21 gsub(" ", "", $1);
awgur@7 22 gsub(" ", "", $2);
awgur@7 23 printf "{\"{#PGBOUNCER_DATABASE}\": \"" $1 "\", \"{#PGBOUNCER_USER}\": \"" $2 "\"}";
awgur@7 24 n++; }
awgur@7 25 END { printf "]}"; }'
awgur@7 26 elif [ "x$COMMAND" = "xtotals" ]
awgur@7 27 then
awgur@7 28 # get total statistic
awgur@7 29 psql -h $PGBOUNCER_HOST -p $PGBOUNCER_PORT -U $MON_USER pgbouncer -t -c 'show totals;'
awgur@7 30
awgur@7 31 elif [ "x$COMMAND" = "xstats" ]
awgur@7 32 then
awgur@7 33 # get statistic per db
awgur@7 34 psql -h $PGBOUNCER_HOST -p $PGBOUNCER_PORT -U $MON_USER pgbouncer -t -c 'show stats;'
awgur@7 35
awgur@7 36 elif [ "x$COMMAND" = "xlists" ]
awgur@7 37 then
awgur@7 38 # get internal information
awgur@7 39 psql -h $PGBOUNCER_HOST -p $PGBOUNCER_PORT -U $MON_USER pgbouncer -t -c 'show lists;'
awgur@7 40
awgur@7 41 elif [ "x$COMMAND" = "xpools" ]
awgur@7 42 then
awgur@7 43 # get pools statistic
awgur@7 44 psql -h $PGBOUNCER_HOST -p $PGBOUNCER_PORT -U $MON_USER pgbouncer -t -c 'show pools;'
awgur@7 45
awgur@7 46 fi