Download openSUSE 12.3

やっとダウンロードが終わったところ。これからいろいろ「改良点」を見つけていきます。
[PR]
by islandcenter | 2013-03-15 02:32 | SUSE | Trackback | Comments(0)

Zabbix2 でマップを作成

ここでは Zabbix2 でマップを作る方法を説明します。

SUSE Studio から Zabbix 管理ツールの導入


自動ではマップを作るという器用なことはできないので、手動で作成する必要があります。

マップを作るとシステムの状態に簡単にアクセスできるので、主要なサービスを動かしているサーバーはマップを作っておくと便利です。

-Map の作成-

Configuration > Maps > Local Network
a0056607_1251893.jpg

なお、ここでマップのサイズを変更したい場合は Local Network の Edit リンクを押してサイズを変更できます。また Create ボタンを押して Local Network 以外の Branch Office や、 Zabbix サーバが動作している以外のフロアのマップもここで作成します。

マップエディタを開き Icon の横の Plus(+) ボタンを押します。
a0056607_1295573.jpg


最初デフォルトで Cloud (New Element)アイコンが出てきますが、これはカスタマイズします。
a0056607_1212169.jpg

New Element をクリックします。

Type: Host, あるいはフロアであるとか
Label: Host 名やサービス名(www, mail)など
Icon: サーバーであるとか Switch などのアイコンの各種サイズがあります。ここでは仮想ホストは大きないアイコン、VM マシンの場合は小さなアイコンなどを選んでみます。
Host: の横の Selected を押して登録済のデバイスをセットします。(Mandatory:必須項目)

Apply , Close を押すと、アイコンが変更され監視ターゲットにリンクされます。
a0056607_12211584.jpg


最後に出来上がったアイコンを適切な位置に配置して(例えば、Host Group にまとめるとか、物理ネットワークにまとめるなど)して Save ボタンを押します。 Save ボタンの横にグリッドサイズとグリッドの表示、非表示の選択ができます。 Save ボタンを押すと確認ダイアログが出てくるので OK ボタンを押して元のスクリーンに戻ります。

線を結ぶには、Element を一つクリックした状態で CTRL を押しながらつなげる相手を選んで "Link" ボタン(+)を押します。 Apply > Close > Save します。
a0056607_19292219.jpg

ブラウザで操作するため結構面倒です。

-モニタリング-

Monitoring > Maps を開くと先ほど保存したマップが表示されます。アイコンをクリックすると、監視対象のホストへの Ping やステータスチェックのメニューが出てきます。
a0056607_12254024.jpg



islandcenter.jp

-Key Word-
プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
[PR]
by islandcenter | 2013-03-11 12:27 | プライベートクラウド | Trackback | Comments(0)

Zabbix2 で Windows を管理

SUSE Studio から Zabbix 管理ツールの導入
の続きです。
Zabbix2 で linux サーバーを管理する
で Zabbix2 の管理リストに Linux ホストを管理できるようになったら、次に Windows を監視ターゲットとしてみましょう。

重要 - zabbix_agentd の通信ができるようファイアウォールを開放しないと、データ収集はしません。 zabbix_agentd の通信を許可するか、 10050 ポートの開放が必要です。
また Windows の snmpを使う場合は、デフォルトでインストールされていないこと、コミュニティ名、受け付ける宛先が 'localhost' のみです。コミュニティ名と"受け付けるホスト" を指定するか、"全て受け付ける"設定が必要です。

ここでは述べませんが Windows には snmp サービスが起動していることとします。

-Windows ホストグループ-

デフォルトでは Windows ホストグループがありません。別になくても困らないのですが、ここでは Windows ホストグループを作ってみます。

Configuration > Host < create host Group
a0056607_891115.jpg


Windows ホストグループを save

a0056607_812115.jpg


Template がありません。とりあえずグループだけ
a0056607_8142541.jpg


-Windows Host-

次に管理対象の Windows Host を作ります。

Host > Create Host
a0056607_8225064.jpg


ホスト名をセットして Windows Group に所属させ、Agent Interface, SNMP Interface をセット
a0056607_8254951.jpg


Template > Add > Windows OS > Select > Save
a0056607_8295228.jpg


保存されました。
a0056607_8335183.jpg


Monitoring > host-name > Graph > CPU Load
a0056607_8365250.jpg


CPU 負荷の監視ができるようになります。

続いて監視対象を容易にチェックできるよう、マップを作成してみましょう。

Zabbix2 でマップを作成

islandcenter.jp

-Key word-
プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
[PR]
by islandcenter | 2013-03-11 08:37 | プライベートクラウド | Trackback | Comments(0)

SUSE Studio から Zabbix 管理ツールの導入
の続きです。 ここではZabbix2 を導入した後、各ホスト(サービス)の管理を始める方法について説明します。

重要 - zabbix_agentd の通信ができるようファイアウォールを開放しないと、データ収集はしません。 zabbix_agentd の通信を許可するか、 10050 ポートの開放が必要です。

-Linux 管理ターゲットの指定-

Configuration > Hosts > Create

a0056607_762533.jpg



