Zabbix 3.2 のアプライアンス版が出ていましたので、SUSE バカに陥らないためにも、ubuntu と格闘してみました。というか、2.2 のアプライアンスが壊れてしまったので(あぁーバックアップ取ってないし .... )

zabbix 2.x の導入はこんな感じでした。
SUSE Studio から Zabbix 管理ツールの導入

※ ソフトウェアアプライアンス版は、評価目的のチューニングですが、中小規模の数台のサーバーやルータ、スイッチなどのトラフィック管理など数十台のデバイス管理には、そこそこ使えます。より深く学び、システム管理が複雑で規模や問題が大きくなれば、それなりに Zabbux L.L.C の有償サポートを受けたパッケージの導入とトレーニングを受けてください。私としては、デバイスの異常なトラフィック増大を時系列で見えればよい程度なので、導入の敷居が低いzabbix のソフトウェアアプライアンス版は初めての方にはお勧めです。なお、 3.2 は LTS 版ではないのでそのつもりでトレーニングだと覚悟してください。

- ハイパーバイザーへの実装 -

Zabbix のダウンロードページから、 "KVM, Parallels, QEMU, USB stick, VirtualBox, Xen" 用イメージ (.raw1.6Gb) をダウンロードします。

Download

Zabbix appliance Documets

*****.tar.gz を解凍すると 10Gb の仮想アプライアンスイメージが出来上がります。ubuntu のバージョンは /etc/os-release によると 14.04 でした。

これを virt-manager から Create Virtual Machine で実装します。機材の都合で XEN4.4 on SUSE SLES11sp4 です。
a0056607_14293162.jpg

このバージョンは、 Ubuntu 14 は対応していないようですが、 Ubuntu(Other) で実装できました。
- Virtual : Full Virtual
- Name of VM :
- Hardware : 512Mb, 1Vcpu
- MAC : XEN source のヘッダに任意の3桁


a0056607_14300292.jpg

これで OK を押すと、Zabbix 3.2 アプライアンスが起動できました。

Ubuntu のいやらしいroot でログインできないログインプロンプトです。

a0056607_14303447.jpg

ダウンロードページにあるパスワードでログインします。

login : appliance
Password : zabbix

a0056607_14310483.jpg

DHCPで IP をもらうので一応 ifconfig で IP を確認します。

a0056607_14312728.jpg
これで SSH テキスト端末からログインできます。

ssh xx.xx.xx.xx -l appliance

sles11:/var/lib/xen/images/zabbix32 # ssh 192.168.1.xx -l appliance
Zabbix server Appliance (mysql)
appliance@192.168.1.55's password: **********
Last login: Fri Jul 14 10:30:35 2017
######## ### ######## ######## #### ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ######## ######## ## ###
## ######### ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
######## ## ## ######## ######## #### ## ##
appliance@zabbix:~$

IPを固定します。 /etc/network/interface を sudo vi で DHCPから Static に編集します。(メンド臭い)
IP を指定して DNS, Default Gateway の設定をします。

appliance@zabbix:/etc$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp <--- コメントアウト
iface eth0 inet static <--- 追加

address 192.168.1.220 <--- 追加
netmask 255.255.255.0 <--- 追加
gateway 192.168.1.1 <--- 追加
dns-nameservers 192.168.1.2 <--- 追加

/etc/resolv.conf を書き換えます。(メンド臭い)

appliance@zabbix:/etc$ cat resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.2 <--- 追加
nameserver 192.168.1.3 <--- 追加
search intra <--- 追加

でネットワークの再起動(メンド臭いしミスタイプしやすい)

appliance@zabbix:/etc$ sudo ifdown eth0 && sudo ifup eth0
[sudo] password for appliance: *********
appliance@zabbix:/etc$ ping www.yahoo.co.jp
PING edge.g.yimg.jp (183.79.248.252) 56(84) bytes of data.
64 bytes from 183.79.248.252: icmp_seq=1 ttl=52 time=90.6 ms
64 bytes from 183.79.248.252: icmp_seq=2 ttl=52 time=97.3 ms

--- edge.g.yimg.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 90.698/94.024/97.350/3.326 ms
appliance@zabbix:/etc$


a0056607_14320955.jpg


という事でブラウザから http://ip_or_DNS_address/zabbix へ Admin/zabbix のデフォルトでログインします。

a0056607_14420950.jpg

で、色々弄って、date すると UTC 表示でした...... ubuntu の場合、謎のオマジナイがあるのでシステム時刻を JSTに変更します。

appliance@zabbix:/etc$ sudo dpkg-reconfigure tzdata
[sudo] password for appliance: *********

こんな UI が出てくるので Asia > Tokyo を選び OK します。

a0056607_14323301.jpg


appliance@zabbix:~$ date
Sat Jul 15 00:29:36 JST 2017
appliance@zabbix:~$

無事、システムの時刻表示は UTC から JST になりました。しかし、Zabbix の UI で表示される、グラフやイベントは UTC のままです。一体どこで変えるんでしょうね。

/etc/php5/apache/php.ini を sudo vi で変更しました。

appliance@zabbix:/etc/php5/apache2$ sudo vi php.ini
appliance@zabbix:/etc/php5/apache2$ ....: 編集中 .....
appliance@zabbix:/etc/php5/apache2$ cat php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo
appliance@zabbix:/etc/php5/apache2$

zabbix-server と apache2 をリスタートさせましたが
何故か6時間、表示が遅れています(謎)

※謎解決 タイムゾーンを JST に

/etc/apache2/conf-available/zabbix.conf に Timezone の設定があるのでこれを突いたら治りました。

