muninでpostgres_tuplesの値取得ができなくて困ってた

しばらくなんで取得できなくて分からなくて困ってたけど、解決できた。
ただのミスコンフィグだった。

/etc/munin/plugin-conf.d/postgresに書いてた1行が原因だった。

env.PGDATABASE postgres

上記1行があるとデータベースpostgresの値を取得してしまうので常に値が0になってしまう。

正しく設定をしていないと シェルから/etc/munin/plugins/postgres_tuples_dbname
を実行した場合、下記のように値は取得できるけど

$ ./postgres_tuples_dbname
seqread.value 410785240167
idxfetch.value 49647137689
inserted.value 41229074
updated.value 19990804
deleted.value 10921116
hotupdated.value 17592857

下記の場合ではenv.PGDATABASE postgresに上書きされてしまい常に0になるんですね。

$ telnet 0 4949
Trying 0.0.0.0...
Connected to 0 (0.0.0.0).
Escape character is '^]'.
# munin node at localhost.localdomain
fetch postgres_tuples_dbname
seqread.value 0
idxfetch.value 0
inserted.value 0
updated.value 0
deleted.value 0
hotupdated.value 0
.
quit

muninでpostgreSQL値取得する場合、というより個別のデータベース指定で値取得する場合

env.PGDATABASE postgres

をはずしておきましょう。