Zabbix Agent が動いている場合もありますが、ここでは NET-SNMP が動作している Linux サーバーを管理する、という前提で行ってみます。

snmp でのモニタリング
Create Host > name > "my-host" > Template を追加 > snmp > DNS Name
a0056607_7161360.jpg


"save"
DNS名だけでは保存できないようです。IP の設定を行わないと動かない場合もあります。
a0056607_7195335.jpg

Connect to のボタンがDNSとなっていることを確認します。

追加されたホスト
a0056607_7214748.jpg


Template > Add > OS Linux (check) > Select
a0056607_7251971.jpg


追加されたことを確認して save
a0056607_7272593.jpg


Applications(10) 管理対象のアプリケーションが10個存在することになりました。
a0056607_7292942.jpg


Monitoring > ホストが追加されています。
a0056607_7325835.jpg


Click すると Host Screen というメニューが出ます。
a0056607_7395357.jpg


次に Windows サーバーを管理対象としてみましょう。

Zabbix2 で Windows を管理

islandcenter.jp

-Key word-

プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール
[PR]
by islandcenter | 2013-03-10 18:29 | プライベートクラウド | Trackback | Comments(0)

nagios は古くからある統合管理ツールですが、情報の豊富さと引き換えに、設定の面倒さは否定できません。日本語の情報も数多くありますがいずれも断片的です。

しかし Zabbix は比較的新しいツールで、ほとんどの設定をブラウザ上から行うことができます。
しかも、日本語での情報はそこそこにまとまって充実していること、また openSUSE 12.2 ベースのライブCDや SUSE Studio から、仮想アプライアンスとして導入できるなど、導入の敷居が低く、1日触っているだけでおおよその使い方がわかってしまうという点では大変使いやすいツールだと思います。 SUSE Studio の存在はヒミツにしておきたいくらいのOSSの仮想アプライアンスの宝庫ですね。

反面、 nagios のように「手動で設定」する場面がなく、細かいカスタマイズが自由にできない、MySQL などのRDBを使うため、Zabbix サーバーの負荷が重い(MySQLのパラメータを修正する必要がある)などの欠点もあるようです。その点では「商用版」を使ってカスタマイズできるパートナーから有償サポートを受けてくださいということですね。

オープンソース統合監視ツール導入指南
http://thinkit.co.jp/book/2012/02/01/3199

Zabbix オフィシャルサービス

資産管理、運用管理ツールには国産品も多くありますが、一般的に申しあげて「国産品は高くて機能が貧弱」なソフトウェアが多いという気がします。これはプログラムのUIの開発などが日本語で行われ、もともと多国語で使われる前提でないこと。ワールドワイドの数十パーセントしかシェアがない中での僅かな利用者。と言った要因で、中々「世界に通用する」情報量や障害報告、事例がない点が不満なのです。少なくとも OSS でもプロパラエタリでも世界で通用するものを作るなら、初めから英語でコーディングしろと言いたくなってしまうのは私だけでしょうか。

Zabbix のアプライアンスは以下のアドレスから入手できます。

Zabbix 2.0 x86
http://susestudio.com/a/MdKfmk/zabbix-2-0-x86

他にも Hyper-V, KVM などの仮想アプライアンスイメージがあるので、それぞれの環境に合わせて面倒なインストールなしですぐに利用できます。

apt-get 呪文... yum 呪文... Zypper 呪文 make 呪文 を知る必要はありません。 XEN や VMware などの仮想環境があれば、そのまま実装して使えるのでまさに Wizard(魔法) のようです。お手軽に試してみるには最高のアプライアンスです。これを使うと私のような未熟な似非 Linux 技術者でも「インストールの解説書」なんて馬鹿らしくて読む気はなくなります。

また SUSE Enterprise (SLES) 用パッケージはこちらから YaST の 1 Click インストールで導入できます。
http://software.opensuse.org/package/zabbix

-Zabbixアプライアンスの実装-

アプライアンスをダウンロードしたら、 tar.gz 形式のファイルを解凍します。アプライアンス自体は400Mb程度ですが、解凍すると約60Gbのアプライアンスイメージが作成されます。

このアプライアンスを XEN の場合、 /var/lib/xen/images/zabbix/zabbix.raw などのファイル名にコピーして、 Domain-0 に配置します。

アプライアンスの初期設定値はこちらを参考にすると良いでしょう。

2.6 Zabbixアプライアンスの使用
https://www.zabbix.com/documentation/jp/1.8/manual/installation/appliance#


GUI版 YaST2 から > Create Virtual Machine を選択し、"I Have a disk image ...." より openSUSE12 を選びます。

Disk が none となっているので、先ほど解凍した 60G の zabbix.raw のパスを指定します。MAC アドレスは固定しました。

a0056607_1532390.jpg


OKボタンでZabbix の仮想アプライアンスが起動します。

a0056607_155555.jpg


-まずYaSTで必要な設定を変える-

openSUSE/SLES でシステムの基本設定や、パッケージの導入、変更をするには yast(CUI) もしくは yast2(GUI) を使って簡単に変更できます。CUIのテキストコンソールなら