appliance@zabbix:/etc/apache2/conf-available$ ls -al
total 36
drwxr-xr-x 2 root root 4096 Aug 7 17:53 .
drwxr-xr-x 8 root root 4096 Jul 28 06:43 ..
-rw-r--r-- 1 root root 315 Jan 3 2014 charset.conf
-rw-r--r-- 1 root root 3224 Jan 3 2014 localized-error-pages.conf
-rw-r--r-- 1 root root 189 Jan 3 2014 other-vhosts-access-log.conf
-rw-r--r-- 1 root root 2190 Jan 3 2014 security.conf
-rw-r--r-- 1 root root 455 Jan 7 2014 serve-cgi-bin.conf
-rw-r--r-- 1 root root 1582 Aug 7 17:53 zabbix.conf
-rw-r--r-- 1 root root 1583 Aug 7 17:52 zabbix.conf.org
appliance@zabbix:/etc/apache2/conf-available$ cat zabbix.conf | grep timezone
php_value date.timezone Asia/Tokyo
php_value date.timezone Asia/Tokyo
appliance@zabbix:/etc/apache2/conf-available$

マニュアルはちゃんと読めよという事ですね。

- NTP をインストールして設定 -

NTP が入っていないので、インストールします。ハードウェアクロックは仮想環境では時刻狂いを起こします。

sudo apt-get で ntp を Install します。

appliance@zabbix:/etc$ sudo apt-get install ntp
[sudo] password for appliance:
Sorry, try again. あちゃーメンドクサイ
[sudo] password for appliance:
Reading package lists... Done
Building dependency tree
Reading state information... Done

 : 中略して誤魔かしの美....

appliance@zabbix:/etc$


/etc/ntp.conf を外部ソースから、LAN内の NTP ソースに変更します。

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
#server 0.ubuntu.pool.ntp.org <--- コメントアウト
#server 1.ubuntu.pool.ntp.org <--- コメントアウト
#server 2.ubuntu.pool.ntp.org <--- コメントアウト
#server 3.ubuntu.pool.ntp.org <--- コメントアウト
server ntp1.intra <--- 追加
server ntp2.intra <--- 追加

とここまで3時間の作業でした。SUSE なら、yast 一発で20分で終わるんだけどなぁ。

Install on openSUSE / SLES

あとは Configuration > Hosts から、smnp エージェントを実装したデバイスを登録して行くだけです。







-Key Word-

Zabbbix 3.2 仮想アプライアンス XEN KVM 評価 導入 練習台 無償で始めるネットワーク管理


[PR]
by islandcenter | 2017-07-15 14:45 | プライベートクラウド | Trackback | Comments(0)

Windows10 で動かす Zabbix2

タイトルこそ "Windows10 で動かす Zabbix2" ですが、実際は"Windows10 の Hyper-V で動かす Zabbix2 アプライアンス"が正解です。

何かと Linux を使うという事は「専門性」が要求されるわけですが、自称"オープンソース専門家"ではなくても使えるオープンソースという考え方は重要だと思います。

ここでは Zabbix 2.2 仮想アプライアンスを Windows10 の Hyper-V 環境で動かすことを前提としています。

※ 最新の Zabbix 3.0 は Ubuntu ベースで、死ぬほど苦労したにも関わらず、動作させたところ不安定なところがいくつか見受けられました。また致命的な変更点は、通信の暗号化程度で、インターフェースがコスメティックに変化していた程度でした。ここでは 2.2 の利用方法を説明しています。まぁ現在 openSUSE が leap 版だという事もあり Zabbix 3.0 がUbuntu でも仕方がないでしょう。

- Zabbix アプライアンスの入手 -

Zabbix アプライアンスはこちらから入手します。ここでは Hyper-V を使用しましたが、仮想環境があるのであれば、 XEN でも KVM, VMware のイメージでも構いません。
または

※ここでは Zabbix2.2 の説明をしています。ダウンロードするアプライアンスも 2.2 を取得してください。また、Zabbix アプライアンスは小規模ネットワークでの評価目的ですので、数千台のサーバーがあるデータセンターでの導入だとか、詳細なサポートは Zabbix LLC. のサポートを強くお勧めします。

アプライアンスの詳細はこちらのドキュメントをご参考ください。デフォルトのパスワードなどが記載されています。

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

VHD の圧縮イメージを入手したら、任意のディレクトリに解凍します。

Hyper-V ウィザードから Zabbix アプライアンスの VHD イメージを実装します。
「新規仮想マシン」を作成します。ここでは Hyper-V の細かな導入、設定、操作方法は説明していませんのであしからずご了承ください。Hyper-V のデフォルトでネットワーク構成が「なし」(笑)なので、必ず、ブリッジを指定します。
ただし、仮想ハードディスクは「既存の仮想ハードディスクを使用する」から、解凍した VHD イメージを指定します。
a0056607_08162890.jpg

これがサマリです。必ず"ネットワーク"はブリッジ接続しましょう。デフォルトは "なし"です。
a0056607_08171013.jpg

Hyper-V マネージャから仮想アプライアンスに接続して起動すると openSUSE が起動して、仮想アプライアンスが起動します。root/zabbix のデフォルトでコンソールに接続できます。
a0056607_08193228.jpg

仮想アプライアンスは SUSE Linux で作られているため、あらかじめMicrosoft 製 Hyper-V 用の仮想ドライバが組み込まれています。

zabbixhv:~ # cat /var/log/messages | grep Microsoft
2016-03-22T02:13:06.804337+00:00 zabbixhv kernel: [ 0.000000] DMI: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012
2016-03-22T02:13:06.804340+00:00 zabbixhv kernel: [ 0.000000] Hypervisor detected: Microsoft HyperV
2016-03-22T02:13:06.806502+00:00 zabbixhv kernel: [ 13.505447] input: Microsoft Vmbus HID-compliant Mouse as /devices/virtual/input/input4
2016-03-22T02:13:06.806505+00:00 zabbixhv kernel: [ 13.505490] hid 0006:045E:0621.0001: input: <UNKNOWN> HID v0.01 Mouse [Microsoft Vmbus HID-compliant Mouse] on
zabbixhv:~ #

