節電のためにサーバ落とします。復旧後こことTwitterでお知らせします。
未分類
2010/10/20 20:10:10
cronで何か記念になるものを回すのもアリかと
[munin] 動的IPアドレスの監視サーバから外部のサーバを監視する
リアル引越しを機に、nullpopopoのサーバを自宅からVPSへ移行したのはいいのですが、外部からの監視をどうしようかとずっと思案してたのです。珠玉のエロ画像を保存しているsambaサーバには、すでにmuninがインストールされているので、こいつを使って監視できないかなー・・・と。
VPSのほうは、当然のことながらIPアドレスは固定なので、監視サーバ側のmunin.confの記述は非常に楽です。問題はVPSのサーバに munin-nodeをインストールして、munin-node.confにどうやって監視サーバのIPアドレスを自動的に書いてやるか・・・です。そこでピコーンと閃いたのは、
「そうだ、監視サーバからsshでログインして、それを契機にIPアドレスを取得しよう!」
という案です。おまけに、ログインした後はIPアドレスの通知スクリプトだけ動かすようにしてやれば、VPSサーバのほうでcronの設定などしなくていいし、いいことづくめかも。なお、TCPの4949番ポートは、あらかじめiptablesですべてのIPアドレスに対して穴をあけておきます。
それでは作業手順です。
■■ VPSサーバにmunin-nodeインストール
[root@nullpopopo ~]# yum --enablerepo=rpmforge install munin-node
(中略)
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
munin-node noarch 1.2.5-1.el4.rf rpmforge 142 k
Installing for dependencies:
perl-Crypt-DES x86_64 2.05-3.2.el4.rf rpmforge 19 k
perl-Net-SNMP noarch 5.2.0-1.2.el4.rf rpmforge 95 k
perl-Net-Server noarch 0.97-1.el4.rf rpmforge 154 k
Transaction Summary
=============================================================================
Install 4 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 410 k
Is this ok [y/N]: y
■■ 基本設定
[root@nullpopopo ~]# cd /etc/munin/
[root@nullpopopo munin]# cp -p munin-node.conf munin-node.conf.orig
[root@nullpopopo munin]# vi munin-node.conf
最終行のここを
allow ^127.0.0.1$
こうする
allow ^127.0.0.1$
##### 以下は実運用後の手動編集禁止
allow ^123.456.789.012$ ← まずは、今の自宅のグローバルIPアドレスを記述する
※ 追記する2行は、configの最終行で、かつ、空行を付け加えないこと。
■■ プラグインの設定
■ 余計なプラグインの削除
[root@nullpopopo munin]# cd plugins/
[root@nullpopopo plugins]# rm -f df_inode entropy open_files open_inodes sendmail_mailqueue sendmail_mailstats sendmail_mailtraffic swap
※ nullpopopoのサーバはMTAがqmailなので、sendmailの項目は削除しました。あと、VPSにはswapがないので、swapの項目も削除します。
■ イーサネットインターフェイスの項目追加
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/if_ if_venet0:0
※ インターフェイスの名前は、ifconfigコマンドで確認しましょう。
■ プロセス監視項目追加
・ drweb
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_drweb
・ httpsd
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_httpsd
・ httpd
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_httpd
・ couriertcpd
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_couriertcpd
・ qmail-send
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_qmail-send
・ mailman
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_mailman
・ sshd
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_sshd
・ monit
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_monit
・ named
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_named
・ xinetd
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_xinetd
・ mysqld
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/ps_ ps_mysqld
・ mysql_bytes
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/mysql_bytes mysql_bytes
・ mysql_queries
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/mysql_queries mysql_queries
・ mysql_slowqueries
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/mysql_slowqueries mysql_slowqueries
・ mysql_threads
[root@nullpopopo plugins]# ln -s /usr/share/munin/plugins/mysql_threads mysql_threads
■■ MySQLの環境変数追加
munin-nodeがmysqladminを実行できるよう、ユーザ名とパスワード、そしてmysqladminのパスを記述します。
[root@nullpopopo plugins]# vi ../plugin-conf.d/munin-node
ここを
[mysql*]
#env.mysqlopts -u someuser
こうする
[mysql*]
#env.mysqlopts -u someuser
env.mysqlopts -u admin -p[パスワード]
env.mysqladmin /usr/bin/mysqladmin
※ -pとパスワードとの間には、スペースをあけません。
■■ 監視サーバ側設定
[oresama@intra-server munin]$ sudo cp -p munin.conf munin.conf.20080529
[oresama@intra-server munin]$ sudo vi munin.conf
以下を追記
[nullpopopo.bizcube.info]
address 121.50.42.188 ← VPSサーバのIPアドレス
use_node_name yes
■■ munin-node起動
■ 自動起動設定
[root@nullpopopo plugins]# chkconfig munin-node --list
munin-node 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@nullpopopo plugins]# chkconfig munin-node on
[root@nullpopopo plugins]# chkconfig munin-node --list
munin-node 0:off 1:off 2:on 3:on 4:on 5:on 6:off
■ 起動
[root@nullpopopo plugins]# /etc/init.d/munin-node start
Starting Munin Node: [ OK ]
■■ IPアドレス通知の環境を構築する
■ VPS側でサービス監視用
使える.netのvpsにyumをインストールした
こんちわ、久々に登場 (っ´∀`)っ ゃー です。引越でこのブログを動かしている自宅サーバが止まるので、使える.netのVPSに移行しました。使える.netのVPSサーバは、基本的にrpmでパッケージを管理しているのですが、yumがインストールされていないのです。。。これでは不便なので、yumをインストールすることにします。
なぜか最初から
/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-Media.repo
が入っていたのですが、yum本体は入っていません。リポジトリのファイルはそのまま使うことができます。
参考にしたのは
http://encafe.jp/wiki/index.php/%E4%BD%BF%E3%81%88%E3%82%8B%E3%81%AD%E3%81%A3%E3%81%A8CentOS5%E3%81%A7Yum%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
で、各種パッケージをダウンロードするのですが、この記事が書かれた時期が少々古いために、以下からパッケージを持ってきました。
http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/x86_64/CentOS/m2crypto-0.16-6.el5.1.x86_64.rpm
http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/x86_64/CentOS/python-urlgrabber-3.1.0-2.noarch.rpm
http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/x86_64/CentOS/yum-metadata-parser-1.0-8.fc6.x86_64.rpm
http://ftp.iij.ad.jp/pub/linux/centos/5.1/os/x86_64/CentOS/yum-3.0.5-1.el5.centos.5.noarch.rpm
これらを /var/www/vhosts/blogcube.info/private/src 以下にダウンロードして、あとは普通にrpmコマンドを使ってインストール。これでおしまい。なお、kernel関係は/etc/yum.confで
exclude=kernel* httpd* php*
としてあります。httpdとphpのバージョンを上げてしまうと、pleskの挙動がおかしくなるって人がいたようなので、無難にexcludeしてあります。
これでyumを使った楽々パッケージ管理ができるようになりました。