Smokepingをセットアップする手順をまとめてみる。
必要なツールのインストール
RRDTool
SmokepingはRRDTool利用してログの収集とグラフを作成する。RRDToolはバージョンに子だわならなければyumでインストールできる。
yum -y install rrdtool yum -y install rrdtool-perl
fping
fpingはpingと同じICMPパケットを送るツールだがより効率がよい。fpingはソースからコンパイルしてもそれほど手間がかからない。
wget http://www.fping.org/dist/fping-3.8.tar.gz gunzip -vf fping-3.8.tar.gz tar xf fping-3.8.tar cd fping-3.8 ./configure make; make install setcap cap_net_raw+ep /usr/local/sbin/fping
Smokeping
インストール
wget wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz gzip -dc smpokeping-2.6.9.tar.gz | tar xvf - cd smokeping-2.6.9 ./setup/build-perl-modules.sh ./configure gmake install
以上でインストールは終了。
構成ファイル – 1
次に設定ファイルを作成する。Smokepingは/opt以下にインストールされている。まずテンプレートの構成ファイルをコピーする。
cd /opt/smokeping-2.6.9/etc copy config.dist config
ワーキングディレクトリ作成
Smokepingはワーキングディレクトリを使用する。この設定はconfigに自動で記述される。この記述に沿ったワーキングディレクトリを作成する。
構成ファイルでワーキングディレクトリを確認
imgcache = /opt/smokeping-2.6.9/cache imgurl = cache datadir = /opt/smokeping-2.6.9/data piddir = /opt/smokeping-2.6.9/var
ワーキングディレクトリ作成
cd /opt/smokeping-2.6.9 mkdir cache mkdir data mkdir var
Smokepingユーザー
smokepingユーザーを作成して権限を変える
# chown -R smokeping:smokeping /opt/smokeping-2.6.9/bin/smokeping # chmod -R g+rw /opt/smokeping-2.6.9/cache # chmod 600 /opt/smokeping-2.6.9/etc/smokeping_secrets.dist
Apache
ApacheからSmokepingを利用できるようにする。
ln -s /opt/smokeping-2.6.9/htdocs/ /var/www/html/smokeping chown -R smokeping:smokeping /var/www/html/smokeping ln -s /opt/smokeping-2.6.9/cache/ /var/www/html/smokeping/ cd /var/www/html/smokeping mv smokeping.fcgi.dist smokeping.cgi chmod 755 smokeping.cgi
FastCGIをインストール
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm rpm -K rpmforge-release-0.5.3-1.el6.rf.*.rpm yum install mod_fastcgi --enablerepo=rpmforge
Apacheが自動的に立ち上がるようにする
chkconfig httpd on
Apacheを再起動する
service httpd restart
SELinux
理由がよくわからないがSELinuxが有効だとパーミッションが足りないメッセージが出て、Smokepingがエラーを出し動かなかった。
SELinuxが有効であるかを確認する
# getenforce Enforcing
無効にする
nano -w /etc/sysconfig/selinux SELINUX=enforcing ↓ SELINUX=disabled
構成ファイル – 2
構成ファイル – 1で作成したconfigを修正する。このステップは構成ファイル – 1で実行してもよい気がするが、すべての設定を行ってから、修正をして検証するほうがエラーの切り分けがしやすい。
configを修正する。
構成ファイルはほぼデフォルトで設定できる。修正する箇所は、3つ。
- メール
- Prove
- ターゲット
メールの設定
*** General *** contact = tarou.yamadaa@my.company.com mailhost = mail.my.company.com *** Alerts *** to = tarou.yamada@my.company.com from = smokealert@my.company.com
Probe
今回はProbeとしてfpingを利用する。fpingの正しいパスを記述する。
*** Probes *** + FPing binary = /usr/local/sbin/fping
ターゲット
*** Targets *** probe = FPing menu = Top title = Network Latency Grapher remark = Welcome to the SmokePing website of Software AG. \ Here you will learn all about the latency of our network. + Tokyo menu= Tokyo ++ TokyoInternal menu = Tokyo Internal title = Tokyo - Internal host = tokswitch01 ++ TokyoInternet menu = Tokyo - Internet title = Tokyo - Internet host = xxx.xxx.xxx.xxx
Smokepingの設定を確認する
/opt/smokeping-2.6.9/bin/smokeping --check --config=/opt/smokeping-2 .6.9/etc/config
Smokeping起動
smokepingをデバッグモードで立ち上げる
/opt/smokeping-2.6.9/bin/smokeping --config=/opt/smokeping-2.6.9/etc/config --logfile=smoke.log --debug
smokepingを通常モードで立ち上げる
/opt/smokeping-2.6.9/bin/smokeping --config=/opt/smokeping-2.6.9/etc/config --logfile=smoke.log
smokepingをスタートスクリプト
smokepingをinit.dに登録することができる。このスクリプトを下記の場所からダウンロードできる。
http://oss.oetiker.ch/smokeping/pub/contrib/smokeping-start-script
wget http://oss.oetiker.ch/smokeping/pub/contrib/smokeping-start-script
smokepingへのパスを変更する
mv smokeping-start-script /etc/init.d/smokeping
smokepingを起動する
/etc/init.d/smokeping stop /etc/init.d/smokeping start
Smokepingのスレーブモード
構成内容
Master側では以下を構成する
- Slaveセクションの追加
- Targetセクションの追加
- secretファイルの作成
Slave側は構成ファイルを持たない
- secretファイルの作成
Master側構成
Slaveセクションへの追加
*** Slaves *** secrets=/opt/smokeping-2.6.9/etc/smokeping_secrets +osaka.my.company.com display_name=osaka.my.company.com location=Osaka color=ff0000
Targetセクションへの追加
*** Targets *** slaves = osaka.my.company.com
Secretsファイルの作成
[smokeping@localhost etc]$ cat smokeping_secrets osaka.my.company.com:secret
Slave側構成
Secretsファイルの作成
[smokeping@hkggismgmt01 etc]$ cat secrets secret
スレーブモードでは構成ファイルを使わない。smokepingプロセス開始時にパラメータで指定する。
./smokeping --master-url=http://smokeping/smokeping.cgi \ --cache-dir=/opt/smokeping-2.6.9/ \ --shared-secret=/opt/smokeping-2.6.9/etc/secrets