-IP の固定化-

openSUSE の yast ツールを使って、DHCP アドレスから固定 IP に変更します。

# yast

から Network Devices > Network Setting を開き
a0056607_08202214.jpg

DHCPだった IP の設定をEdit から Static/SubnetMask に変更します。
その他 'Hostname/DNS' タブと 'Routing' タブの DNS と Default Route を変更して OK を押します。
ついでに DNS 名、ホスト名が linux-xxxxx.site となっているので、例えば zabbix22.yourcompany.com などに変更します。変更結果は再起動した後、プロンプトに設定したホスト名に変更されます。
a0056607_08240357.jpg
※ ちなみに Zabbix Appliance には yast に必要なメニューしかバンドルされていません。 # zypper install yast2* を実行すると、様々な楽し気でナイスなメニューが出てきます。使えないものもありますが ......

-NTP の変更-

NTP は公共の ntp プールを使っているので、できれば、LAN内部の NTP サーバーを使用するようにしましょう。
a0056607_08243787.jpg

yast > Network Service > NTP servivce の Add メニューから "Server"、 イントラネット内部の NTP サーバーを指定します。実際通信できているかは TEST ボタンを押して確認します。
a0056607_08250863.jpg

これが出来上がった ntp の状態です。デフォルトで Hardware Clock が指定されていますが、これは削除するのがよいでしょう。
a0056607_08255976.jpg
-PHP.ini の書き換え-

php.ini の書き換えはタイムゾーンの変更だけです。ここだけは vi を使います

# vi /etc/php5/apache2/php.ini

で php.ini を開き

# date.timezone = 'UTC'
の部分をコメントアウトして
date.timezone = Asia/Tokyo
に変更します。

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

なお、PHP は Zabbix アプライアンス内部で最適化されているようです。百台程度のデバイスの評価目的ならメモリなどのチューニングはデフォルトのままで結構でしょう。ソースから導入する場合は、 php.ini を書き換える必要があるそうです。

HOSTNAME の変更が反映されるよう、サーバーを再起動して、NTP や Apacheなどが起動したら、ブラウザのフロントエンドからブラウザのアドレスバーに、固定したアドレスをセットして Admin/zabbix でログインします。
a0056607_08264524.jpg
Monitoring > Graphs の右端の時刻が日本時間になっていれば php.ini のタイムゾーンの設定はOKです。
a0056607_08273906.jpg
※ここでのキャプチャ画面は英語ですが、右上のプロファイルメニューから日本語に変更できます。

- 監視対象ホストの設定 -

Configuration > Host から "Create Host" ボタンを押して、監視対象のホストを登録します。
a0056607_08290076.jpg
"Host Name", "Visual Name" をセットして
- "Agent Interface" -- エージェントがなければ空欄でも構いません。
- "SNMP Interface" に Add ボタンで監視対象のコンピュータの "DNS名"、もしくは IP を設定します。DNS名を設定した場合、IP アドレスは空欄でも構いません。一旦 "Save" しましょう。
a0056607_08293183.jpg
次にHost の "Template" タブを開き Link new Template から Template SNMP OS Linux を選びます。空欄に "snmp" と入れると、テンプレート snmp のリストが出るので、一番近いテンプレートを選び 'Add' し、'Save' します。
a0056607_08300907.jpg
監視対象が Windows や NAS, スイッチング HUB などの場合は "SNMP Generic" など近いものを選ぶと良いでしょう。


ここから5分ほど置いてからホスト一覧を再読み込みしてください。 Availability のところが"緑色" になっていれば、 SNMP 監視が始まっています。登録した当初は Grafhs(x) の値が0になっていますが、 Zabbix がデータを収集し始めると、設定されたアイテムに従って、グラフデータを収集し始めます。
a0056607_08313099.jpg

SNMPの監視が始まってから約1時間待つと、"Graph" の数値が 0 からいくつかのグラフ数が入り、描画が始まります。
Monitoring > Graph を選び、右のトグルボタンから"Group"、"Host"、"Graphの対象(Eth0など)" を選ぶとグラフが表示されます。
a0056607_08323381.jpg
※ここはとにかく1時間じっくり待ちます。とにかく慌てないこと。

-監視対象は SNMP が動いているか-

監視対象デバイスで snmp が動いているかどうかは snmpwalk を使って確認します。一般的な NAS やスイッチングHUB などの場合、 バージョンは version '2c' コミュニティ名は Read Only(RO) の 'public' を指定すればよいでしょう。この記事では Trap の機能までは説明しません。

ちなみに SUSE Linux はデフォルトでは正しく動作しません。net-snmp パッケージを導入して snmpd.conf の Community 行の書き換えが必要です。snmpwalk に使用する OID .1.3.6.1.2.1.1 などは、MIB 関連のドキュメントを読んで勉強してください。(と逃げる)

zabbixhv:~ # snmpwalk -v 2c -c public dns2.intra .1.3.6.1.2.1.1
Created directory: /var/lib/net-snmp/mib_indexes
SNMPv2-MIB::sysDescr.0 = STRING: Linux dns2 3.0.101-63-xen #1 SMP Tue Jun 23 16:02:31 UTC 2015 (4b89d0c) x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10

: 略

zabbixhv:~ #

とズラズラ帰ってくれば、Zabbix の snmp での状態監視はできるようです。帰ってこない場合は、コミュニティストリングが違うとか、snmp が disable になっているとか、snmp なんて機能ないよ、という SOHO 機器の場合に起こりえます。諦めましょう。