# yast[ENTER]

を実行すれば、すべてメニューから TAB/SPACE/カーソルキー/Enter/ALT+x のキーボードの位置さえ知っていれば、重要な多くの設定変更、パッケージのインストール、設定ができます。

YaST > Network Device から
- 固定アドレスの指定
- DNS の指定
- Default Gateway の指定
- Host Name の指定
- NTP と地域、言語情報(Timezone)などの設定
- root パスワードの変更
- Firewall の無効化(デフォルトで有効)
などです。

a0056607_1555736.jpg


などの項目を設定したら一度サーバをリブートします。
ちなみに ipv6 はイネーブルになっています。
使わなければ Global Options よりチェックを外してから再起動が要求されます。
ipv6があってもなくても、あまりパフォーマンスには変化はありませんでした。

また、アプライアンスのIPアドレスを DNS のレコードに登録しておきましょう。


※ /etc/php5/apache2/php.ini に Timezone の設定項目があります。デフォルトは 'UTC' です。これも Asia/Tokyo に修正します。ただし"date.timezone"の記載方法は PHP のバージョンによって異なるようです。

zabbix:~ # grep timezone /etc/php5/apache2/php.ini
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone = 'UTC'
date.timezone = Asia/Tokyo
zabbix:~ #


これで、全ての作業はリモートターミナルやブラウザで行うことができます。

-ソフトウェアアップデート-

SUSE SStudio でダウンロードした Zabbix アプライアンスの YaST には Automatic Update の項目がありません。そこで YaST にこの項目を追加します

YaST > Software Management > Search から "update" などのキーワードで検索すると Yast Online Update(YOU) がリストされるので YOU のパッケージを全てチェックしてインストールします。YOUがインストールされると yast を quit してもう一度 yast を起動します。 Online Update の項目が出てくるので、一応 openSUSE の必要なアップデートを行います。

a0056607_1563060.jpg


ブラウザで http://my-zabbix.mynet/ を開きます。

adnmin/zabbix (アプライアンスのデフォルト)でログインします。

a0056607_1565721.jpg

※言語の設定は、ログインした後に Profile リンクで日本語に変更できます。

このような感じで zabbix アプライアンスが起動します。

-agent-

重要 - zabbix_agentd の通信ができるようファイアウォールを開放しないと、データ収集はしません。 zabbix_agentd の通信を許可するか、 10050 ポートの開放が必要です。

zabbix-agent のダウンロード

http://software.opensuse.org/package/zabbix-agent

a0056607_1585499.jpg


SUSE Linux の場合、 opensuse のサイトに 1click インストールできるリンクがあるのでここからインストールするか rpm パッケージを使って  rpm -ivh xxxx.rpm でインストールします。あまり依存性がないパッケージなので、台数が多い場合は 1 Click インストールするよりは rpm でインストールした方が早いかもしれません。

/etc/zabbix/zabbix-agentd.conf の数か所を書き換えて起動します。YaST の System Service にチェックを入れておくことを忘れないようにしてください。


target:/etc/zabbix # grep zabbix zabbix-agentd.conf

:コメント略

Server=zabbix.mynet
ServerActive=zabbix.mynet
UserParameter=key,zabbix 

※ UserParameter= はデフォルトでコメントアウトされています。コメントを外して "key,secret-key-name" を設定します。上の例では "zabbix" としました。これは Zabbix Agent Discovery で使うキーです。


target:/etc/zabbix # /etc/init.d/zabbix-agentd restart
Shutting down zabbix agentd done
Starting zabbix agentd done

target:/etc/zabbix # tail /var/log/zabbix/zabbix-agentd.log
19174:20130308:125542.827 agent #3 started [listener]
19175:20130308:125542.828 agent #4 started [active checks]
19163:20130308:125933.923 Got signal [signal:15(SIGTERM),sender_pid:19229,sender_uid:0,reason:0]. Exiting ...
19163:20130308:125935.923 Zabbix Agent stopped. Zabbix 2.0.5 (revision 33558).
19247:20130308:125936.023 Starting Zabbix Agent [target.intra]. Zabbix 2.0.5 (revision 33558).
19254:20130308:125936.038 agent #0 started [collector]
19255:20130308:125936.039 agent #1 started [listener]
19256:20130308:125936.040 agent #2 started [listener]
19257:20130308:125936.040 agent #3 started [listener]
19258:20130308:125936.041 agent #4 started [active checks]
target:/etc/zabbix #


こんな感じで監視対象のターゲット側にエージェントがインストールされます。

YaST >System Service に runlevel で起動できるよう登録しておきます。

-Windows 側のターゲットエージェント-

http://www.zabbix.com/download.php

より Pre-compiled Zabbix 2.0.4 (stable) agents are available for selected platforms の Windows 版をダウンロードします。解凍すると ...../bin, ..../conf の二つのディレクトリができます。

zabbix_agentd.win.conf のファイル名を zabbix_agentd.conf に変更して、 C:\ にコピーします。

Linux版同様に

