🐥
zabbixでmastodonの監視をしてみた
環境
- Ubuntu 18.04
- mastodon 2.4.3
- redis-cli 4
やったこと
このセットをつかっただけ。
ハマりポイント
redis-latency スクリプトが正常な値を返さなくて、値が取得できなかった。
対策
redis-latency.sh を以下のように書き換えた。
`#!/bin/bash
WORKFILE=/var/tmp/redis-latency
SAVEFILE=/etc/zabbix/redis/redis-latency
redis-cli --latency > $WORKFILE
cat $WORKFILE | cut -d ' ' -f 2 > $SAVEFILE
原因
ターミナルから、 redis-cli --latency
を実行すると出力は以下のようになる。
`min: 0, max: 1, avg: 0.25 (165 samples)
# CTRL+Cで停止するまで更新し続ける。
しかし、出力をリダイレクトすると、値のみが出力されるように変更された模様。
$ redis-cli --latency > file
$ cat file
0 1 0.25
なお、元のスクリプトが max を取得していたので、変更したスクリプトもそれに習っている
蛇足
cron の設定
コマンドが標準エラー出力になにか吐いているのがいるので、それは捨てるかなにかしないと、メールがえらい数とんできて大変なことになります。(なりました)
redis のバージョン
Mastodon Production Guide に従った場合、redis はディストリビューションの標準バージョンが入るのですが、Ubuntu 16.04LTS の場合は 3.x で、この場合は元のスクリプトそのままで動きます。
postgres の監視は?
個人的には mamonsu がおすすめです。ただし、postgres はユーザー名/パスワードで認証するために、pg_hba.conf の修正が必要なのでそれを忘れると動きません。ハマるので注意!
Discussion