Filed Under (Monitoramento, PostgreSQL, software livre, Zabbix) by rafaelgomes on 03-04-2011
Seguindo os posts sobre Zabbix, irei explicar agora como monitoramos a capacidade do SGBD PostgreSQL com o Zabbix.
Nos continuaremos a utilizar o UserParameter, que já foi explicado nesse post.
Primeiro crie o usuário monitor no seu SGBD PostgreSQL, não entraremos nessa questão, pois acreditamos que sendo uma pessoal que gerencia um SGBD, fazer essa ação seja relativamente trivial.
Agora acesse o arquivo /etc/zabbix/zabbix_agentd.conf e adicione as seguintes linhas no final do arquivo:
## PostgreSQL
UserParameter=user.postgre.processes,/usr/pgsql-9.0/bin/psql -U monitor -t -c "select sum(numbackends) from pg_stat_database" | awk '{print $1}'
UserParameter=user.postgre.transaction.commited,/usr/pgsql-9.0/bin/psql -U monitor -t -c "select sum(xact_commit) from pg_stat_database" | awk '{print $1}'
UserParameter=user.postgre.transaction.rolledback,/usr/pgsql-9.0/bin/psql -U monitor -t -c "select sum(xact_rollback) from pg_stat_database" | awk '{print $1}'
UserParameter=user.postgre.db.size[*],/usr/pgsql-9.0/bin/psql -U monitor -t -c "select pg_database_size('$1')" | awk '{print $$1}'
UserParameter=user.postgre.db.connections[*],/usr/pgsql-9.0/bin/psql -U monitor -t -c "select numbackends from pg_stat_database where datname = '$1'" | awk '{print $$1}'
UserParameter=user.postgre.db.inserted[*],/usr/pgsql-9.0/bin/psql -U monitor -t -c "select tup_inserted from pg_stat_database where datname = '$1'" | awk '{print $$1}'
UserParameter=user.postgre.db.updated[*],/usr/pgsql-9.0/bin/psql -U monitor -t -c "select tup_updated from pg_stat_database where datname = '$1'" | awk '{print $$1}'
UserParameter=user.postgre.db.deleted[*],/usr/pgsql-9.0/bin/psql -U monitor -t -c "select tup_deleted from pg_stat_database where datname = '$1'" | awk '{print $$1}'
Obs: Atente que nosso path do psql é o /usr/pgsql-9.0/bin/, o seu pode ser diferente, caso seja, modifique nas entradas acima.
Salve o arquivo e reinicie o servidor do zabbix-agent.
Pronto! Agora é configurar no servidor Zabbix e aguardar a próxima coleta.
Fonte – Zabbix.com




Gostaria de saber se posso usar a mesma estrutura de select nos exemplos acima para criar relatórios no zabbix.
ex. select count(*) from table col1= ’10′