Server=zabbix.mynet
ServerActive=zabbix.mynet
UserParameter=key,zabbix 

の3行を書き換えます。

C:\ > zabbix_agentd.exe --install

を実行します。デフォルトで c:\zabbix_agentd.conf を設定ファイルとしてサービスが起動します。

とっても重要 : Windows7/8(たぶんVistaも)、2008/2012系ばコマンドプロンプトを右ボタンから「管理者として実行」で開いてインストールします。一般ユーザ(管理者権があっても)でコマンドプロンプトを開いてもインストールできません。xp 系ではこの制限はありませんでした。

ということで Zabbix の利用環境が出来ました。

もっとも、Zabbix Agent は必須かどうかは利用状況を考えても良いでしょう。大部分は標準的なテンプレートで管理が行えるようです。

-NET-SNMPの導入-

ここでは詳細を述べませんが、監視対象のデバイス、サーバーの SNMP を有効にしておくと良いでしょう。 Linux の場合は NET-SNMP を導入します。

引き続いて
Zabbix2 で linux サーバーを管理する
Zabbix2 で Windows を管理
Zabbix2 でマップを作成
Zabbix2 のハマリどころ


Zabbix2 のよくあるトラブルシューティングと評価(そのうちに書きます.....)

islandcenter.jp

あわせて読みたい

-Key word-

プライベートクラウド SUSE SLES11sp2 SLES XEN 仮想化 Linux Windows 統合管理ツール

[PR]
by islandcenter | 2013-03-09 02:09 | プライベートクラウド | Trackback | Comments(2)

ネットギア、20万円を切る10GBASE-T対応スイッチ「XS708E」など2製品

ネットギアから 8ポート 199,500 円の 10G-baseT の HUB が発表されました。

一般的に HUB の普及価格帯はポート単価が2万円台だとと急激に普及します。 10baseT も 100baseT も 1000baseT もそうでした。

8P の XS708E のポート単価は 25,000 円弱ですね。 8P だと使い勝手は限定されますが、仮想環境で 10GbE カードと iSCSI 環境であれば十分に PoE より安価なSAN環境が構築できます。 10GbE の NIC も5~6万円でオプションで購入できるわけですから、下手に 1GbE を束ねるよりは簡単な構成で ip-SAN が作れるわけです。

2~3台の仮想ホストと2台の iSCSI ストレージであれば 8Port で十分なので、小規模なプライベートクラウドを構築するには良い選択肢だと思います。

できれば16 Port 程度のも出してほしかった。

islandcenter.jp
[PR]
by islandcenter | 2013-03-04 20:06 | プライベートクラウド | Trackback | Comments(0)

nagios はインストールしたものの、設定の面倒さに辟易していたところ、NagiosQL という便利なツールを見つけてしまいました。

本家はこちら
http://www.nagiosql.org/

openSUSE の場合は 1 Click Install ができるようです。
http://software.opensuse.org/package/nagiosQL

マニュアルが英語とドイツ語なので、もしやと思い、内容をチェックしてみたところ、 SUSE Linux の環境を基本にインストール方法が書かれています。このマニュアルを参考に nagiosQL を他のディストリビューションに設定するのはかなり骨が折れそうです。Apache2 の wwwrun などのユーザ名や /etc/nagios などは、それぞれのディストリビューションに合わせて読み替えてください。

ここでは nagiosQL 3.2 を SUSE Linux (SLES11sp2)に設定します。

-前提条件-

マニュアルには前提条件として

‐ Apache web server
‐ MySQL Server version 4.1 or above
‐ PHP version 5.2 or above
‐ Nagios 2.x or 3.x
‐ additional PHP modules:
-- session
-- MySQL (php5‐mysql)
-- gettext
-- filter
-- ftp (optional – for FTP connections to remote servers)
-- SSH (PECL module – optional – for SSH/SCP connections to remote servers)

とあります。SUSE Linux (SLES11) に導入する場合、 WEB/LAMP のオプション以外に幾つかの追加点があります。

-PHP extention library のインストール-

YaST > Software Management > Search >"PHP" より PHP5 extention library を全てインストールします。'PHP Extension' と記述があるものは一応全てチェックしてインストールしましょう。

これらの機能はデフォルトで WEB/LAMP を選択してもインストールされないため、YaST でインストールしておきます。(まず躓く一番の敗因はこれ) nagiosQL のマニュアルにもこの記述はないのでご注意ください。

他にも

- PHP5-MySQL
- pam_ssh

が必要なようです。これらも YaST の Software Management から導入しておきます。

a0056607_13505276.jpg


マニュアルに "pecl を実行してみろ" とありますが、ここはマニュアル通りに動かないのでご注意ください。

nagios:/opt/nagiosql # pecl
If 'pecl' is not a typo you can run the following command to lookup the package that contains the binary:
command-not-found pecl
-bash: pecl: command not found
nagios:/opt/nagiosql #



-suhosin.session.encrypt = On-

/etc/php5/conf.d/suhosin.ini に suhosin.session.encrypt という記述がありますが、デフォルトではコメントアウトされているため、0 をセットしておきます。このパラメータも後に致命的なインストールエラーとなります。