- デスクトップPCでも試せる Zabbix -

実際、この体験はデスクトップPCではなく、一般的なモバイルPCで行いました。特別なサーバーハードウェアを用意しなくても Zabbix の "体験"ができるのは貴重なことです。

この体験を通じて本格的なネットワークモニタリングツールの導入、運用、トレーニングができればと思います。


あわせて読みたい
まぁ、長期運用はやめた方がいいようですね。




[PR]
by islandcenter | 2016-03-23 08:33 | プライベートクラウド | Trackback | Comments(0)

Zabbix 3.0 のリリースと同時に Zabbix Appliance も公開されました。利用した「顛末記」です。

※ 追記 顛末記なので最新版 3.2 で試してみました。この記事よりマズマスなのでこちらをご参考ください。

Zabbix Download 3.0 LTS KVM, Parallels, QEMU, USB stick, VirtualBox, Xen (.raw) ダウンロードはこちら

Zabbix appliance

-なんで Ubuntu ????? -

今までの Zabbix Appliance は openSUSE で構成されていたため、ほとんどの作業をroot で入って yast コマンドで、メニュー形式から変更することができました。vi 使うのは php.ini のタイムゾーン書き換える程度だったんですけどね。なぜこんなに使いづらい Ubuntu にしたのか納得できない。何かというと "access denied" とか "command not found" となるンですね。

お、出たか sudo しろって事だな。という事で、システム設定のほとんどを yast メニューで出来た openSUSE 版ではなく、地獄の sudo と sudo vi との闘いが、zabbix 以前の問題としてアプライアンス導入へのハードルを上げてくれました。

まぁ好みと慣れの問題なんですけどね。

※つくづく申し上げますが、vi で設定を編集するときは綴りを間違えないでくださいね。SUSE の yast の様にパッケージのインストールから設定まで自動化されていません。ubuntu では全部手書きです。

zabbix 2.x での実際のアプライアンス版の導入はこちらをご参考下さい。

頼む、openSUSE 版の Appliance 出すか、SUSE 版の zabbixの rpm 作ってくれ。
openSUSE で 1 Click インストールできる様にしてくれ。
と言っても無料で使っているわけだから文句は言えませんね。
まぁ、openSUSE leap 42 は安定板じゃないからなぁ、13.1 あたりの安定板を使ってほしい。

- 環境 -

動作環境は SLES12 の XEN 環境から行いました。Zabbix Appliance 3.0 は KVM/XEN と同じイメージファイルです。SLES12 の環境では XEN/KVM 両方サポートしているので、どちらでも、実装そのものはあまり変わりないでしょう。おそらく RedHat 系の KVM のみの環境でも同じように実装できると思います。

まず解凍します。
sles12:/var/lib/xen/images/zabbix # tar xvzf zabbix_appliance_3.0.1_x86_64.raw.tar.gz
./
./zabbix_appliance_3.0.1.raw
sles12:/var/lib/xen/images/zabbix # ls -al
total 81061244
drwxr-xr-x 3 root root 4096 Feb 16 18:35 .
drwx------ 19 root root 4096 Mar 10 08:34 ..
-rw-r--r-- 1 root root 10485760000 Feb 16 18:56 zabbix_appliance_3.0.1.raw
-rwxr--r-- 1 root root 1370095336 Mar 10 12:03 zabbix_appliance_3.0.1_x86_64.raw.tar.gz
sles12:/var/lib/xen/images/zabbix #

そりゃ、openSUSE だと思っていましたよ。でもドキュメント読むと

"Ubuntu version 14.04.3"

って書いてあるわけですね。そりゃぁ手慣れた手順で、アプライアンス実装しても動く訳がない。

その罠に気が付いて virt-manager を起動して、SLES12 では、次の様なパラメータで仮想マシンを実装します。

a0056607_11165514.jpg
最近はハードウェアの性能が仮想化前提で設計されているため、あまり XEN/KVM の性能差や機能差がなくなってきました。起動して初めて「何じゃこれ」という事になったわけです。

- OS Type が Ubuntu なので full virtual(完全仮想化)です。
- メモリ、vcpu はデフォルトのまま
- 仮想ディスクに解凍したイメージ raw ファイルをセット
- VM 名を任意に zabbix3 などにセット

これで OK ボタンを押すと Zabbix アプライアンスが起動します。
a0056607_11174281.jpg
DHCP なので ifconfig で ip を確認してから Ubuntu に SSH 接続してみます(メンドクサイ)ちなみに ubuntu には root というユーザがいないため、デフォルトの "appliance"/zabbix で ssh 接続します。 -l なんてオプション初めて知った。
a0056607_11181045.jpg
- IP を固定する -

yast が使えないため、まず DHCP から ip を固定するため sudo vi と闘います。
/etc/network/interfaces /etc/resolv.conf を修正します。

appliance@zabbix:/etc/network$ cat interfaces <--- デフォルトの確認
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
appliance@zabbix:/etc/network$

# sudo vi /etc/network/interface <--- 編集、/etc/resolv.conf も編集

appliance@zabbix:/etc/network$ sudo vi interfaces
[sudo] password for appliance: 間違えちゃった....
Sorry, try again.
[sudo] password for appliance: <--- vi で編集します。

: 編集中(SUSE + yast じゃないので、綴りを間違えないように......)

appliance@zabbix:/etc/network$ cd ..
appliance@zabbix:/etc$ sudo vi resolv.conf
appliance@zabbix:/etc$ cat network/interfaces <--- 変更後の確認
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static <--- dhcp から static に、綴り間違えるなよ。

