munin を導入し、8080ポートで公開/メールが送信できない問題
概要
日頃からメンテナンスできていないサーバ(絶賛稼働中:ユーザも存在する)がある。(ユーザは身内)
何か起きたときの初動が遅れてしまうのは、嫌なので munin で監視することにする。
ある程度の知識があれば簡単にできるが、調べてもでてこないことを実施したので、記録として残す。
条件
# こんな感じで設定 <VirtualHost *:80> <Directory /var/www/project_name> ServerName xxx.xxx.xxx.xxx </Directory> </VirtualHost>
やったこと
- 通常のインストール
/munin
以外でアクセスするようにした- ポートを変えて回避
- 閾値を超えたらメール通知をさせる
- ココでハマッた
munin インストール
yum install munin service munin-node start # basic 認証設定 htpasswd -m /etc/munin/munin-htpasswd munin # port を変更して、munin を確認できるように変更する vi /etc/httpd/conf.d/munin.conf
Listen 8080 NameVirtualHost xxx.xxx.xxx.xxx:8080 <VirtualHost xxx.xxx.xxx.xxx:8080> ServerName xxx.xxx.xxx.xxx:8080 # munin install 時に発行された内容 # ... # ... </VirtualHost>
設定するための準備
# ディスク関係 $ munin-run df _dev_vda3.value 19.8722218428188 _dev_vda1.value 30.4904706457799 # CPU関係 $ munin-run cpu user.value 73024010 nice.value 12247 system.value 4216490 idle.value 7275145677 iowait.value 526483 irq.value 1414 softirq.value 298340 steal.value 3071780 guest.value 0
muninの設定ファイルを変更
vim /etc/munin/munin.conf
閾値は適当。追々調整していく。
# For those with Nagios, the following might come in handy. In addition, # the services must be defined in the Nagios server as well. #contact.nagios.command /usr/bin/send_nsca nagios.host.comm -c /etc/nsca.conf contact.email.command mail -s "Munin-notification for ${var:group}::${var:host}" "your-mail@address.com" contact.email.always_send warning critical # a simple host tree [your-service-name] address 127.0.0.1 use_node_name yes # For disk df._dev_vda1.warning 50 df._dev_vda1.critical 80 df._dev_vda3.warning 50 df._dev_vda3.critical 80 # For CPU cpu.user.warning 40 cpu.user.critical 80 contacts email
テスト送信
sudo -u munin sh -c "/usr/share/munin/munin-limits --contact email --force"
メールが飛んだら、munin の設定は以上。
munin でメールが送信できない
上記のテスト送信を実行時、下記のエラーが発生した。
$ sudo -u munin sh -c "/usr/share/munin/munin-limits --contact email --force" sh: -c: line 0: unexpected EOF while looking for matching `"' sh: -c: line 1: シンタックス エラー: 期待してないファイルの終了
対策
原因は分からず、下記のように変更したら回避した。(そもそも別の問題が合ったのかもしれない)
# your-mail@address.com => "your-mail@address.com" # 上の例では既に`"`付きで対応済み contact.email.command mail -s "Munin-notification for ${var:group}::${var:host}" "your-mail@address.com"
改訂版 Zabbix統合監視実践入門 ~障害通知、傾向分析、可視化による省力運用 (Software Design plus)
- 作者: 寺島広大
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/17
- メディア: 大型本
- この商品を含むブログ (2件) を見る