nagios:/etc/php5/conf.d # grep suhosin.session.encrypt suhosin.ini
suhosin.session.encrypt = 0 <---- commented out by default
nagios:/etc/php5/conf.d #


-MySQL-

MySQL は起動しておきます。デフォルトで WEB/LAMP をインストールすると導入はされますが、起動していない状態です。 YaST ? System Service から、runlevel をチェックして Start させておきます。

a0056607_15272619.jpg



-php.ini のタイムゾーン-

:/etc/php5/apache2php.ini のタイムゾーンはデフォルトではコメントアウトされています。 "Asia/Japan" を設定します。


nagios:/etc/php5/apache2 # grep timezone php.ini
; Defines the default timezone used by the date functions
date.timezone ="Asia/Japan"
nagios:/etc/php5/apache2 #



-MySQL root パスワードの設定-

nagiosQL のインストールでは MySQL の root パスワードが mandatry(必須) として要求されます。あらかじめ MySQL の root パスワードを設定しておきます。

nagios: # mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.95 SUSE MySQL RPM

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SET PASSWORD FOR root@localhost=PASSWORD('rootpass');
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
nagios: #


※ ここでは root/rootpass が MySQL の root パスワードです。


他はマニュアル通りに作業を行います。

-/etc/nagiosql の作成-

/etc/nagiosql や、 /etc/nagiso以下必要なファイルに nagiosql がブラウザアクセスできるよう、 wwwrun のユーザアクセス権を与えておきます。

nagios:/etc # mkdir nagiosql
nagios:/etc # cd nagiosql
nagios:/etc/nagiosql # mkdir hosts
nagios:/etc/nagiosql # mkdir backup/services
nagios:/etc/nagiosql # mkdir backup
nagios:/etc/nagiosql # mkdir backup/hosts
nagios:/etc/nagiosql # mkdir backup/services


-オーナーを変える-

nagios:/etc/nagiosql # cd ..
nagios:/etc # chown -R wwwrun.nagios /etc/nagiosql/
nagios:/etc # ls nagiosql/ -lR
nagiosql/:
total 12
drwxr-xr-x 4 wwwrun nagios 4096 Mar 4 12:33 backup
drwxr-xr-x 2 wwwrun nagios 4096 Mar 4 12:32 hosts
drwxr-xr-x 2 wwwrun nagios 4096 Mar 4 12:33 services

nagiosql/backup:
total 8
drwxr-xr-x 2 wwwrun nagios 4096 Mar 4 12:33 hosts

: 以下略

nagios:/etc #


-属性を変える-

nagios:/etc # chown -R wwwrun.nagios /etc/nagios/nagios.cfg
nagios:/etc # chown -R wwwrun.nagios /etc/nagios/cgi.cfg
nagios:/etc # chown -R wwwrun.nagios /var/spool/nagios/nagios.cmd
nagios:/etc # chmod 640 /etc//nagios/nagios.cfg
nagios:/etc # chmod 640 /etc//nagios/cgi.cfg
nagios:/etc # chmod 660 /var/spool/nagios/nagios.cmd
nagios:/etc # ls -l /etc/nagios
total 164
-rw-r----- 1 wwwrun nagios 10683 Oct 5 2011 cgi.cfg
-rw-rw-r-- 1 root root 15841 Mar 3 00:45 command.cfg
-rw-r--r-- 1 root root 15760 Mar 3 00:42 command.cfg.org
-rw-r--r-- 1 root root 26 Feb 28 08:39 htpasswd.users
-rw-r----- 1 wwwrun nagios 42748 Mar 2 18:50 nagios.cfg
-rw-r--r-- 1 root root 7194 Jul 14 2011 nrpe.cfg
-rw-r--r-- 1 root root 5329 Feb 21 2009 nsca.cfg
drwxrwxr-x 2 root root 4096 Mar 4 08:07 objects
-rw-rw---- 1 nagios nagcmd 1336 Oct 5 2011 resource.cfg
-rw-r--r-- 1 root root 1628 Feb 21 2009 send_nsca.cfg
nagios:/etc #



-/opt/nagiosql の作成とアクセス権-

マニュアルにはこの記述がありますが、後にパッケージを解凍した後に行った方が良いでしょう。

nagios:/opt # mkdir nagiosql
nagios:/opt # chown wwwrun /opt/nagiosql/
nagios:/opt # ls -l
total 8
drwxr-xr-x 3 root root 4096 Feb 28 08:23 kde3
drwxr-xr-x 2 wwwrun root 4096 Mar 4 12:42 nagiosql
nagios:/opt #



-/etc/apache2/conf.d/nagiosql.confを作成-

これはマニュアルにあるものをそのまま利用しました

nagios:/etc/apache2/conf.d # cat nagiosql.conf
# NAGIOSQL SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
# Last Modified: 03-24-2011
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file. Customize the paths, etc. as
# needed to fit your system.
Alias /nagiosql "/opt/nagiosql"