address 192.168.1.206 <--- 以下追加
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2

<--- ここまで

resolv.conf も修正

appliance@zabbix:/etc$ cat resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.2
nameserver 192.168.1.3
search intra
appliance@zabbix:/etc$

appliance@zabbix:~$ sudo ifdown eth0 && ifup eth0 <-- auchi!! あちゃーsudo忘れた
appliance@zabbix:~$ sudo ifdown eth0 && sudo ifup eth0 <-- 正しくはこっち do not forget "sudo"
appliance@zabbix:~$ ということでコンソールから(from console)
appliance@zabbix:~$ sudo ifup eth0
appliance@zabbix:~$ ping www.yahoo.co.jp
PING www.g.yahoo.co.jp (182.22.72.251) 56(84) bytes of data.
64 bytes from 182.22.72.251: icmp_seq=1 ttl=51 time=182 ms
^C
--- www.g.yahoo.co.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 182.758/193.811/204.865/11.062 ms (<---- it seems fine !)
appliance@zabbix:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3e:5e:7a:61
inet addr:192.168.1.206 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe5e:7a61/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19487 errors:0 dropped:4 overruns:0 frame:0
TX packets:1337 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:903775 (903.7 KB) TX bytes:202727 (202.7 KB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1620 errors:0 dropped:0 overruns:0 frame:0
TX packets:1620 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:92110 (92.1 KB) TX bytes:92110 (92.1 KB)

appliance@zabbix:~$

どうやら、IP の固定と、dns の設定が出来たようです。SUSE なら yast で1分の作業ですが、ここまで3時間かかりました。やっぱり SUSE 利用者には ubuntu は手ごわい。

- NTP のインストール -

なんと ntp がないじゃないか、という事で NTP をインストール、JST 設定します。SUSE の yast ならインストールから設定まで 30 秒の作業ですが、ここでもまた30分間の死闘が始まります。

appliance@zabbix:/etc$ sudo apt-get install ntp

またパスワードだ

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libopts25
Suggested packages:
ntp-doc apparmor
The following NEW packages will be installed:
libopts25 ntp
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 474 kB of archives.
After this operation, 1,677 kB of additional disk space will be used.
Do you want to continue? [Y/n] y <---- yes する
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libopts25 amd64 1:5.18-2ubuntu2 [55.3 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main ntp amd64 1:4.2.6.p5+dfsg-3ubuntu2.14.04.8 [419 kB]

: 略

Processing triggers for ureadahead (0.100.0-16) ...
appliance@zabbix:/etc$

ntp の設定をし直します。

appliance@zabbix:/etc$ sudo vi ntp.conf <--- vi で編集して
appliance@zabbix:/etc$
appliance@zabbix:/etc$ cat ntp.conf

: 略

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
#server 0.ubuntu.pool.ntp.org <---- Comment out
#server 1.ubuntu.pool.ntp.org <---- Comment out
#server 2.ubuntu.pool.ntp.org <---- Comment out
#server 3.ubuntu.pool.ntp.org <---- Comment out

# Use Ubuntu's ntp server as a fallback.
#server ntp.ubuntu.com <---- Comment out

server ntp1.intra <---- Add my NTP server(s)
server ntp2.intra <---- Add my NTP server(s)

: 略

appliance@zabbix:/etc$

-UTC から JST に(?)-

appliance@zabbix:/etc$ cat timezone
Etc/UTC <--- Default UTC
appliance@zabbix:/etc$ sudo vi timezone
appliance@zabbix:/etc$ cat timezone
#Etc/UTC
Asia/Tokyo <--- JST にしてみる。
appliance@zabbix:/etc$

リスタートしてみる
appliance@zabbix:/etc$ sudo /etc/init.d/ntp restart
* Stopping NTP server ntpd [ OK ]
* Starting NTP server ntpd [ OK ]
appliance@zabbix:/etc$

何じゃこれ?
appliance@zabbix:/etc$ date
Sun Mar 13 04:24:36 UTC 2016 <--- JST じゃないけど ....
appliance@zabbix:/etc$

なんか違う様です。SUSE の yast の様にタイムゾーンとNTPを一発で設定できないので、何か他のテキストを書き換えないといけない様ですね。

※補足 sudo dpkg-reconfigure --frontend noninteractive tzdata とやるようです。


- グラフが表示されない -

/etc/zabbix/web/zabbix.conf.php の末尾にゴミが入っている(なんとデフォルト)とグラフは表示されないようだ。

ちなみに

Database passwords are randomly generated during the installation process.
Root password is stored to /root/.my.cnf file, (嘘ですit is not required to input a password under the “root” account.

とあるように、実際には /etc/zabbix/web/zabbix.conf.php ファイルに PHP の root パスワードが隠されています。

appliance@zabbix:~/home/temp$ cat /etc/zabbix/web/zabbix.conf.php | grep PASSW
$DB['PASSWORD'] = 'vO1xUgwjzh';

※追記 /root/.my.conf はこれで確認できました。

appliance@zabbix:~$ sudo su
root@zabbix:/home/appliance# cd /root
root@zabbix:~# ls -al
total 28
drwx------ 3 root root 4096 Mar 14 03:21 .
drwxr-xr-x 22 root root 4096 Feb 28 20:07 ..
drwx------ 2 root root 4096 Feb 28 20:03 .aptitude
-rw------- 1 root root 46 Mar 14 03:21 .bash_history
-rw-r--r-- 1 root root 3106 Feb 20 2014 .bashrc
-rw-r--r-- 1 root root 31 Feb 28 20:01 .my.cnf
-rw-r--r-- 1 root root 140 Feb 20 2014 .profile
root@zabbix:~# cat .my.cnf
[client]
password="19qfvjQngR"
root@zabbix:~#

<--- 追記終わり

- 顛末 -

本当は、Zabbix2 のDBを移行したかったのですが、 MySQL のデータのエクスポートとインポートに失敗しました。失敗した事は隠しようがないので、dns の書き換えは諦めて、とりあえず 2.2 と 3.0 の平行運用して違いを楽しんでいます。ドキュメント通りに行かないのが怖いところです。データの移行はもう少し研究しないといけませんね。

中小規模の数十台の仮想化システムのデバイスであれば、 Zabbix アプライアンスはネットワーク管理に必要十分な「見える化効果」があり、実装も楽なのですが、Ubuntu では、とても客に「使ってくれ」とは口が裂けても言えません。という事で、私の顧客では無理しないで、当分は 2.2 環境でも問題なさそうです。

また、アプライアンス固有の問題なのかも知れませんが、ビール買いに行っている間に、データの取得ができなくなって、全く機能しなくなってしまいました。再起動してもだめ。

まだ不安定ですね。こういう状況があると、2.x 系と比べても、とても実用には堪えない。やっぱり次の安定板が欲しくなります。やはり「新しいからまともに動く」と言う事よりも「うまく使えているバージョンを徹底的に使い倒す」という姿勢が必要な様です。私の目的はイベントでのトリガーでもなく、アラートでもありません。一般的なトレンドが見えればいい。そういう単純な目標であれば、あえて Zabbix3 を選ぶ理由はありません。

確かに 2.x より 3.x の方がコスメティックな部分では「違い」があるのですが、せいぜいトラフィックをグラフ化する程度であれば、無理して 3.x を導入するつもりにはなれません。SUSE 版 Appliance が出ないのなら、せめて rpm 化するか、1 Click インストール用のパッケージか susestudio で仮想アプライアンスを作るしかないな、という無理な私の希望です。

Zabbix3 アプライアンスに関しては、随分否定的な評価となりました。







- Key Word-


Zabbix SUSE openSUSE Zabbix Appliance 3.0 XEN KVM 使えない。だめだこりゃ。SUSE 版出せ。

[PR]
by islandcenter | 2016-03-14 11:32 | プライベートクラウド | Trackback | Comments(0)

Zabbix 2.2.1 のopenSUSE 仮想アプライアンスの提供が始まりました。

ダウンロードはこちら
http://www.zabbix.com/download.php

マニュアルに初期パスワードなどが記されています。
https://www.zabbix.com/documentation/doku.php?id=2.2/manual/appliance

以前 2.0.5 を使ってみたのですが、一言で言って「ずいぶん使いやすくなった」というのが印象です。

上のZabbixのダウンロードページから tar.gz 形式のファイルをダウンロードして、展開した後、60Gb 程の仮想イメージが解凍されるので、これをハイパーバイザーに移植して動作させます。今回はXEN イメージを使いました。他に VMware や USB 起動用のイメージもあります。OS は openSUSE 12.3 です。

このアプライアンスは http://susestudio.com/ によって作成されたものです。

SUSE Linux Enterprise Server(SLES11sp3) では KVM でも使えるようになったので、そういう選択もあるでしょう。ハイパーバイザーに実装して起動したら、DHCP でIP を貰います。IP を確認して SSH 接続すれば、yast のコマンドが使えるようになるので、固定 IP を与えるとか、zypper install yast* などを実行して不足している YOU などの機能をインストールすると良いでしょう。


-監視対象のホストの設定-

監視対象のホストを定義します
https://www.youtube.com/watch?v=C3xl27E-DmM




この状態では、何の監視も行えないので、作成したホストにテンプレートを割り当てます。
https://www.youtube.com/watch?v=87e0SFZOTWY

この部分はかなり「良くなった」と思います。従来のバージョンでは随分エラーになったのですが、重複するテンプレートを上書きして、複数のテンプレートを定義できます。ソフトキー入力なので、"snmp" と入力すると snmp 関連のテンプレートを割り当てることが出来ます。

-ちょっと後退したディスカバリー-

ここでは snmp エージェントが動作するデバイスをディスカバリーする手順を行ってみました。

# snmpwalk -v 2c -c community-name(public) Target-IP OID(.1.3.6.1.2.1 など)

でディスカバリーしてみます。
https://www.youtube.com/watch?v=K-GYsmZPGT0


残念ながら snmp, zabbix-agent, ping などでは、うまく動作中のデバイスは検出できませんでした。マニュアルをもう少し精査してみる必要があるようです。まぁ、余計なデバイスを「底引き網」するわけではないので、これはこれで良いような気もします。

-グラフの表示-

Graphは Latest Data タブから、ホストを指定して直接、マネジメント対象のデバイスの項目に Graph リンクが付いています。これは結構使いやすいでしょう。従来の Graph タブからもグラフの描画が出来ます。
https://www.youtube.com/watch?v=tA49k1jRb6w


-マップ作成-

マップ作成でホストを選ぶ所ではやはりソフトキー入力でホスト名を指定します。ホストとホストを結ぶラインの作り方がわかりにくいと思いますが、複数のホストアイコンを Shift や CTRL で選択して "Link" の横の"+" ボタンを押すと、リンクが作られます。

https://www.youtube.com/watch?v=RGkQkUAMFTs


実際には、このアプライアンスは"評価目的"なので、本格的に運用する場合は Zabbix Japan LLC のテクニカルなサポートを受けることをお勧めします。
http://www.zabbix.com/jp/

--
Zabbix は、ハードウェアプローブのアプライアンスも出てきています。他の管理ツールと違って、「インストール」などの作業が不要な所、この Zabbix ソフトウェアアプライアンスは非常に導入して評価しやすいと思います。

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

Zabbix2 のハマリどころ

※-お詫びの追記 - 検索エンジンからこのブログを間違って見つけてしまった貴方は不幸かも知れません。この文書は Zabbix のソフトウェアアプライアンスというものを発見して誰の力も借りずに無知なまま 二、三日使ってみての感想文です。ちゃんと勉強するには Zabbix の公式サポートや他のサイトの情報や公式ドキュメントを参考にした方が何百倍もためになります。それでも読んでみたい方、ありがとうございます。今のバージョンでは解決されている、おかしな突っ込みどころが沢山ある記事なので、そのつもりでご参考ください。まだ随分お読みになる方がいらっしゃるので ..... -以上お詫び※

ほとんど「ネットワーク管理」という力技に頼ってきたSUSE Linux 一本の技術者が Zabbix2 という管理ツールを使ってみた感想です。

SUSE Studio から Zabbix 管理ツールの導入
Zabbix2 で linux サーバーを管理する
Zabbix2 で Windows を管理
Zabbix2 でマップを作成

の続きです。ここでは、どこがハマリ易いポイントであるか、あるいは使いづらいなぁと思えるポイントを説明してみます。

追記: Zabbix 2.2.1 アプライアンスは随分雰囲気がかわりました。2014/8 現在 2.2.2 です。
Zabbix 2.2.1 openSUSE アプライアンス ファーストインプレッション

-SNMP監視-

相手がそもそも snmp が有効でなければ snmp 監視はできません。ping の死活監視しかできないわけです。

まず監視対象の FireWall 周りを確認します。

Zabbix のターミナルコンソールから

# snmpwalk -v 2c -c mycommynity target-IP .1.3.6.1.2.1

を実行して返事が無ければ動きません。 ODI 1.3.6.1.2.1(.1) はよく使う snmp の OID なので覚えておくと便利です。Zabbix のデフォルト snmp テンプレートは snmp v2c です。MIB OID という言葉だけで「なんじゃそれ」と思う方もこの OID はよく使うものらしいので覚えておくと便利です。

a0056607_17123670.jpg


「SNMPによるネットワークモニタリング」
--http://www.itmedia.co.jp/enterprise/articles/0705/21/news015.html

の記事が詳しいので参考にしてください。

ディスカバリーした後はデフォルトで zabbix agent のポート 10050 を監視します。snmp 監視を行うように設定し直す必要があります。この辺りはデフォルトテンプレートを使わず、何らかのカスタマイズしたテンプレートを作ることになるでしょう。

a0056607_15581285.jpg


NAS やルータなどの agent を組み込めない機器を監視対象としたい場合は snmp 監視が行えるよう、 Interface に追加します。 Zabbix Agent の 10050 は remove しても構いません。

-なかなか監視対象が出てこない-

監視対象が出てこない、あるいはグラフが出ないのは、デフォルトで 3600 秒(1時間)が検出の間隔であることによります。残念ながら

「今すぐアクティブに監視」

という機能は一見するとないため、じっくり待つしか方法はないと諦めていました。ディスカバリーの間隔をテンプレートでもっと短くすることもできますが、あまりお勧めできないところです。

Host > Discovery, Application, item などの機能を"Enable" > go すれば Graph の描画はすぐ始まるようです。
a0056607_11105590.jpg


また、ディスカバリーはデフォルトで 3600 秒(一時間)です。最初はもっと短めにしても良いのですがテンプレートの修正は結構面倒です。テンプレートを選んで mass update > go で Update Interval でまとめて修正します。

-Host Templateの利用-

一つの Host に複数のテンプレートを使うとエラーになります。
a0056607_1626193.jpg


例えば Linux SNMP のテンプレートと Generic SNMP のテンプレートを当てはめるとエラーになります。lこれは大きなテンプレートが小さなテンプレートにリンクしているためです。どうせなら上書きして欲しいのだけれどなぁと思いました。

素直にテンプレートは一つだけ使うのが一番よさそうです。 Zabbix Agent が動作する監視対象であれば Agent 用テンプレート。 Linux ベースの NAS なら Linux SNMP などですね。

-Host の設定は Cloneを使う-

一つの Host がうまく管理できるようになれば、あとは Clone 機能を使い、同じ機能や目的のサーバーにコピーして利用するのが一番良いようです。この Clone 機能は非常に便利です。ただし Clone ボタンを押した時にこれがクローンなのか、大元なのかがはっきりしないので、使う時は不安になるでしょう。せめて Clone を押した後の Name フィールドに 'MyHost-(Cloned)' とでもしてくれるととてもありがたいところです。

-監視されているかどうかの確認-

このホストが監視できているかどうかの核には Monitering スクリーンではなく Configuration > Host スクリーンで一発で解ります。Zabbix Agent と通信できない場合は 'Z' のアイコンが赤に、SNMP 監視がうまくいかない場合は SNMP の部分が赤になります。
a0056607_16585531.jpg


できれば、こういったステータススクリーンは Monitering スクリーンから一発で解るようにして欲しいのですが、 Monitering スクリーンにはテキストのアラートが表示されるだけなので、あまり便利ではありません。

-Monitering Screen-

Monitering のメインスクリーンではイベントの発生を優先して表示するようになっています。ここは非常に不満を感じるところです。

例えばメインスクリーンからあるホストの状態らグラフの遷移を見たいと思うと

Dashbord > Graph > Group > Host > Graph のカテゴリ

を選ぶという5ステップが必要です。
a0056607_1720109.jpg
※ 慌てるな、グラフは直ぐには出てこない。Linux SNMP のテンプレートでも60分くらいかかります。

慣れればどうということはないのですが、できればイベント確認画面からダイレクトにグラフを見るような機能が欲しいところです。

もっとも、よく見るイベントや重要なホストを管理する場合は Favorite Graph や Screen 機能を使い、あらかじめ用意すれば良いのですが、予知能力がない管理者が

「この異常事態のどこを見ればよいのか」

といった場合に、ホストの一覧や、イベントスクリーンからのグラフの参照ができないのはちょっと残念です。

できれば、「通信トラフィック」「ディスクIOの状態」「CPU負荷」と言ったカスタマイズできるグラフを、Favorite や Screen あるいは Map の機能の中でツリー構造で見れるとか、せめてこれらの表示を Favorite や Screen のグループ化、できれば文句のつけようがありません。

また、死活管理 "ping実行" は map を作らなければいけません。マップに配置された Host に対して Ping を送ったりサービスの確認は行えるのですが、マップ以外からは死活確認やサービス状態の確認は行えませんでした。
a0056607_17333632.jpg

この操作を行うにはあらかじめ map に Host を配置しておく必要があります。昔 Kinetics という自動マップ作成の管理用アプライアンス(当時はダイキン工業が代理店だった)を扱ったことがありますが、そのうちの1台は南極の昭和基地で働いていたという記憶があります。どんなコンセプトであれ、自動的にマップが作られると嬉しいと思います。

また、map には Host やその他の Element を作っているのですが一旦 Host のオブジェクトを削除してしまうと、リンクされたマップからも Host は消え去ってしまいます。リカバリーするには、マップに新規に Host を再定義しなければなりません。

map の Export/Imprt はできるようですが、私の未熟さなのか、うまく動作しませんでした。例えばネットワークが大きくなったのでマップのサイズを変えるにも、マップを再作成しなければならないようです。

-全く機能しないインベントリ管理-

インベントリ収集は私の未熟さもあり全く機能しませんでした。残念ながらそうレポートするしかありません。うまく動いたという事例も海外のもので、それもあまりはっきりした情報ではありませんでした。もっとも日本語で挑戦した報告はありますが、「こうすれば間違えなく動く」という結果は探した限りありませんでした。

うまく動かす方法があれば、また報告の機会があるでしょう。

致命的なのはインベントリの収集が行えたとしても、そこに「リースの期限」だとか「支払いや管理は誰がやっている」という情報は極めてニンゲン的な情報だということです。それを自動化するのは不可能です。

致命的なことは、インベントリが収集できても、情報をインポート、エクスポートする機能が全く見当たらないことです。

例えばエクスポートした内容をスプレッドシートに読み込んで、資産台帳と照合して、欠けた情報、例えばリース先や期間だとか、どの部署で利用しているとか、責任者は誰か、修理連絡先はどこか、とかを書き加えて、インポートできれば価値のあるものとなりますが、これらの情報を上長に「報告」するには Zabbix のコンソールで見せるしかないのです。

「じゃぁ紙で報告して」

と言われれば、呆然とするしかないのです。これらの情報を操作ミスの多いブラウザ画面から行うのは相当に困難な作業です。利用するには API を直接操作するエクステンションを開発して組み込む必要があります。こういったところがオープンソースを使う上での見えないコストとなります。もちろんそうした機能を組み込むことで SIA Inc. はじめ関係者 はビジネスを行っていることを理解すべき点でしょう。


-基本的には「狼が来た」-

Zabbix の Dashboard を見て、このソフトウェアの主な利用方法は「イベント管理」に主力を置いているということがしみじみと理解できます。

イベント管理はアラートを出して「狼が来た」ことを知らせる機能です。ただし、その「狼」が郡狼なのか、タヌキなのかはイベントだけでは把握できません。ベテランは別にしても、初心者にはそのイベントが持つ重要性は中々理解できないでしょう。

イベントの通知があると、そのイベントを発生したデバイスにダイレクトに、状況を見て、確認し、何が問題になっているのかを調べてレポートを作るという基本的なオペレーターの操作に対する機能がZannix には欠けています。

例えば一つの一つのホストが死活管理で「エラー」を報告した場合、「このマシンはどのルーターにつながっていたんだろう」と思い出すより、そのイベントから直接関連するルート、スイッチやルーター、ホスト、およびそのサービスに順番にアクセスできれば最高です。

-最後に-

ここでは Zabbix のハマリどころよりも、欠点ばかりを書いてしまいましたが、それだけ取っ付きやすさがあり、コミュニティも活発で「使える」ものであることは評価しておいていいでしょう。この使いやすさ、魅力があるからこれだけの突っ込みたくなる欠点が見えてしまうということです。ネットワーク管理に未熟な私でさえも、ここまで理解できたことは、それだけ夢中になれるということで高く評価しています。

たいていの日本の顧客は、高価なネットワークの統合管理ツールを導入しても、導入から運用、障害対策さえもSI事業者にまかせっきりです。とても残念なことですが、それだけネットワークの運用管理に携わるエンジニアのスキルが低い(というより低く見られている)ことが最大の問題です。オープンソースならタダだろうと上長に進言して甘く見ると痛い目にあいます。

オープンソースならではの導入の敷居の低さ、それに有償のプロフェッショナルのサポートもあり得るということは、このような商用OSSの良いところです。大規模なシステムだけではなく、この敷居の低さは中小規模のせいぜいサーバーが2,30台と言うところでも導入がしやすいでしょう。

ベンダー任せで高価なのに痒いところに手が届かない(「そういう仕様はない」と言われる)ツールより、技術者同士が困難を乗り越えて改良、解決できるオープンソースの一つの魅力です。

islandcenter.jp


あわせて読みたい関連記事

-keyword-

ネットワーク統合管理ツール オープンソース  SUSE openSUSE プライベートクラウド

[PR]
by islandcenter | 2013-04-30 17:03 | プライベートクラウド | 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)

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)