net-SNMP-MRTG でシステム監視

ネットワークトラフィック監視ツール導入(NET-SNMP+MRTG) – CentOSで自宅サーバー構築 を参考ににしてグラフを作ってみました。最初は、スクリプトを作って

./mrtg.sh

すると、

ERROR: Line 9 (/var/www/mrtg) in CFG file
 (/etc/mrtg/mrtg.cfg) does not make sense

エラーで参っていましたが、こちらの本( CentOS7で作るネットワークサーバ構築ガイド 

41wQnrDdwnL__SX385_BO1,204,203,200_

を参考に、cfgmaker コマンドを打つとmrtg できました。今のところ、5分おきにcron でグラフ更新されるのかが心配ですね。
mrtg

(追記 2015年11月7日現在 グラフ更新されているようです。ServerView を入れていると4Gバイトのメモリをほとんど消費しているようなのでアンインストールしました。

ServerView Operation Manager をインストール

サーバー添付のServerView Suite をインストールしてみました。

20151101033039

 

JVM(Java Virtual Machine) は、ServerView(DVD1)付属のOpenJDKからインストールします。パスは、

# cd /media/UDF Volume/SVSSoftware/Software/Other_Tools/Java/Linux_x64

rpm -ivh jre-7u65-linux-x64.rpm

何故か付属のOpenJDKでは「Error:No JAVA found」エラーでJAVAコンパイラが見つからなかったのでOracleからインストール
Java SE Development Kit 8 – Downloads Linux x64 jdk-8u65-linux-x64.rpm
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

環境変数設定

# export JAVA_HOME=/usr/java/default
 # export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

以下コマンドでバージョン確認ができる他、バージョンの切り替えもできますが今回は、OpenJDK を使うことにします。

# java -version
# javac -version
# alternatives --config java

yumで必要なパッケージをインストール

compat-libstdc++-33.i686
cyrus-sasl-lib.i686
glibc.i686
gzip.x86_64
keyutils-libs.i686
krb5-libs.i686
libcom_err.i686
libcurl.i686
libgcc.i686
libidn.i686
libselinux.i686
libssh2.i686
libstdc++.i686
libtool-ltdl.i686
libxml2.i686
ncurses-libs.i686
net-snmp.x86_64
nspr.i686
nss.i686
nss-softokn-freebl.i686
nss-util.i686
openldap.i686
openssl.i686
unixODBC.i686
zlib.i686
特定の機能に必要なパッケージ
DeskView インタフェース: curl.x86_64
RHEL 上の KVM クライアントの監視: libvirt-client.x86_64

postgpls ユーザーにスーパーユーザー権限を与える

e.1) ディストリビューションから必要なパッケージ
Mozilla/Firefox のインストール。

e.2) Java プラグインの設定
Java インストール後に JRE を Mozilla のブラウザに手動でリンクさせる必要があります
ServerView RAID Manager をインストールする (参考

ServerView Operation Manager (DVD1をドライブに挿入して)のインストール、パスは

# cd /media/UDF Volume/SVSSoftware/Software/ServerView/Linux/ServerView_S2/
# sh install.sh

questions
コンソールで[Enter] キーを押しながらスクロールしてライセンス条項を読み終わると、以下の質問が出てきますので[Enter] キーで流さずにyes と入力します。(およそ、Chapter 10.1 以降です。

if you aguree please confirm with yes otherwise leave with no
yes
Please enter en (for English) or ja (for Japanese)
ja
Fully - qualified hostname : <ホストネーム> ok? (yes | no) :
yes
ip address?
<サーバーのIPアドレス>
You must specify password for opendj account 'svuser'
Echo is off during password input
password パスワード
please repeat password パスワード(確認)

success-installing-serverview

 

インストール成功が表示されます。つづいてsnmptrapd の設定に移ります。

# vi /etc/snmp/snmptrapd.conf
disableAuthorization yes ←(追記
authCommunity   log,execute,net public ←(チェックを外す

# service snmptrapd start
# chkconfig snmptrapd on

ファイアウォールの設定 iptables を編集

# vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --sport 161 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 162 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --sport 162 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3169 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3170 -j ACCEPT
# service iptables restart

snmpd.conf の再設定。以下の項目を追記します。

# vi /etc/snmp/snmpd.conf
com2sec svSec default public
com2sec svSec localhost public
com2sec svSec <IP アドレス>/<ネットマスク> public
group svuser v1 svSec
group svuser v2c svSec

view svView included .1
access svuser "" any noauth exact svView svView none
trapsink <IP アドレス> public ←SNMPトラップを送信したいアドレス記入

ブラウザから、https://ホストネームアドレス:3169/ と打ち込んで起動、ログオン。

SVOM

基本設定ウィザードからポート解放、コミュニティの設定などして行きます。
finish

シングルシステムビューは、CPU やメモリ、ハードディスクの温度など環境パラメーターの取得はできませんでした。何か設定が欠けているのかもしれません。(残念。

singleSystemView

(追記 ServerView-RM の通信ポートとして3073,3172:3173(TCP・UDP)を解放しないと管理不可表示で本来の性能を発揮しないそうです)SVOM が使用するプロトコルとポート番号 (.pdf 21P)

ServerView のアンインストールと、削除できないcronジョブは以下コマンドで削除できます。

# /usr/bin/UninstallServerView.sh

# rm -fr /etc/cron.d/pg_CrontabEntry

SNMP でハマった・・・orz

# yum install net-snmp*
# snmpwalk -v 2c -c public localhost
Timeout : No Response from localhost

Timeout でハマりまくったのでメモ。/etc/snmp/snmpd.conf を編集

# vi /etc/snmp/snmpd.conf

com2sec local localhost private
com2sec  local       localhost       public
com2sec  mynetwork   192.168.24.0/24  public

group  local       v1             local
group  local       v2c            local
group  local       usm            local
group  mynetwork   v1             mynetwork
group  mynetwork   v2c            mynetwork
group  mynetwork   usm            mynetwork

view  all      included   .1                 80

access local "" any noauth exact all none none
access mynetwork "" any noauth exact all all none

rocommunity public ←(これであっけなく動いた
syslocation securenet (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
disk / 10000
# vi /etc/snmp/snmpd.conf

iptables でファイアウォールUDP 161, 162 番のポート解放、Windows 側も。

# vi /etc/sysconfig/iptables
-A INPUT -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -p udp -m udp --dport 162 -j ACCEPT

TCPWrapperホスト設定。 /etc/hosts.allow にsnmpd をローカルネットワークで許可

# vi /etc/hosts.allow
snmpd : 127.0.0.1, 192.168.0.

一応、SELinux でsnmp を指定しているポートを調べて解放。

# semanage port -l | grep -w 161
snmp_port_t                    tcp      161-162, 199, 1161
snmp_port_t                    udp      161-162

サーバー買ったときに付いていた、ServerView Suite というソフトをREADME.txt を参考にインストールしてみました。(Oracle のJAVA JDK を入れてyum で必要パッケージを追加してポート解放して後、・・・忘れました。)とにかく、ブラウザでサーバーが見えるようにはなったのですけど、[SNMP] タイムアウトと表示が出て前に進みません。README.txt をよく読むと「SELinux 無効にしてからインストールしてね。」って先に云ってよ。パッケージでSNMP をインストールしなきゃいけないらしくて、ずーっとTimeout で蹴られたけど、linux – CentOS, Timeout: No Response in remote SNMP access – Server Fault をググったら、コミュニティ名が違うってことですね。rocommunityして解決。コミュニティのディレクティブには設定が出来る、rwcommunity もあるようです。書式は、SNMP のアクセス制御を設定する – いますぐ実践! Linuxシステム管理 / Vol.234 に詳しい解説がありましたので引用します。

rocommunity community address [OID | -V view]
rwcommunity community address [OID | -V view]

まともに動くようになるには、メールサーバーを立ててSSL証明書を作らないといけませんね。