Options None
AllowOverride None
Order allow,deny
Allow from all
Order deny,allow
# Deny from all
# Allow from 127.0.0.1
# AuthName "NagiosQL Access"
# AuthType Basic
# AuthUserFile /etc/nagiosql/auth/nagiosql.users
# Require valid-user


nagios:/etc/apache2/conf.d #



-解凍-

今回は ZIP 形式のファイルを使いました。/opt で解凍すると nagiosql_xxx ディレクトリが作成されます。

nagios:/opt # unzip nagiosql_320.zip
Archive: nagiosql_320.zip
creating: nagiosql32/
creating: nagiosql32/admin/
inflating: nagiosql32/admin/contacts.php

 :中略

inflating: nagiosql32/functions/data_class.php
inflating: nagiosql32/favicon.ico


解凍されたディレクトリのオーナーが root となっています。


nagios:/opt # ls -al
total 1680
drwxr-xr-x 5 root root 4096 Mar 4 13:11 .
drwxr-xr-x 22 root root 4096 Mar 3 06:21 ..
drwxr-xr-x 2 wwwrun root 4096 Mar 4 12:42 nagiosql
drwxr-xr-x 11 root root 4096 Jan 11 17:03 nagiosql32
-rwxr--r-- 1 root root 1612608 Mar 4 13:05 nagiosql_320.zip
-rwxr--r-- 1 root root 75819 Mar 4 13:05 nagiosql_320_sp2.zip
nagios:/opt #


そこで解凍したディレクトリ名を変更して wwwrun にオーナーを変更します。


nagios:/opt # mv nagiosql32 nagiosql
nagios:/opt # chown -R wwwrun nagiosql
nagios:/opt # ls nagiosql -l
total 48
drwxr-xr-x 2 wwwrun root 4096 Jan 11 17:03 admin
-rw-r--r-- 1 wwwrun root 1596 Mar 14 2012 admin.php
drwxr-xr-x 3 wwwrun root 4096 Jan 11 17:03 config
drwxr-xr-x 2 wwwrun root 4096 Jan 11 17:03 doc

: 以下略



-apache の再起動-

それでは http サービスの動作確認をします。YaST > System Service から起動するか、直接コマンド起動します。runlevel で動作するよう System Service にチェックを付けることを忘れずに。


nagios:~ # /etc/init.d/apache2 restart
Syntax OK
Shutting down httpd2 (waiting for all children to terminate) done
Starting httpd2 (prefork) done
nagios:~ #


ここで http://nagios.mynet/nagiosql/ を開くと自動的に http://nagios.mynet/nagiosql/install/index.php にリダイレクトされます。

a0056607_14155824.jpg


インストール開始

Start Installation をクリック

a0056607_14266100.jpg


成功しました。

a0056607_142844.jpg


ここで、前提条件を満たしていない項目が赤文字で表示されるので、もう一度、動作要件に満たない項目をチェックして Refresh ボタンで確認します。

全てのテストに成功すると Next ボタン

a0056607_1510322.jpg


各種設定を行います。

a0056607_15105590.jpg


Database Type: mysql (のはず、空欄なら MySQL が動いていない)
Database Server : nagios.mynet
Local hostname or IP address :nagios.mynet
Database Server Port : 3306
Database name : nagiosql_db
NagiosQL DB User : nagiosql_user
NagiosQL DB Password : upassword もちろん伏字です
Administrative Database User : root
Administrative Database Password :事前設定した mysql の root パスワード
Drop database if already exists? <---- データベースを削除したい場合チェック
NagiosQL User Setup
Initial NagiosQL User : admin ブラウザにアクセスするときのユーザ名です。
Initial NagiosQL Password : apassword
Please repeat the password : apassword

設定内容はメモして Next
a0056607_15325995.jpg


うまく行ったみたい
a0056607_162883.jpg


Finish
a0056607_164847.jpg


admin/admin-password でログインします。
a0056607_168282.jpg


ここまではたどり着けましたが、後はやはり nagios のリファレンスが必要なようです。
a0056607_16123123.jpg


「インストールできた」ことと、「使いこなす」ことはまた別なことです。使いこなし編はまた別な機会に......


islandcenter.jp
[PR]
by islandcenter | 2013-03-04 14:16 | SUSE | Trackback | Comments(0)

SUSE + Nagios で Linux の管理

SUSE 11 に nagios をインストール で nagios core をインストールした後、SUSE + nagios でプリンタ管理もできるようになりました。Windows サーバーも管理できるようになりました。

それでは Linux サーバも管理できるようにしてみましょう。

-objectディレクトリに管理対象サーバの設定ファイルを作る-

/tec/nagios/object/template.cfg をコピーして mydns.cfg というファイルを作ります。このファイルを元に不要な部分を削除して dns サーバーを監視対象にしてみます。

nagios:/etc/nagios # cat objects/dns2.cfg
#
define contact{
# name generic-contact
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-emai
# register 0
}

# Linux host definition template - This is NOT a real host, just a template!

define host{
# name linux-server
host_name dns2 ; 監視対象名(大抵ホスト名)を追加します
address 192.168.1.2 ; 監視対象のホストアドレス、ここでは ip を直接指定していますが、 DNS 名でも構いません。
use generic-host
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period workhours
notification_interval 120
notification_options d,u,r
contact_groups admins
# register 0
}


