●Xymonについて
Xymonとは、GPLのUNIXベースのネットワーク監視ソフトウェアです。2008年11月、商標の問題を理由として名称が「Xymon」に変更されました。詳細はこちらのページを参照してください。
今回は、OSとして「CentOS 5.6」にインストールします。
●Xymonに必要なソフトウェア
はじめに、Xymonが必要なソフトウェアがすでにインストール済みであるかどうかを確認しましょう。下記のようなソフトウェアが必要です。
yumを使用してモジュールが見つからない場合は、rpmfindから見つけてインストールしました。
* httpdなどのWebサーバ
* c-ares-devel
* fping
* httpdなどのWebサーバ
* openldap-devel
* openssl-devel
* pcre-devel
* rrdtool-devel
上記がインストールされていない場合はインストールしてください。CentOS 7ではすべてyumコマンドでインストールできます。
・CentOS 8 Streamの場合
●Xymon用ユーザの作成
必要なソフトウェアのインストールが終わったら、Xymonを実行するユーザを作成します。この作業を怠ると、Xymonサーバのインストール(configure)時に下記のようなエラーが表示され停止してしまいます。
●Xymonサーバのインストール
※4.3.30が最新でした(2021.7.1現在)。
http://sourceforge.net/projects/xymon/から、xymon-4.3.3.tar.gzをダウンロードします。
ダウンロードしたファイルを/usr/local/srcディレクトリに保存します。
※CenOS 8 Streamにバージョン4.3.30をconfigure時に下記エラーが発生
アクセスしやすいようにxymonの構成ファイルとログへのシンボリック・リンクを作成します。
●Apache設定
Xymonを/home/xymonにインストールしたので、下記のようにアクセス権を変更します。
●起動スクリプトの設定
引き続いて起動スクリプトの設定をします。管理を楽にするために起動スクリプトを「/etc/rc.d/init.d」配下に設置して起動/終了の管理が行えるようにします。
最初に起動スクリプトをコピーします。
【修正後】
※CentOS 8 Streamでは下記作業を追加実行しました。
http://localhost/xymon/にアクセスして、localhostの監視が始まっていればサーバは問題なく動作しています。
起動直後はbbgenが黄色いアイコンになっているが正しい動作であり、5分もすると緑のアイコンになります。
もし赤いアイコンが出ていたらそれをクリックして原因を突き止める必要があります。
白いアイコンは監視対象が設定されていませんので、とりあえずは問題ありません。
なお、この時点でローカルのリソース監視なども始まっていますので、trendsアイコンを一時間後くらいにクリックしたりするとちょっとおもしろい。
http://localhost/xymon/にアクセスして、ディレクトリがリスティングされてしまう場合、表示用のhtmlファイル等が作成されていません。
●ログローテートの設定
下記のようにコピーします。
●Xymonサーバ複数台での監視
冗長を考慮してXymonサーバ複数台で監視する場合は、複数のサーバから監視できるように全てのXymonクライアント側で下記の設定を実施します。
また、アイコンが紫色になった場合、上記の設定(複数台監視)をすることにより解消する場合もあります。
●バージョンアップによるファイル等の名前変更
バージョンアップ(4.3.x系)によって相当数のファイルの名前が変更となっていますので、注意してください。
Renaming-430.txt
●設定ファイル
詳細はConfiguring Xymon Monitoringを参照してください。
Renaming-430.txtにも記載されているとおり下記のように変わっています。
●Xymonの設定ファイルについて
Xymonの設定ファイルは、installdir/server/etc/ディレクトリに置かれます(ソースからのインストールの場合)。ここには次のファイルが置かれます。
●hosts.cfgの設定について
hosts.cfgはクライアント外部(サーバ)から監視できるものを設定します。
下記のように設定しました。
「192.168.0.4」はWindows Server 2003が動作しています。#記号の右側に記載されているサービスを監視するようにしています。
「192.168.0.254」は自宅ネットワークのルータです。この機器も監視するように設定しました。
設定が完了したら、リロードして反映させます。
●analysis.cfgの設定について
クライアント内部(クライアント自身)から監視できるものを設定します。Xymonクライアントをインストールしたマシンのみanalysis.cfgの設定で監視できます。
Xymonサーバ側で設定し、マッチパターンを検出、警告レベルの判定を行います。
下記のように設定しました。
DEFAULT以下に記述したものは、すべてのXymonクライアント(サーバ含む)に適用されます。UPでuptimeが1時間内のものは注意(黄色いアイコン)を表示することにしました。そもそもマシンがダウンしていたら警告(赤いアイコン)となります。LOADはロード・アベレージの設定です。1Wayマシンなので、それの2倍である2.0に達したら注意、それの4倍に達したら警告としました。DISKはディスク使用率です。すべてのディスクで使用率が90%に達したら注意、95%に達したら警告としました。
MEMPHYSはメモリの使用率です。Linuxの場合、バッファとキャッシュにメモリを利用するのでMEMPHYSが大きくても問題ありません。100%で注意、101%(あり得ない)で警告とした。MEMSWAPはスワップの使用率で50%で注意、80%で警告としました。MEMACTはバッファとキャッシュを除いた値です。使用率90%で注意、97%で警告としました。
以下のような設定もできます。
「DIR」での設定はXymonの監視用Web画面の「files」をクリックした時に表示されます。
「FILE」行はMailBox形式であるroot用のメールボックスが10Mを超えた場合に注意を発する設定です。
「FILE」での設定はXymonの監視用Web画面の「files」をクリックした時に表示されます。
「LOG」行は、/var/log/messagesを監視し、SSH時に連続3回以上パスワードを間違えられたときに記録される「more authentication failures」を監視する設定です。
「LOG」での設定はXymonの監視用Web画面の「msgs」をクリックした時に表示されます。
「PROC」行は、crondが動作しているかどうかの単純な監視、httpdは「1未満または100以上で注意」「1未満または200以上で警告」するという意味でHTTPサーバの負荷を監視する設定です。
「PROC」での設定はXymonの監視用Web画面の「procs」をクリックした時に表示されます。
「PORT」での設定はXymonの監視用Web画面の「ports」をクリックした時に表示されます。
下記は特定のホストに対して設定を定義しています。
ホスト名「serverA.bigbang.mydns.jp」に対する設定です。hosts.cfgで設定した以外にポートを設定するようにしています。
設定が完了したら、再起動(リロードじゃ反映されない・・)して反映させます。
●client-local.cfgの設定について
analysis.cfgで「DIR」、「FILE」、「LOG」を使用する場合はinstalldir/server/etc/client-local.cfgの設定も必要です。ここに設定したファイルの情報をXymonクライアントはサーバに送信することになります。
「`find /var/spool/mail -maxdepth 1 -type f`」は指定したディレクトリ以下のファイルをチェックする方法です。詳細はfindのマニュアルを参照してください。
また、ignoreで送信しない行を設定でき、test.bigbang.dyndns.orgはSyslogサーバとして動作しており、ルータからのログも混ざっているため、ABCDABCDを含む行は送信しないようにしている。[linux]ではLinuxマシンでのデフォルト設定となり、ホスト名での記述がないLinuxマシンはこの設定を使用します。
なお、デフォルトでは/var/log/messagesや/etc/ssh/sshd_config、/etc/vsftpd/vsftpd.confはrootユーザしか読めないので、権限を変更する必要があります。
●ヘルプ一覧
ヘルプページ一覧は下記をクリックしてください。
Xymon4.3.Xのヘルプページはこちらです。
マニュアルページは下記をクリックしてください。
Xymon4.3.Xのマニュアルページはこちらです。
●iconの意味は
各アイコンの意味はこちらを参照してください。
●Xymonで追加したサービスを取り消すには
bb-hostsで監視対象サービスをテストで色々設定してしまい、Web画面上から取り除く場合、以下の方法により解決しました。
下記は、ホスト名www.abc.co.jpから「bbd」を取り除く場合の方法です。
まず、installdir/server/etc/hosts.cfgで「bbd」を削除します。
次に「bb」コマンドを実行します。
●Xymonの設定
o hosts.cfg
installdir/server/etc/hosts.cfgにあります。
hosts.cfgには、監視対象のホストを記述します。また、監視するネットワークサービス、監視するURL、画面がサブページにどう表示されるかを設定します。
監視対象ホストの設定
(構文) IPアドレス ホスト名 # 監視項目
(例)
*注 は XymonがOpenSSLをサポートしてビルドされていれば、監視可能な項目
o analysis.cfg
Xymonクライアントがインストールされた監視対象のホストから送られるデータの為の設定ファイルです。クライアントからxymonに送られた、CPU、ディスク、メモリ、プロセスの情報の色を設定します。
(例)
●Alertの通知
Xymonではメールによるアラートの通知が可能です。
[設定ファイル] installdir/server/etc/alerts.cfg
[設定]
alerts.cfg にある設定例は以下のようになってます。
「MAIL」の部分でアラートを通知するメールアドレスを設定します。復旧した際にもメールの通知が欲しい場合にはRECOVERDをつけます。
「COLOR=」の部分では、監視設定をした際に指定した色の障害のみ通知する設定ができます。何も指定しなければ全てです。
また、障害が発生した際に、何かのスクリプトを実行して欲しい場合には、SCRIPTを記述します。
私の環境では、スクリプトの実行はいらないですが、全ての監視対象、監視項目でメールが欲しいので以下のように設定してます。
[Alert通知メール例]デフォルトで以下のフォーマットでメールが通知されます。
・検知時
受取人を設定するキーワード
スクリプトに渡すすべての環境変数
●アイコンが紫色になってしまった・・
表示されているアイコンが紫色になるのは下記のような場合です。
●WindowsへのXymonクライアントの設置
hosts.cfgに監視対象マシンの”NETBIOSコンピュータ名”と”IPアドレス”を追加します。
[BBWin Root]/etc/BBWin.cfgを編集します。XymonサーバのIPアドレス、ポート(デフォルトの1984使用ならば指定不要)を指定します。
設定を変更すると自動的にBBWinサービスが再起動しますので、手動でサービスをBBWin(Big Brother Hobbit Client)を再起動する必要はありません。
閾値等の制御は、analysis.cfgではなくBBWin.cfgで行います。
「memory」の閾値を下記の通りデフォルトから変更しています。
また、イベントビューアの「アプリケーション」及び「システム」の警告表示(type設定ではwarning)をデフォルトの1時間から30分に変更しました。
●文字化け対策
Windows用のXymonクライアントをインストール後、注意や警告で報告されるイベントログ表示(msgs)が文字化けしてしまう。
その対策として、installdir/server/etc/hobbitserver.cfgを下記の通り編集しました。
●監視画面でxymonnetのアイコンが赤くなる現象について
該当箇所をクリックしたところ、下記のようなエラーが出力されていました。
●グラフのタイトルにホスト名ではなくIPアドレスが表示される場合の対処方法
Deviceの設定のAssociated Data Queriesでiostat関連のData Queryを選択しグラフを表示させたところ、グラフのタイトルにホスト名ではなくIPアドレスが表示される現象が発生しました。
他のグラフではホスト名で表示されているので見た目上もあまりよろしくなくホスト名に変更したいと思いました。
その手順について示していきたいと思います。
まず、グラフ一覧表示から該当するグラフの情報を調査します。
該当のグラフの情報は「Graph Template: iostat - Bytes/sec」でした。
次に、Consoleタブを選択 → Templatesから「Data Source」を選択 → 右側の一覧から「iostat - I/O」を選択 → Data Sourceの「Name」で設定されている値をメモします(今回の場合、「|host_description| - iostat I/O - |query_ioDescr|」)。
XMLで定義されている「|host_description|」に代入される値がIPアドレスとなってしまい、グラフのタイトルにIPアドレスが表示されてしまうと推測。
このXMLファイルを探し出し内容を確認する必要があります。
Consoleタブを選択 → Data Collectorsから「Data Queries」を選択 → 右側の一覧から「iostat - kBytes/sec」を選択します。
Data Queries [edit: iostat - kBytes/sec]の「XML Path」を確認します(今回の場合、「<path_cacti>/resource/snmp_queries/iostat.xml」)。
該当XMLファイルの中身を確認します。
次は、Consoleタブを選択 → Templatesから「Graph」を選択 → 右側の一覧から「iostat - Bytes/sec」を選択します。
Graph Template Items [edit: iostat - Bytes/sec]のGraph Template Optionsの「Common Options」に「|host_hostname| - iostat - Bytes/sec - |query_ioDescr|」が設定されていることが分かります。
他のグラフの設定を参考にし、この「|host_hostname|」を「|host_description|」に変更し保存します。
グラフ表示を更新することにより、IPアドレス表示だった箇所がホスト名に変更されていることが確認できます。
Xymonとは、GPLのUNIXベースのネットワーク監視ソフトウェアです。2008年11月、商標の問題を理由として名称が「Xymon」に変更されました。詳細はこちらのページを参照してください。
今回は、OSとして「CentOS 5.6」にインストールします。
●Xymonに必要なソフトウェア
はじめに、Xymonが必要なソフトウェアがすでにインストール済みであるかどうかを確認しましょう。下記のようなソフトウェアが必要です。
yumを使用してモジュールが見つからない場合は、rpmfindから見つけてインストールしました。
* httpdなどのWebサーバ
* c-ares-devel
* fping
* httpdなどのWebサーバ
* openldap-devel
* openssl-devel
* pcre-devel
* rrdtool-devel
上記がインストールされていない場合はインストールしてください。CentOS 7ではすべてyumコマンドでインストールできます。
・CentOS 8 Streamの場合
# dnf install -y c-ares-devel fping openldap-devel openssl-devel pcre-devel # rpm -ivh http://rpmfind.net/linux/centos/8-stream/PowerTools/x86_64/os/Packages/rrdtool-devel-1.7.0-16.el8.x86_64.rpm
●Xymon用ユーザの作成
必要なソフトウェアのインストールが終わったら、Xymonを実行するユーザを作成します。この作業を怠ると、Xymonサーバのインストール(configure)時に下記のようなエラーが表示され停止してしまいます。
ymatch: can't get local yp domain: ローカルドメイン名が設定されていません FAILURE: The user xymon does not exist. Create user and try again.ですので、下記のようにユーザを作成します。
# useradd -c 'Xymon Administrator' xymon ← ユーザ「xymon」の作成 # passwd xymon ← 「xymon」のパスワードを設定 ユーザ xymon のパスワードを変更。 新しいパスワード: ← パスワード入力 新しいパスワードを再入力してください: ← パスワード再入力 passwd: 全ての認証トークンが正しく更新できました。
●Xymonサーバのインストール
※4.3.30が最新でした(2021.7.1現在)。
http://sourceforge.net/projects/xymon/から、xymon-4.3.3.tar.gzをダウンロードします。
ダウンロードしたファイルを/usr/local/srcディレクトリに保存します。
# cd /usr/local/src # tar xvzf xymon-4.3.3.tar.gz # cd xymon-4.3.3 # ./configure 以下のように質問されるが、デフォルトで問題なければ[Enter]でよい。 Configuration script for Xymon This script asks a few questions and builds a Makefile to compile Xymon Checking your make-utility Checking pre-requisites for building Xymon Checking for fping ... Xymon has a built-in ping utility (xymonping) However, it is not yet fully stable and therefore it may be best to use the external fping utility instead. I found fping in /usr/sbin/fping Do you want to use it [Y/n] ?[Enter]を押す Checking to see if '/usr/sbin/fping 127.0.0.1' works ... 127.0.0.1 is alive OK, will use '/usr/sbin/fping' for ping tests NOTE: If you are using an suid-root wrapper, make sure the 'xymond' user is also allowed to run fping without having to enter passwords. For 'sudo', add something like this to your 'sudoers' file: xymon ALL=(ALL) NOPASSWD: /usr/sbin/fping Checking for RRDtool ... test-rrd.c: In function 'main': test-rrd.c:30: error: too few arguments to function 'rrd_graph' make: *** [test-compile] エラー 1 Not RRDtool 1.0.x, checking for 1.2.x Found RRDtool include files in /usr/include Found RRDtool libraries in /usr/lib Linking RRD with PNG library: -L/usr/lib -lpng Checking for PCRE ... Found PCRE include files in /usr/include Found PCRE libraries in /usr/lib Checking for OpenSSL ... Found OpenSSL include files in /usr/include Found OpenSSL libraries in /usr/lib Xymon can use the OpenSSL library to test SSL-enabled services like POP3S, IMAPS, NNTPS and TELNETS. If you have the OpenSSL library installed, I recommend that you enable this. Do you want to be able to test SSL-enabled services (y) ?[Enter]を押す Checking for LDAP ... test-ldap.c: In function ’main’: test-ldap.c:25: 警告: implicit declaration of function 'ldap_init’ test-ldap.c:25: 警告: assignment makes pointer from integer without a cast Found LDAP include files in /usr/include Found LDAP libraries in /usr/lib Xymon can use your OpenLDAP LDAP client library to test LDAP servers. Do you want to be able to test LDAP servers (y) ?[Enter]を押す Enable experimental support for LDAP/SSL (OpenLDAP 2.x only) (y) ?[Enter]を押す Checking for clock_gettime() requiring librt ... clock_gettime() requires librt Checking for Large File Support ... Large File Support OK Setting up for a Xymon server What userid will be running Xymon [xymon] ?[Enter]を押す Found passwd entry for user xymon:x:501:501:Xymon Administrator:/home/xymon:/bin/bash Where do you want the Xymon installation [/home/xymon] ?[Enter]を押す OK, will configure to use /home/xymon as the Xymon toplevel directory What URL will you use for the Xymon webpages [/xymon] ? [Enter]を押す Where to put the Xymon CGI scripts [/home/xymon/cgi-bin] ? [Enter]を押す (Note: This is the filesystem directory - we will get to the URL shortly) What is the URL for the Xymon CGI directory [/xymon-cgi] ? [Enter]を押す (Note: This is the URL - NOT the filesystem directory) ********************** SECURITY NOTICE **************************** If your Xymon server is accessible by outsiders, then you should restrict access to the CGI scripts that handle enable/disable of hosts, and acknowledging of alerts. The easiest way to do this is to put these in a separate CGI directory and require a password to access them. Even if your Xymon server is on a secured, internal network, you may want to have some operations (like disabling a host) be password- protected - that lets you see who disabled or acknowledged an alert. Where to put the Xymon Administration CGI scripts [/home/xymon/cgi-secure] ? (Note: This is the filesystem directory - we will get to the URL shortly) What is the URL for the Xymon Administration CGI directory [/xymon-seccgi] ? (Note: This is the URL - NOT the filesystem directory) ** Note that you may need to modify your webserver configuration. ** After installing, see /home/xymon/server/etc/xymon-apache.conf for an example configuration. To generate Xymon availability reports, your webserver must have write-access to a directory below the Xymon top-level directory. I can set this up if you tell me what group-ID your webserver runs with. This is typically 'nobody' or 'apache' or 'www-data' What group-ID does your webserver use [nobody] ?[Enter]を押す Where to put the Xymon logfiles [/var/log/xymon] ? [Enter]を押す What is the name of this host [neko.bigbang.dyndns.org] ? [Enter]を押す What is the IP-address of this host [127.0.0.1] ? ホストのIPアドレスを入力 Where should I install the Xymon man-pages (/usr/local/man) ?[Enter]を押す Using Linux Makefile settings Created Makefile with the necessary information to build Xymon Some defaults are used, so do look at the Makefile before continuing. Configuration complete - now run make (GNU make) to build the tools # make # make install問題が無ければインストール完了です。
※CenOS 8 Streamにバージョン4.3.30をconfigure時に下記エラーが発生
Checking for OpenSSL ... Compiling with SSL library works OK /usr/bin/ld: -ltirpc が見つかりません collect2: エラー: ld はステータス 1 で終了しました make: *** [Makefile.test-ssl:7: test-link] エラー 1 Warning: Cannot link with SSL library OpenSSL include- or library-files not found.下記により対応しました。
# dnf install -y libtirpc-devel
アクセスしやすいようにxymonの構成ファイルとログへのシンボリック・リンクを作成します。
# ln -s /home/xymon/server/etc /etc/xymon-server
●Apache設定
Xymonを/home/xymonにインストールしたので、下記のようにアクセス権を変更します。
# chmod 701 /home/xymon # ls -l /home 合計 20 drwx-----x 10 xymon xymon 4096 2009-09-16 18:30 xymonXymonはブラウザインターフェースを備えています。これを利用するためにApache関連のファイルを設定します。最初に、Apacheのconfファイルをコピーします。
# cp -p /home/xymon/server/etc/xymon-apache.conf /etc/httpd/conf.d/xymon.conf # アクセス制御の設定 Alias /xymon/ "/home/xymon/server/www/" <Directory "/home/xymon/server/www"> DirectoryIndex index.html Options Indexes FollowSymLinks Includes MultiViews <IfModule mod_authz_core.c> # Apache 2.4+ # 20160829 下記行コメントアウト # Require all granted # 20160829 インターネットからの丸見え防止のため下記4行追記 Require ip 10.0.0. Require ip 192.168.20. Require ip xxx.xxx.63. Require ip xxx.xxx.69. </IfModule> <IfModule !mod_authz_core.c> Order deny,allow Allow from all </IfModul>> </Directory> ScriptAlias /xymon-cgi/ "/home/xymon/cgi-bin/" <Directory "/home/xymon/cgi-bin>> AllowOverride None Options ExecCGI FollowSymLinks Includes <IfModule mod_authz_core.c> # Apache 2.4+ # 20160829 下記行コメントアウト # Require all granted # 20160829 インターネットからの丸見え防止のため下記4行追記 Require ip 10.0.0. Require ip 192.168.20. Require ip xxx.xxx.63. Require ip xxx.xxx.69. </IfModule> <IfModule !mod_authz_core.c> Order deny,allow Allow from all </IfModule> </Directory> ScriptAlias /xymon-seccgi/ "/home/xymon/cgi-secure/" <Directory "/home/xymon/cgi-secure"> AllowOverride None Options ExecCGI FollowSymLinks Includes <IfModule mod_authz_core.c> # Apache 2.4+ # 20160829 下記行コメントアウト # Require all granted # 20160829 インターネットからの丸見え防止のため下記4行追記 Require ip 10.0.0. Require ip 192.168.20. Require ip xxx.xxx.63. Require ip xxx.xxx.69. </IfModule> <IfModule !mod_authz_core.c> Order deny,allow Allow from all </IfModule>作業が完了したらApacheを再起動します。
# /etc/rc.d/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]管理用CGIにはBASIC認証が行われるため、パスワードを設定します。
# htpasswd -c -m /home/xymon/server/etc/xymonpasswd xymon New password:パスワード入力 Re-type new password:パスワード再入力 Adding password for user xymon
●起動スクリプトの設定
引き続いて起動スクリプトの設定をします。管理を楽にするために起動スクリプトを「/etc/rc.d/init.d」配下に設置して起動/終了の管理が行えるようにします。
最初に起動スクリプトをコピーします。
# cp -p /usr/local/src/xymon-4.3.3/rpm/xymon-init.d /etc/rc.d/init.d/xymon # chown root:root /etc/rc.d/init.d/xymon # chmod 755 /etc/rc.d/init.d/xymonここで気を付けなければ行けないことがあります。DAEMONのパスが通っていないのでパスを変更します。
【修正後】
#! /bin/sh # # xymon This shell script takes care of starting and stopping # xymon (the Xymon network monitor) # # chkconfig: 2345 80 20 # description: Xymon is a network monitoring tool that allows \ # you to monitor hosts and services. The monitor status is available \ # via a webpage. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin #DAEMON=/usr/lib/xymon/server/bin/xymon.sh ← コメントアウト DAEMON=/home/xymon/server/bin/xymon.sh NAME=xymon DESC=Xymon test -x $DAEMON || exit 0 # Include Xymon defaults if available if [ -f /etc/default/xymon ] ; then . /etc/default/xymon fi set -e case "$1" in start) echo -n "Starting $DESC: " su -c "$DAEMON start" - xymon echo "$NAME." ;; stop) echo -n "Stopping $DESC: " su -c "$DAEMON stop" - xymon echo "$NAME." ;; status) su -c "$DAEMON status" - xymon ;; reload|force-reload) echo "Reloading $DESC configuration files." su -c "$DAEMON reload" - xymon echo "$NAME." ;; restart) echo -n "Restarting $DESC: " su -c "$DAEMON restart" - xymon echo "$NAME." ;; rotate) echo -n "Rotating logs for $DESC: " su -c "$DAEMON rotate" - xymon echo "$NAME." ;; *) N=/etc/init.d/$NAME # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0chkconfigに追加し、リスト表示がされるかを確認します。同時にきちんと起動するかも確認してみます。
# chkconfig --add xymon # chkconfig --list | grep xymon xymon 0:off 1:off 2:on 3:on 4:on 5:on 6:off # service xymon start Starting xymon: Xymon started xymon.
※CentOS 8 Streamでは下記作業を追加実行しました。
# systemctl start xymon
# systemctl enable xymon
※下記コマンドは使用できません。
# systemctl enable --now xymon
http://localhost/xymon/にアクセスして、localhostの監視が始まっていればサーバは問題なく動作しています。
起動直後はbbgenが黄色いアイコンになっているが正しい動作であり、5分もすると緑のアイコンになります。
もし赤いアイコンが出ていたらそれをクリックして原因を突き止める必要があります。
白いアイコンは監視対象が設定されていませんので、とりあえずは問題ありません。
なお、この時点でローカルのリソース監視なども始まっていますので、trendsアイコンを一時間後くらいにクリックしたりするとちょっとおもしろい。
http://localhost/xymon/にアクセスして、ディレクトリがリスティングされてしまう場合、表示用のhtmlファイル等が作成されていません。
# cat /var/log/xymon/xymongen.log 2019-07-10 17:31:11.891554 xymond status-board not available, code 0 2019-07-10 17:31:11.891602 Failed to load current Xymon status, aborting page-updateこの場合、Firewallで監視に必要な1984/tcpを開けてください。
●ログローテートの設定
下記のようにコピーします。
# cp /usr/local/src/xymon-4.3.3/rpm/xymon.logrotate /etc/logrotate.d/xymon
●Xymonサーバ複数台での監視
冗長を考慮してXymonサーバ複数台で監視する場合は、複数のサーバから監視できるように全てのXymonクライアント側で下記の設定を実施します。
# vi installdir/client/etc/xymonclient.cfg XYMSRV="0.0.0.0" # IP address of the Xymon server ↑ 上記のように設定 # XYMSRV="192.168.0.1" # IP address of the Xymon server ↑ 最初に設定済みのものをコメントアウト XYMSERVERS="192.168.0.1 192.168.0.2" # IP of multiple Xymon servers. XYMSRV must be "0.0.0.0". ↑ XymonサーバのIPアドレスを列挙 # service xymon restart ← 変更反映のため再起動監視画面のfilesのアイコンが白色になった場合はクライアント側の設定ファイルである「client-local.cfg」を、ports、procsのアイコンが白色になった場合はサーバ側の「analysis.cfg」を設定し、それぞれを再起動します。
また、アイコンが紫色になった場合、上記の設定(複数台監視)をすることにより解消する場合もあります。
●バージョンアップによるファイル等の名前変更
バージョンアップ(4.3.x系)によって相当数のファイルの名前が変更となっていますので、注意してください。
Renaming-430.txt
●設定ファイル
詳細はConfiguring Xymon Monitoringを参照してください。
Renaming-430.txtにも記載されているとおり下記のように変わっています。
bb-hosts → hosts.cfg bbcombotest.cfg → combo.cfg hobbit-alerts.cfg → alerts.cfg hobbitcgi.cfg → cgioptions.cfg hobbit-nkview.cfg → critical.cfg hobbit-rrddefinitions.cfg → rrddefinitions.cfg hobbitgraph.cfg → graphs.cfg hobbit-holidays.cfg → holidays.cfg analysis.cfg → analysis.cfg hobbit-snmpmibs.cfg → snmpmibs.cfg hobbitlaunch.cfg → tasks.cfg hobbitserver.cfg → xymonserver.cfg hobbitclient.cfg → xymonclient.cfg bb-services → protocols.cfg
●Xymonの設定ファイルについて
Xymonの設定ファイルは、installdir/server/etc/ディレクトリに置かれます(ソースからのインストールの場合)。ここには次のファイルが置かれます。
- hosts.cfgは、最も頻繁にメンテナンスされるファイルです。このファイルは監視するホストの一覧を含みます。IPアドレス、監視するネットワークサービス、監視するURL、監視結果の画面がサブページにどのように表示されかの情報なども含まれます。このファイル名、hosts.cfgは、BigBrotherとの互換性を考えられて決められました。BigBrotherと同じファイル名で同じフォーマットとなっています。
- analysis.cfgは、Xymonクライアントがインストールされた監視対象のホストから送られるデータのための設定ファイルです。クライアントからXymonに送られたCPU、ディスク、メモリ、プロセスの情報の、色を定義します。
- alerts.cfgは、アラートの情報が記述されます。このファイルには、サービスが落ちたときのアラートを送るルールが設定されます。誰がどのようにアラートを受け取り、時間帯は24時間365日なのか平日の午前10時から午後4時までなのか、などが記載されます。
- xymonserver.cfgはXymonサーバのための設定ファイルです。このファイルは多くの環境変数を定義します。定義された環境変数は、Xymonプログラムのすべてで適用されます。BigBrotherでも定義される環境変数のいくつかは、Xymonでも設定されます。そのため、BigBrotherのエクステンションスクリプトも動作します。xymonserver.cfgは、Xymonインストール時のconfigureスクリプトによって設定され、通常は変更する必要はありません。
- tasks.cfgはxymonlaunchツールのための設定ファイルです。xymonlaunchは、Xymonを起動するプログラムで、Xymonサーバを起動するするだけのプログラムです。xymonlaunchはxymonlaunch.cfgファイルを読み込み、サーバを起動するためにこれに一覧されたプログラムを実行します。プログラムのいくつかはデーモンとして実行されるかもしれません。いくつかのプログラムは定期的な間隔で実行されるかもしれません。xymongenかxymonnetのオプションを使うなら、これらのオプションをコマンドラインに追加するために、xymonlaunchを変更してください。
- graph.cfgはxymongraph CGIのための設定ファイルです。RRDファイルのデータからどのようにグラフが生成されるかを定義します。
- protocols.cfgはxymonnetプログラムのための設定ファイルです。どのようにネットワークファイルが監視されるかを定義します
# ln -s /home/xymon/server/etc /etc/xymon-server
●hosts.cfgの設定について
hosts.cfgはクライアント外部(サーバ)から監視できるものを設定します。
下記のように設定しました。
group-compress <b>Servers</b> 192.168.0.5 serverA.bigbang.mydns.jp # ajp13 dns imap pop3 smtp ssh telnet vnc:5901 http://pub.bigbang.dyndns.org/ https://pub2.bigbang.dyndns.org/ 192.168.0.4 sun.bigbang.dyndns.org # dns ldap ssh vnc:5900 http://sun.bigbang.dyndns.org/ group-compress <b>Gateways</b> 192.168.0.254 router # telnet http://192.168.0.254/「192.168.0.5」はXymonサーバがインストールされているマシンです。#記号の右側に記載されているサービスを監視するようにしています。
「192.168.0.4」はWindows Server 2003が動作しています。#記号の右側に記載されているサービスを監視するようにしています。
「192.168.0.254」は自宅ネットワークのルータです。この機器も監視するように設定しました。
設定が完了したら、リロードして反映させます。
# service xymon reload
●analysis.cfgの設定について
クライアント内部(クライアント自身)から監視できるものを設定します。Xymonクライアントをインストールしたマシンのみanalysis.cfgの設定で監視できます。
Xymonサーバ側で設定し、マッチパターンを検出、警告レベルの判定を行います。
下記のように設定しました。
DEFAULT
# These are the built-in defaults.
UP 1h
LOAD 2.0 4.0
DISK * 90 95
MEMPHYS 100 101
MEMSWAP 50 80
MEMACT 90 97
「LOAD」の部分だけ変更しました。
DEFAULT以下に記述したものは、すべてのXymonクライアント(サーバ含む)に適用されます。UPでuptimeが1時間内のものは注意(黄色いアイコン)を表示することにしました。そもそもマシンがダウンしていたら警告(赤いアイコン)となります。LOADはロード・アベレージの設定です。1Wayマシンなので、それの2倍である2.0に達したら注意、それの4倍に達したら警告としました。DISKはディスク使用率です。すべてのディスクで使用率が90%に達したら注意、95%に達したら警告としました。
MEMPHYSはメモリの使用率です。Linuxの場合、バッファとキャッシュにメモリを利用するのでMEMPHYSが大きくても問題ありません。100%で注意、101%(あり得ない)で警告とした。MEMSWAPはスワップの使用率で50%で注意、80%で警告としました。MEMACTはバッファとキャッシュを除いた値です。使用率90%で注意、97%で警告としました。
以下のような設定もできます。
DIR /var/log/httpd yellow size<10240 DIR /var/log/httpd red size<102400 FILE /var/spool/mail/root yellow size<10M LOG /var/log/messages red "%sshd.*more authentication failures" PROC crond PROC httpd 1 100 yellow PROC httpd 1 200 red「DIR」行は、/var/log/httpdディレクトリが10Mbyteを超えた場合に注意、100Mbyteを超えた場合に警告を発する設定です。
「DIR」での設定はXymonの監視用Web画面の「files」をクリックした時に表示されます。
「FILE」行はMailBox形式であるroot用のメールボックスが10Mを超えた場合に注意を発する設定です。
「FILE」での設定はXymonの監視用Web画面の「files」をクリックした時に表示されます。
「LOG」行は、/var/log/messagesを監視し、SSH時に連続3回以上パスワードを間違えられたときに記録される「more authentication failures」を監視する設定です。
「LOG」での設定はXymonの監視用Web画面の「msgs」をクリックした時に表示されます。
「PROC」行は、crondが動作しているかどうかの単純な監視、httpdは「1未満または100以上で注意」「1未満または200以上で警告」するという意味でHTTPサーバの負荷を監視する設定です。
「PROC」での設定はXymonの監視用Web画面の「procs」をクリックした時に表示されます。
「PORT」での設定はXymonの監視用Web画面の「ports」をクリックした時に表示されます。
下記は特定のホストに対して設定を定義しています。
ホスト名「serverA.bigbang.mydns.jp」に対する設定です。hosts.cfgで設定した以外にポートを設定するようにしています。
HOST=serverA.bigbang.mydns.jp FILE /bin/ls red md5=md5sumコマンドで得られたhash値を設定 FILE /bin/mv red md5=md5sumコマンドで得られたhash値を設定 FILE /bin/cp red md5=md5sumコマンドで得られたhash値を設定 FILE /bin/rm red md5=md5sumコマンドで得られたhash値を設定 FILE /etc/ssh/sshd_config red md5=md5sumコマンドで得られたhash値を設定 PORT LOCAL=%[.:]22$ STATE=LISTEN "TEXT=SSH: 22" PORT LOCAL=%[.:]23$ STATE=LISTEN "TEXT=TELNET: 23" PORT LOCAL=%[.:]25$ STATE=LISTEN "TEXT=SMTP: 25" PORT LOCAL=%[.:]53$ STATE=LISTEN "TEXT=DNS: 53" PORT LOCAL=%[.:]80$ STATE=LISTEN "TEXT=HTTP: 80" PORT LOCAL=%[.:]143$ STATE=LISTEN "TEXT=IMAP: 143" PORT LOCAL=%[.:]443$ STATE=LISTEN "TEXT=HTTPS: 443" PORT LOCAL=%[.:]3306$ STATE=LISTEN "TEXT=MySQL: 3306" PORT LOCAL=%[.:]5432$ STATE=LISTEN "TEXT=PostgreSQL: 5432" PORT LOCAL=%[.:]5901$ STATE=LISTEN "TEXT=VNC: 5901" ↑ 頻繁に監視するとLinux版のVNC(tigervnc-server)では「too many security failures」 が表示されてしまい、VNCを再起動しないと接続できなくなってしまうため、 コメントアウトするようにした。 PORT LOCAL=%[.:]8009$ STATE=LISTEN "TEXT=AJP13: 8009" PROC crond 1 -1 yellow PROC httpd 1 -1 yellow PROC mysqld 2 PROC named 1 -1 yellow PROC ntpd 1 -1 yellow PROC postmaster 1 -1 yellow PROC rsyslog 1 -1 yellow PROC snmpd 1 -1 yellow PROC sshd 1 -1 yellow PROC vnc 1 -1 yellowMySQLはmysqld_safeとmysqldが動いているべきなので「2未満だと警告」という設定です。
設定が完了したら、再起動(リロードじゃ反映されない・・)して反映させます。
# service xymon restartその他にも様々な設定ができます。詳細ついてはマニュアルを参照してください。
●client-local.cfgの設定について
analysis.cfgで「DIR」、「FILE」、「LOG」を使用する場合はinstalldir/server/etc/client-local.cfgの設定も必要です。ここに設定したファイルの情報をXymonクライアントはサーバに送信することになります。
[test.bigbang.dyndns.org] dir:/var/log/httpd file:/bin/ls:md5 file:/bin/mv:md5 file:/bin/cp:md5 file:/bin/rm:md5 file:/etc/ssh/sshd_config:md5 file:/etc/vsftpd/vsftpd.conf:md5 file:`find /var/spool/mail -maxdepth 1 -type f` log:/var/log/messages:10240 ignore ABCDABCD [linux] dir:/var/log/httpd file:/bin/ls:md5 file:/bin/mv:md5 file:/bin/cp:md5 file:/bin/rm:md5 file:/etc/ssh/sshd_config:md5 log:/var/log/messages:10240 ignore EFGHEFGHfile:の末尾に:md5をつけるとMD5値も送信されるようになります。
「`find /var/spool/mail -maxdepth 1 -type f`」は指定したディレクトリ以下のファイルをチェックする方法です。詳細はfindのマニュアルを参照してください。
また、ignoreで送信しない行を設定でき、test.bigbang.dyndns.orgはSyslogサーバとして動作しており、ルータからのログも混ざっているため、ABCDABCDを含む行は送信しないようにしている。[linux]ではLinuxマシンでのデフォルト設定となり、ホスト名での記述がないLinuxマシンはこの設定を使用します。
なお、デフォルトでは/var/log/messagesや/etc/ssh/sshd_config、/etc/vsftpd/vsftpd.confはrootユーザしか読めないので、権限を変更する必要があります。
# chgrp xymon /var/log/messages* # chmod 640 /var/log/messages* # chgrp xymon /etc/ssh/sshd_config # chmod 640 /etc/ssh/sshd_config # chgrp xymon /etc/vsftpd/vsftpd.conf # chmod 640 /etc/vsftpd/vsftpd.conf
●ヘルプ一覧
ヘルプページ一覧は下記をクリックしてください。
Xymon4.3.Xのヘルプページはこちらです。
マニュアルページは下記をクリックしてください。
Xymon4.3.Xのマニュアルページはこちらです。
●iconの意味は
各アイコンの意味はこちらを参照してください。
●Xymonで追加したサービスを取り消すには
bb-hostsで監視対象サービスをテストで色々設定してしまい、Web画面上から取り除く場合、以下の方法により解決しました。
下記は、ホスト名www.abc.co.jpから「bbd」を取り除く場合の方法です。
まず、installdir/server/etc/hosts.cfgで「bbd」を削除します。
次に「bb」コマンドを実行します。
# installdir/server/bin/bb [XymonサーバのIPアドレス] "drop [hosts.cfgでのHOST名] bbd"自己環境に合わせて「www.abc.co.jp」(xymon監視ページで表示されているホスト名を記載)、「bbd」(削除したいサービス)の部分を変更します。これでも取り除くことができない場合は、下記を実行します。
# service xymon restart 上記リスタートで表示が変わらない場合、下記も実行してみる。 # service httpd reloadインターコネクト用インターフェースを経由してコマンドが発行され、サーバ側で拒否された旨のエラーが表示されました。
(監視画面のxymondをクリックし、下の方) Latest error messages: Refused message from 192.168.20.2: drop neko.bigbang.dyndns.org bbd Refused message from 192.168.20.2: drop nezumi.bigbang.dyndns.org bbdこのため、該当インターフェースをダウンさせてから上記コマンドを実行したところ取り除くことができました。
●Xymonの設定
o hosts.cfg
installdir/server/etc/hosts.cfgにあります。
hosts.cfgには、監視対象のホストを記述します。また、監視するネットワークサービス、監視するURL、画面がサブページにどう表示されるかを設定します。
監視対象ホストの設定
(構文) IPアドレス ホスト名 # 監視項目
(例)
192.168.1.4 XXX1 # conn bbd smtp pop ssh http://XXX1.net/ 192.168.1.3 XXX2 # conn smtp pop ssh http://XXX2.net/ vnc:5901 192.168.1.2 XXX3 # conn ssh vnc:5901は5901ポートで動作しているVNCサーバの監視監視サービス一覧
*注 は XymonがOpenSSLをサポートしてビルドされていれば、監視可能な項目
サービス | 説明 |
---|---|
conn | pingテスト。デフォルトで有効。noconnキーワードを書くと無効になります |
http | Webサーバテスト。WebサーバのURLを記述します |
ftp | FTPサーバテスト |
ssh | SSH(Secure Shell)サーバテスト。ssh1とssh2をサポートします |
telnet | Telnetサーバテスト |
smtp | SMTP(メールサーバ)テスト |
pop3 | POP3テスト |
imap | IMAPテスト。IMAPバージョン2と4をサポート。バージョン3は"imap3"を利用してください |
nntp | NNTP(ネットニュース)サーバテスト |
ldap | LDAP(ディレクトリサーバ)テスト。LDAPがサポートされたXymonでLDAP URIを記述してください |
rsync | rsyncサーバテスト |
bbd | BigBrotherデーモンテスト。Xymonネットワークデーモンテストとしても稼働する |
clamd | CLAMアンチウィルスデーモンテスト |
spamd | SpamAssassinアンチスパムデーモンテスト |
oratns | Oracle TNSリスナテスト。Oratns "ping"をテストする |
qmtp | QMTPサーバテスト。qmailのqmtpdサービス用 |
qmqp | QMQPサーバテスト。qmailのqmqpdサービス用 |
vnc | VNC(Virtual Network Computing)サーバテスト |
https(*注) | Webサーバテスト。WebサーバのURLを記述します。 |
ftps(*注) | セキュアFTPサーバテスト |
telnets(*注) | セキュアTelnetサーバテスト |
smtps(*注) | セキュアSMTPサーバテスト |
pop3s(*注) | セキュアPOP3サーバテスト |
imaps(*注) | セキュアIMAPサーバテスト |
nntps(*注) | セキュアNNTP(News)サーバテスト |
ldaps(*注) | セキュアLDAP(ディレクトリ)サーバテスト。XymonがLDAPをサポートしてビルドされていれば、Full LDAP URIを入れてください。OpenLDAP v2.xクライアントライブラリとともにビルドされていて、かつLDAPサーババージョン3で、"starttls"コマンドがサポートされているときに有効であることに気をつけてください。ポート636でSSL経由の古い非標準のLDAPトンネルはLDAPサーバは機能しないでしょう。 |
o analysis.cfg
Xymonクライアントがインストールされた監視対象のホストから送られるデータの為の設定ファイルです。クライアントからxymonに送られた、CPU、ディスク、メモリ、プロセスの情報の色を設定します。
(例)
HOST=XXX3 UP 30m DISK * 90 95 LOAD 5.0 10.0 MEMPHYS 100 101 MEMSWAP 50 80 MEMACT 90 97 PROC sshd 1 -1 yellow PROC httpd 1 -1 yellow PROC syslog-ng 1 -1 yellow PROC named 1 -1 yellow PROC ntpd 1 -1 yellow PROC postmaster 1 -1 yellow PROC nmbd 1 -1 yellow PROC smbd 1 -1 yellow PROC snmpd 1 -1 yellow
●Alertの通知
Xymonではメールによるアラートの通知が可能です。
[設定ファイル] installdir/server/etc/alerts.cfg
[設定]
alerts.cfg にある設定例は以下のようになってます。
HOST=www.foo.com SERVICE=http MAIL webadmin@foo.com REPEAT=20 RECOVERED MAIL cio@foo.com DURATION>60 COLOR=red SCRIPT /usr/local/bin/sendsms 1234567890 FORMAT=SMS「HOST=」の部分で対象のホストを設定します。「SERVICE=」をつける事によって対象のサービスも指定できます。何も指定しなければ全てになります。
「MAIL」の部分でアラートを通知するメールアドレスを設定します。復旧した際にもメールの通知が欲しい場合にはRECOVERDをつけます。
「COLOR=」の部分では、監視設定をした際に指定した色の障害のみ通知する設定ができます。何も指定しなければ全てです。
また、障害が発生した際に、何かのスクリプトを実行して欲しい場合には、SCRIPTを記述します。
私の環境では、スクリプトの実行はいらないですが、全ての監視対象、監視項目でメールが欲しいので以下のように設定してます。
== host=xxx1、xxx2、xxx3 MAIL xxx@xxx.com RECOVERD ==これで、xxx1 と xxx2 と xxx3 の全ての監視項目にて障害が発生及び復旧した際に、xxx@xxx.com宛てにメールがきます。
[Alert通知メール例]デフォルトで以下のフォーマットでメールが通知されます。
・検知時
== red Tue Apr 22 16:20:14 2008 ssh NOT ok Service ssh on xxx1 is not OK : Service unavailable (connect timeout) Seconds: 0.00 See http://xxx3/xymon-cgi/bb-hostsvc.sh?HOST=xxx1&SERVICE=ssh ==・復旧時
== green Tue Apr 22 16:22:16 2008 ssh ok Service ssh on xxx1 is OK (up) SSH-1.99-OpenSSH_4.3 Seconds: 0.00 See http://xxx3/xymon-cgi/bb-hostsvc.sh?HOST=xxx1&SERVICE=ssh ==ルールを設定するキーワード
環境変数 | 説明 |
---|---|
ACKCODE | アラートを扱っている"cookie" |
PAGE | ページ名でマッチするルール。これはbb-hostsの"page"、"subpage"、"subparent"キーワードの名前です。 |
EXPAGE | ページ名で除外するルール。 |
HOST | ホスト名でマッチするルール。 |
EXHOST | ホスト名で除外するルール。 |
SERVICE | サービス名でマッチするルール。 |
EXSERVIC | サービス名で除外するルール。 |
COLOR | 色でマッチするルール。"red"、 "yellow"、 "purple"を指定できます。 |
TIME | 時間でマッチするルール。これはbb-hostsのDOWNTIME時間詳細として特定されます(訳注:?)。(bb-hosts(5)を参照) |
DURATION | 最後に起きたイベントからの時間でマッチするルール。例:DURATION>10m (10分以上続いた場合)、DURATION<2h(最初の2時間だけアラートを送ります)。単位は、'm'、'h'、'd'を、それぞれ分、時間、日として利用でき、明示されていない場合は分です。 |
UNMATCHED | 受取人のこのキーワードは、他のアラートが送られず、このアラートだけが送られることを意味します(訳注:?)。たとえば、いくつかのサービスを特定の人に送りたい場合に使うことができます。UNMATCHEDキーワードのある他の誰にも送られなかったアラートを受け取る受取人を加えることもできます。すべてのアラートを受け取る受取人を作って、hobbit-alerts.cfgファイルの最後にUNMATCHEDキーワードのある受取人を作ることもできます。(訳注:覚え書き:意味がわからないので、試してみること。) |
RECOVERED | アラート状態が復旧したときにマッチするルール。 |
NOTICE | メッセージが"notify"となった場合にマッチするルール。ホストかテストを無効にするか有効にするかしたときに、このメッセージが送られます。(訳注:?)。 |
受取人を設定するキーワード
環境変数 | 説明 |
---|---|
メールを受け取る受取人。これは一つのパラメータ(メールアドレス)を取ります。 | |
SCRIPT | スクリプトを実行する受取人。これは二つのパラメータ(スクリプトのファイル名と、スクリプトに渡される受取人(訳注:RECIPIENT?)) |
IGNORE | アラートを送らない受取人。Xymonは受取人を捜さないようになります。下の例を参照してください。 |
FORMAT | アラートのテキストメッセージのフォーマット。デフォルトは"TEXT"(メールでのアラートに適している)です。"PLAIN"はステータスページへのリンクが含まれないことを除いてTEXTと同じです。"SMS"はSMS用のサブジェクトのない短いメッセージです。"SCRIPT"はスクリプト用の要約されたメッセージテンプレートです。 |
REPEAT | アラートを繰り返す頻度。DURATION設定と共にして指定されます。単位は'm'、'h'、'd'で指定でき、明示されない場合は分です。 |
STOP | デフォルトで、xymond_alertはアラートを扱うときにalerts.cfgファイルのすべての有効な受取人を見ます。もし特定の受取人がアラートを受け取って停止したいのであれば、STOPキーワードをこの受取人に追加してください。これはもっと多くの受取人を捜すのを停止します。 |
スクリプトに渡すすべての環境変数
環境変数 | 説明 |
---|---|
ACKCODE | アラートを扱っている"cookie" |
BBALPHAMSG | ステータスログのすべてのテキスト |
BBCOLORLEVEL | ステータスの現在の色 |
BBHOSTNAME | アラートを扱っているホスト名 |
BBHOSTSVC | アラートのHOSTNAME、SERVIC |
BBHOSTSVCCOMMAS | BBHOSTSVC、しかしHOSTNAMEはカンマで区切られている |
BBSVCNAME | アラートを扱っているサービス名 |
BBSVCNUM | サービスの番号コード、SVCCODES定義から |
BBNUMERIC | BBSVCNUM、 MACHIP、ACKCODEによって作られる22文字の数値 |
DOWNSECS | サービスがダウンしている秒数 |
DOWNSECSMSG | サービスが復旧したときの、保持しているテキスト"Event duration : N"のNのダウンした秒の値 |
MACHIP | 問題が起きているホストのIPアドレス |
RECOVERED | サービスが復旧していれば"1" |
RCPT | 受取人、SCRIPTエントリからの |
●アイコンが紫色になってしまった・・
表示されているアイコンが紫色になるのは下記のような場合です。
- OSをバージョンアップしたとき この場合は、Xymonを再コンパイルし、再インストールします。
- ホスト名を過去に使用しており、IPアドレスも過去のものと同じでXymonクライアントが構成されていないとき この場合は、Xymonクライアントをインストールし動作させます。
- 監視するサーバが複数台になったとき ●Xymonサーバ複数台での監視を参照して設定変更してください。
●WindowsへのXymonクライアントの設置
hosts.cfgに監視対象マシンの”NETBIOSコンピュータ名”と”IPアドレス”を追加します。
192.168.0.1 xxx # dns ldap ssh http://xxx.server.co.jp/
次に「analysis.cfg」を編集します。
HOST=xxx #Windows Server 2003 # LOAD 80 90 # Load threholds are in % # DISK D 50 55 # Can be harddrive or mount points # DISK InetPub 30 35 # MEMPHYS 90 101 # MEMSWAP 90 95 # MEMACT 90 97 # PORT "LOCAL=%([.:]80)$" state=LISTENING TEXT=http # PROC BBWin.exe 1 1 # PROC svchost.exe 3 4 # LOG %.* %.*error.* COLOR=yellow # SVC MSSQLSERVER startup=automatic status=started設定ファイルを読み込ませます。
# service xymon reloadWindows用クライアント(bbwin)をダウンロードし、インストールします。
[BBWin Root]/etc/BBWin.cfgを編集します。XymonサーバのIPアドレス、ポート(デフォルトの1984使用ならば指定不要)を指定します。
設定を変更すると自動的にBBWinサービスが再起動しますので、手動でサービスをBBWin(Big Brother Hobbit Client)を再起動する必要はありません。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <bbwin> <setting name="bbdisplay" value="192.168.0.1" /> <setting name="bbdisplay" value="192.168.0.2" /> ← 監視サーバが複数台ある場合 <!-- <setting name="bbdisplay" value="yoursecondbbdisplay:port" />-->Windowsサービス「Big Brother Xymon Client」を開始します。
閾値等の制御は、analysis.cfgではなくBBWin.cfgで行います。
「memory」の閾値を下記の通りデフォルトから変更しています。
<memory> <!-- If true、 the agent will always report with green status --> <setting name="alwaysgreen" value="false" /> <setting name="physical" warnlevel="90" paniclevel="98" /> <setting name="page" warnlevel="85" paniclevel="90" /> <setting name="virtual" warnlevel="85" paniclevel="90" /> </memory>「msgs」にはエラーとして頻繁に発生するイベントに対して、対策として以下の項目を追記しました。
また、イベントビューアの「アプリケーション」及び「システム」の警告表示(type設定ではwarning)をデフォルトの1時間から30分に変更しました。
<msgs> : <match logfile="Application" type="warning" alarmcolor="yellow" delay="30m" /> <match logfile="System" type="warning" alarmcolor="yellow" delay="30m" /> : <ignore logfile="Application" source="Apcupsd" /> <ignore logfile="Application" source="sshd" /> <ignore logfile="Application" source="WinVNC4" /> </msgs>
-
APCUPSD対策
Windows Server 2003にApcupsd(クライアント)をインストールしています。UPSの動作をネットワーク越しに連携させているのですが、頻繁に「Communications with UPS lost..」と発生するため追記しました。 -
WinVNC4対策
Windows Server 2003にWinVNC4をインストールしています。hosts.cfgの設定VNCサービスの監視を設定すると「Connections: blacklisted: 1.0.0.5」のエラーが出力されてしまうため追記しました。 -
OPENSSH for Windows対策
Windows Server 2003にOPENSSH for Windowsをインストールしています。「fatal: Read from socket failed: Connection aborted.」がたまに発生するので、ignoreで除外した方がいいかもしれない。 -
Event ID 3、4、8 Source TermServDevices対策
yellow system: warning - 2010/01/28 09:38:07 - Print (3) - NT AUTHORITY\SYSTEM "プリンタ (WINXPVM からの) Microsoft XPS Document Writer が削除されました。" yellow system: warning - 2010/01/28 09:38:06 - Print (4) - NT AUTHORITY\SYSTEM "プリンタ (WINXPVM からの) Microsoft XPS Document Writer の削除は保留されています。" yellow system: warning - 2010/01/28 09:38:06 - Print (8) - NT AUTHORITY\SYSTEM "プリンタ (WINXPVM からの) Microsoft XPS Document Writer のすべての印刷ジョブが削除されました。"
リモートデスクトップ接続時に、[ローカルリソース]タブ−[ローカルデバイスとリソース]で[プリンタ]と[クリップボード]を両方ともチェックを入れた状態である場合、上記のようなエラーが発生する。
-
Event ID 1111 Source TermServDevices対策
[Terminal Service Configuration]を開く → 左ペインの[Connections]を選択 → [RDP-Tcp]を右クリックして[Properties]を開く → [Client Settings]タブを開く → [Windows printer mapping]にチェックを入れます。
以上です。やはり不要なサービスはすべて停止するに限ります。サーバの負荷を軽減し、セキュリティの強化にもつながります。皆さんのXPやVistaでも不要なサービスは動いていませんか?次のサイトが役に立つはずです。確認してみてください。
http://www.jasonn.com/turning_off_unnecessary_services_on_windows_xp
http://www.marksanborn.net/howto/turn-off-unnecessary-windows-services/
http://blogs.techrepublic.com.com/security/?p=354 -
Event ID 213 Source LicenseService対策
ADがWindows2003でドメインに参加するクライアントがWindows2000Serverの時に発生するようです。とりあえずの対処方法は、ドメインに参加するWindows2000ServerのLisenceLoggingServiceを停止すればエラーは出なくなります。 -
Event ID 1517 Userenv対策
プロファイルのアンロードに関する問題のトラブルシューティングを参照しました。 -
「SYMANTEC TAMPER PROTECTION ALERT」対策
上記の「Event ID 1517 Userenv対策」によりインストールしたuphcleanにより、「SYMANTEC TAMPER PROTECTION ALERT」がアプリケーションエラー(警告)として出力されるようになってしまいました。内容は以下のとおりです。Target: C:\Program Files\Symantec\Symantec Endpoint Protection\Rtvscan.exe Event Info: 停止 スレッド Action Taken: ログ記録 Actor Process: C:\Program Files\UPHClean\uphclean.exe (PID 2624)
この対策として該当イベントIDを無視するように設定しました。<msgs> : <ignore logfile="Application" eventid="45" /> </msgs>
- 「リダイレクタは接続の種類を判断できませんでした」対策
イベント ID : 3019 ソース : MRxSmb 説明 : リダイレクタは接続の種類を判断できませんでした。エラー メッセージ : "リダイレクタは接続の種類を判断できませんでした" によると、「このエラー メッセージは通知のみを目的としています。無視しても安全です。 」ということらしいので、無視する設定にしました。
<msgs>
:
<ignore logfile="System" eventid="3019" />
</msgs>
「procs」では、監視するため下記を追記しました。
<procs> : <setting name="apcupsd.exe" rule="=1" comment="Apcupsd UPS Monitor" /> <setting name="BBWin.exe" rule="=1" comment="Big Brother Xymon Client" /> <setting name="dice.exe" rule="=1" comment="DiCE DynamicDNS Client Service" /> <setting name="dns.exe" rule="=1" comment="DNS Server" /> <setting name="lsass.exe" rule="=1" comment="Net Logon" /> <setting name="Rtvscan.exe" rule="=1" comment="Symantec Endpoint Protection" /> <setting name="SemSvc.exe" rule="=1" comment="Symantec Endpoint Protection Manager" /> <setting name="sqlservr.exe" rule="=1" comment="Windows Internal Database (MICROSOFT##SSEE)" /> <setting name="WsusService.exe" rule="=1" comment="Update Services" /> </procs>「svcs」では、監視するため下記を追記しました。
<svcs> : <setting name="Automatic Updates" value="started" autoreset="true" alarmcolor="red" /> <setting name="Apcupsd UPS Monitor" value="false" /> <setting name="Big Brother Xymon Client" value="false" /> <setting name="DHCP Server" value="false" alarmcolor="red" /> <setting name="DiCE DynamicDNS Client Service" value="false" alarmcolor="red" /> <setting name="DNS Server" value="false" alarmcolor="red" /> <setting name="Kerberos Key Distribution Center" value="false" alarmcolor="red" /> <setting name="Net Logon" value="false" alarmcolor="red" /> <setting name="OpenSSH Server" value="false" /> <setting name="Symantec Embedded database" value="false" alarmcolor="red" /> <setting name="Symantec Endpoint Protection" value="false" alarmcolor="red" /> <setting name="Symantec Endpoint Protection Manager" value="false" alarmcolor="red" /> <setting name="Symantec Event Manager" value="false" alarmcolor="red" /> <setting name="Symantec Management Client" value="false" alarmcolor="red" /> <setting name="Update Services" value="false" alarmcolor="red" /> <setting name="VNC Server Version 4" value="false" /> <setting name="Windows Internet Name Service (WINS)" value="false" /> </svcs>
●文字化け対策
Windows用のXymonクライアントをインストール後、注意や警告で報告されるイベントログ表示(msgs)が文字化けしてしまう。
その対策として、installdir/server/etc/hobbitserver.cfgを下記の通り編集しました。
# HTML content
HTMLCONTENTTYPE="text/html; charset=shift-jis"
●監視画面でxymonnetのアイコンが赤くなる現象について
該当箇所をクリックしたところ、下記のようなエラーが出力されていました。
Error output: Execution of '/usr/local/sbin/fping -Ae' failed with error-code 4 (null): can't create socket (must run as root?) : Permission denied正常動作しているCentOS 6と異常なCentOS 7のfpingのアクセス権を調べたところ異なることがわかりました。
・CentOS 6の場合 # ls -la /usr/sbin/fping -rwsr-xr-x 1 root root 40164 5月 7 06:14 2014 /usr/sbin/fping ・CentOS 7の場合 # ls -la /usr/local/sbin/fping -rwxr-xr-x 1 root root 89943 4月 15 19:43 /usr/local/sbin/fpingこのため、少勇者にスティッキービットを有効にすることにしました。
# ls -la /usr/local/sbin/fping -rwsr-xr-x 1 root root 89943 4\u6708 15 19:43 /usr/local/sbin/fping以上で問題は解決しました。
●グラフのタイトルにホスト名ではなくIPアドレスが表示される場合の対処方法
Deviceの設定のAssociated Data Queriesでiostat関連のData Queryを選択しグラフを表示させたところ、グラフのタイトルにホスト名ではなくIPアドレスが表示される現象が発生しました。
他のグラフではホスト名で表示されているので見た目上もあまりよろしくなくホスト名に変更したいと思いました。
その手順について示していきたいと思います。
まず、グラフ一覧表示から該当するグラフの情報を調査します。
該当のグラフの情報は「Graph Template: iostat - Bytes/sec」でした。
次に、Consoleタブを選択 → Templatesから「Data Source」を選択 → 右側の一覧から「iostat - I/O」を選択 → Data Sourceの「Name」で設定されている値をメモします(今回の場合、「|host_description| - iostat I/O - |query_ioDescr|」)。
XMLで定義されている「|host_description|」に代入される値がIPアドレスとなってしまい、グラフのタイトルにIPアドレスが表示されてしまうと推測。
このXMLファイルを探し出し内容を確認する必要があります。
Consoleタブを選択 → Data Collectorsから「Data Queries」を選択 → 右側の一覧から「iostat - kBytes/sec」を選択します。
Data Queries [edit: iostat - kBytes/sec]の「XML Path」を確認します(今回の場合、「<path_cacti>/resource/snmp_queries/iostat.xml」)。
該当XMLファイルの中身を確認します。
# cd /usr/share/cacti # cat resource/snmp_queries/iostat.xml今回、「|host_description|」はXMLでは定義されていなかったため設定箇所は別の箇所ということが判明しました。<name>Get IOSTAT Devices</name> <description>Queries a host for a list of monitorable devices from iostat</description> <oid_index>.1.3.6.1.3.1</oid_index> <index_order>ioDescr:ioIndex</index_order> <index_order_type>numeric</index_order_type> <index_title_format>|chosen_order_field|</index_title_format> <fields> <ioIndex> <name>Index</name> <method>walk</method> <source>value</source> <direction>input</direction> <oid>.1.3.6.1.3.1.1</oid> </ioIndex> <ioDescr> <name>Description</name> <method>walk</method> <source>value</source> <direction>input</direction> <oid>.1.3.6.1.3.1.2</oid> </ioDescr> <ioRrqms> <name>Merged Read Requests</name> <method>walk</method> <source>value</source> <direction>outputt</direction> <oid>.1.3.6.1.3.1.3</oid> </ioRrqms> <ioWrqms> <name>Merged Write Requests</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.4</oid> </ioWrqms> <ioReads> <name>Read Requests</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.5</oid> </ioReads> <ioWrites> <name>Write Requests</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.6</oid> </ioWrites> <ioReadKbytes> <name>kBytes Read</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.7</oid> </ioReadKbytes> <ioWriteKbytes> <name>kBytes Written</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.8</oid> </ioWriteKbytes> <ioSectors> <name>Average Request Size</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.9</oid> </ioSectors> <ioQueue> <name>Average Queue Size</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.10</oid> </ioQueue> <ioAwait> <name>Average Wait</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.11</oid> </ioAwait> <ioSvctm> <name>Service Time</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.12</oid> </ioSvctm> <ioUtilisation> <name>Utilisation</name> <method>walk</method> <source>value</source> <direction>output</direction> <oid>.1.3.6.1.3.1.13</oid> </ioUtilisation> </fields> </interface>
次は、Consoleタブを選択 → Templatesから「Graph」を選択 → 右側の一覧から「iostat - Bytes/sec」を選択します。
Graph Template Items [edit: iostat - Bytes/sec]のGraph Template Optionsの「Common Options」に「|host_hostname| - iostat - Bytes/sec - |query_ioDescr|」が設定されていることが分かります。
他のグラフの設定を参考にし、この「|host_hostname|」を「|host_description|」に変更し保存します。
グラフ表示を更新することにより、IPアドレス表示だった箇所がホスト名に変更されていることが確認できます。