ncc.zabbix_templates
2024-02-24
Parent:ca9cdec2f51e
ncc.zabbix_templates/pgBouncer/res/pgbouncer.sh
+ Мониторинг MD RAID
| 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 |