# Generic service definition template - This is NOT a real service, just a template!

define service{
# name generic-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 10
retry_check_interval 2
contact_groups admins
notification_options w,u,c,r
notification_interval 60
notification_period 24x7
# register 0
}


# Local service definition template - This is NOT a real service, just a template!

define service{
# name local-service
use generic-service
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
# register 0
}

-ついでに2台目(myserver)を追加してみます-

nagios:/etc/nagios # cat objects/myserver.cfg
#
define contact{
# name generic-contact
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-emai
# register 0
}

# Linux host definition template - This is NOT a real host, just a template!

define host{
# name linux-server
host_name myserver ; この行追加
address myserver.intra ; この行追加、DNS名です。
use generic-host
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period workhours
notification_interval 120
notification_options d,u,r
contact_groups admins
# register 0
}


# Generic service definition template - This is NOT a real service, just a template!

define service{
# name generic-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 10
retry_check_interval 2
contact_groups admins
notification_options w,u,c,r
notification_interval 60
notification_period 24x7
# register 0
}


# Local service definition template - This is NOT a real service, just a template!

define service{
# name local-service
use generic-service
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
# register 0
}

nagios:/etc/nagios #


※ さて name と register の値がコメントアウトされています。

name myhost-template ; テンプレートとしての宣言
register 0  ; 0:テンプレートとして使用する 1:オブジェクトとして使用する(Default)

ということになります。このファイルはテンプレートではなくオブジェクトとして定義しているため、この二つの定義は不要です。コメントアウトします。大抵この部分のチェックでエラーが出ます。

-nagios.cfg の修正とチェック、再起動-

/etc/nagios/nagios.cfg ファイルに監視対象のオブジェクトファイルを加えます。

cfg_file=/etc/nagios/objects/dns2.cfg
cfg_file=/etc/nagios/objects/dns3.cfg
cfg_file=/etc/nagios/objects/my-www.cfg
cfg_file=/etc/nagios/objects/my-ftp.cfg


# nagios -v nagios.cfg

を実行して、エラーがなければ

# /etc/init.d/nagios restart を実行します。ブラウザをリロードすると
a0056607_13335350.jpg

監視対象の Linux サーバーが現れました。

-さて-

ここでは、最低限の設定を行いましたが、 nagios 自体は「複雑怪奇」なほど豊富な機能を持っているようです。単純な死活管理、snmp 管理、システム内部の負荷管理などです。これらは nagios の標準、あるいは拡張パッケージを追加導入することで実現することができます。

またサーバーやプリンタ、ルータやスイッチなどをホストグループとして定義することもできます。

例えばXEN や KVM ハイパーバイザーが動作しているサーバーの場合なら、ディスクIOやCPU負荷などが気になるでしょう。DNSやwww の場合、サービスの監視が重要になります。このような場合はサービスを定義して command.cfg に適切なプラグインを指定する必要があるようです。

これらのサービスを監視するには通常「ウン百万円」の管理システムを導入する必要があるのでしょうが、 nagios は SUSE Linux Enterprise Server (SLES11) の標準管理ツールとして利用できるために、他のハイパーバイザーのように新たな予算申請も必要ありません。これは大変大きなメリットとなります。

ただし、設定はかなり複雑で、nagios 全体を理解するにはかなり時間がかかることも事実です。 SUSE ならYaST の標準コマンドでプラグインや監視対象ホストの指定などができるようになると大変うれしいと思いますし、簡単でもいいから CUI の設定ツールなどないかなとも思ってしまいます。(お前が作れよ、と言われそうですが)この点では「高額な管理ツール」が優れている点かもしれません。

一応 SLES11 には pipet という APL ライセンスのツールも含まれています。でも自動生成するためにスクリプトを書くのもなぁ、という疑問もあります。

もっとも「ウン百万円」のシステムを導入しても、「何を監視し、どのようなシュレッシュホルド」を作り、どのようなアラートから復旧に至るかと言った、システム運用のマニュアル」が必要となります。これは nagios だけではなく、他の運用管理ツールにも言える事でしょう。

以前、Java で動作する「監視アプライアンス」を使ってみたことがあるのですが、mib の情報だけで、自動マップ生成、アラート、検出などを行いましたが、日々変化する構内ネットワークの中でどこにポイントを持って管理するかの目標がなければ、ただマップを眺めて「美しい」と感じるだけでした。

しかし、「紙ベース」でネットワークを把握し、問題点を一つ一つ洗い出して解決するよりも、「今起きていること」を「見える化」するツールの入門としては nagios は良いツールであるし、使い方次第では「深いツール」であるともいえます。

まず、簡単な死活管理から初めて、プラグインや監視対象のサービスを追加して徐々にカスタマイズして、自分たちのネットワークの管理ツールとして育てていく、といった作業は出来合いの「管理ツール」ではできません。

ということで nagios はネットワークの統合監視ツールとしては今後も高い可能性を秘めたツールであると思います。


islandcenter.jp

-Keyword-

nagios SUSE SLES Windows ルータ スイッチ プリンタ 統合管理ツール 無償 オープンソース
[PR]
by islandcenter | 2013-03-03 14:06 | SUSE | Trackback | Comments(0)

SUSE 11 に nagios をインストール で nagios core をインストールした後、SUSE + nagios でプリンタ管理もできるようになりました。

次に Windows を管理対象としてみましょう。管理対象となるWindows には NSClient++を導入済みです。

-オブジェクトファイルのサンプル-

/etc/nagios/object には windows.cfg というテンプレートがあるので、このテンプレートを mywindows.cfg という名前にコピーします。コメント行やら余分なものが沢山あるので、これを削除しました。その中で "mywindows.intra" という DNS 名を持つ Windows を監視対象とすることにします。

下線部分が、環境に合わせて変更した部分です。

nagios:/etc/nagios # cat objects/mywindows.cfg
define host{
use windows-server
host_name mywindows
alias My Windows Server
address mywindows.intra
}

#define hostgroup{
# hostgroup_name windows-servers
# alias mywindows
# }

define service{
use generic-service
host_name mywindows
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}

define service{
use generic-service
host_name mywindows
service_description Uptime
check_command check_nt!UPTIME
}


define service{
use generic-service
host_name mywindows
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}


define service{
use generic-service
host_name mywindows
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}


define service{
use generic-service
host_name mywindows
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}


define service{
use generic-service
host_name mywindows
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}


define service{
use generic-service
host_name mywindows
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}

nagios:/etc/nagios #



-nagios.cong の書き換えと、チェック、再起動-

/etc/nagios/nagios.cfg に監視対象のホストオブジェクトファイルを追加します。

# Definitions for monitoring a network printer
cfg_file=/etc/nagios/objects/printer.cfg
cfg_file=/etc/nagios/objects/mywindows.cfg ; この行追加


動作チェックを行います。

# nagios -v nagios.cfg

ここでエラーが出なければ、nagios をリスタートさせます。

# /etc/init.d/nagios restart

ブラウザをリロードしてみましょう。

a0056607_12184550.jpg

起動直後は PENDING となっています。

スキャンしてみると
a0056607_1223462.jpg

C:ドライブの容量が危機的な状況であると報告が上がっています。


islandcenter.jp

-Keyword-
SUSE SLES Linux Nagios 統合管理 オープンソース Windows ネットワーク管理
[PR]
by islandcenter | 2013-03-03 12:02 | SUSE | Trackback | Comments(0)

SUSE 11 に nagios をインストール

この後、プリンタが Nagios のWEBスクリーンに出てくるまでの設定を行います。

-nagios.cfg の修正-

/etc/nagios/nagios.cfg の次の行は通常 # コメントアウトされているので、object/printers.cfg をイネーブルにします。

nagios:/etc/nagios # cat nagios.cfg

:略

# Definitions for monitoring a Windows machine
#cfg_file=/etc/nagios/objects/windows.cfg

# Definitions for monitoring a router/switch
#cfg_file=/etc/nagios/objects/switch.cfg

# Definitions for monitoring a network printer
cfg_file=/etc/nagios/objects/printer.cfg
 コメントを外してイネーブルにしてみます 


:略

-printer.cfg のカスタマイズ-

テストに使うプリンターは NRC 5000N で DNS に mugnum.intra という名前でレコード登録されています。

objects/printers.cfg のテンプレートをバックアップコピーし、次の行を書き換えてみました。下線部分は修正箇所です。

nagios:/etc/nagios # cat objects/printer.cfg

define host{
use generic-printer ;
host_name mugnam
alias NRC Multiwriter 5000N
address mugnum.intra ; ip address でも DNS 名でも問題ないようです
hostgroups network-printers
}

define hostgroup{
hostgroup_name network-printers
alias Network Printers }


define service{
use generic-service
# host_name mugnum ; この行があるとエラーになってしまいました
service_description Printer Status
check_command check_hpjd!-C public
normal_check_interval 10
retry_check_interval 1
}


define service{
use generic-service
# host_name mugnum  ; この行があるとエラーになってしまいました
service_description PING
check_command check_ping!3000.0,80%!5000.0,100%
normal_check_interval 10
retry_check_interval 1
}
nagios:/etc/nagios #


この状態で

# nagios -v nagios.cfg でエラーがないことを確認したら nagios のサービスを再起動します。

# /etc/init.d/nagios restart

このように最初から "UP" status になっていることは稀です。
a0056607_1438158.jpg

nagios をリスタートした直後はダウンしているように見えます。

Submit passive check result for this host など、強制チェックのコマンドを実行します。
a0056607_144333.jpg


次に Windows サーバーを管理対象に加えてみましょう。
SUSE + Nagios で管理する Windows Server

-Keyword-
SUSE, SLES11sp2, openSUSE Linux サーバー管理 統合管理ツール

islandcenter.jp
[PR]
by islandcenter | 2013-03-02 14:32 | SUSE | Trackback | Comments(0)