Zabbix 3アプライアンスで、一般の SNMP デバイスを監視します。

本来は Zabbix Agent を組み込んだホストコンピュータを監視するのが Zabbix の主目的ですが、ネットワークには Linux, Windows ホストの様に、エージェントを組み込めないスイッチやルータ、アプライアンスデバイスなどが多くあります。ここでは古い qnap の NAS を監視し、グラフの描画が行えるまでを説明します。

アプライアンス版の導入はこちらをご参考ください。

Zabbix3.2 のソフトウェアアプライアンスUbuntu 版をSUSE 仮想環境で試してみた。

Zabbix Documentation 3.0


- snmpwalk で返事があるか -

まず、デバイスのSNMPを有効にした後、 snmp パッケージを導入したデバイスから snmpwalk を行います。

# snmpwalk -v version -c commynity_string target_device OID

-v のバージョンは一般的には 2c です。3 もありますが、これは、通信を暗号化するため、実装が面倒くさく、あまり使われていません。
-c はほとんどのデバイスでは Read-only で "public" が使われます。
ターゲットデバイスは IP Address か DNS名です。
OID はちよっと面倒臭いのですが、mib ツリーのどの枝を調べるかの数値です。一番よく使い、覚えやすいのが ".1.3.6.1.2.1.1"なのでこれで調べます。先頭にドットが付くので忘れないように。

sles12:~ # ssh zabbix.intra -l appliance
Zabbix server Appliance (mysql)
Last login: Wed Oct 4 15:57:10 2017 from 192.168.1.35
######## ### ######## ######## #### ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ######## ######## ## ###
## ######### ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
######## ## ## ######## ######## #### ## ##
appliance@zabbix:~$ snmpwalk -v 2c -c public target-address .1.3.6.1.2.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux TS-110 4.2.0"
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.11.2.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5 = STRING: "The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing IP and ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.8 = STRING: "View-based Access Control Model for SNMP."
iso.3.6.1.2.1.1.9.1.4.1 = Timeticks: (1035) 0:00:10.35
iso.3.6.1.2.1.1.9.1.4.2 = Timeticks: (1035) 0:00:10.35
iso.3.6.1.2.1.1.9.1.4.3 = Timeticks: (1035) 0:00:10.35
iso.3.6.1.2.1.1.9.1.4.4 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.5 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.6 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.7 = Timeticks: (1041) 0:00:10.41
iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (1041) 0:00:10.41
appliance@zabbix:~$

この様な感じで OID .1.3.6.1.2.1.1 で値がズラズラ帰ってくれば、SNMPのサービスがターゲットのNAS や Switch などのデバイスで動いている事がわかります。


- 監視ホストの設定 -

qnap NAS は中身が Linux の様なので、SNMP 監視テンプレートは Linux Template がそのまま使えます。まさか、企業では使っていないとは思いますが、NASの中には、低速で使い勝手が滅茶苦茶悪い、二度とお近づきになりたくない悪評の Windows Storage Server が載ってる機種であれば Windows OS 用の SNMP も使えるし、zabbix Agent も組み込めるかも知れません。

Configuration > Hosts より "Create Host" を選んで、監視対象のターゲットを作ります。

a0056607_23134239.jpg




ターゲットの作成画面です。今回のNAS は標準的な SNMP 機能を持っているので ”SNMP Interface” に DNS名か IP アドレスを設定します。

a0056607_23140482.jpg

Template のリンクを指定します。 "Link new Template" の右にある "Select" ボタンから、一番適合しそうなテンプレートを選び、最後に "Update" ボタンを押します。

a0056607_23144994.jpg

Linked Template は "Select" ボタンより、一番適合してそうなテンプレートを選びます。今回は Linux ベースの qnap NAS なので SNMP OS Linux を選びましたが、 Switch や Router, Wifi スポットの負荷を調べたい場合、"SNMP Generic"”SNMP Interface” などを選ぶ事になりそうです。ちなみに SNMP 関連のテンプレートは一つしか選べません。複数チェックしてしまうと、テンプレートの衝突が起こるので、テンプレートを "Update" した時に怒られます。

a0056607_23151081.jpg


Template を適応した直後は、 Applications に幾つか数字が付いています。この時点では Availability の SNMP はグレーアウトしています。定義した Host の "Applications" のリンクを開き

a0056607_23153276.jpg

Applications のチェックを全て入れて、 "Enable" ボタンを押します。ここでは既に SNMP がグリーンに変わっているので、SNMP の監視タスクが動作を始めているのがわかります。
a0056607_23161353.jpg

Hosts一覧に戻ると、 NAS の SNMP 監視が有効(緑色)になっているのがわかります。

a0056607_23163222.jpg

でもまだこの時点では Graphs の所にグラフ数が出ていません。ここからグラフが有効になるまで2、30分かかります。

待っているとGraphs(7) が出てきました。初回のデータの収集です。

a0056607_23165281.jpg




Monitoring > Graph を選び、ホスト名をドロップダウンして、ネットワーク Interface を選択すると、グラフの描画が始まっています。

グラフの描画が始まります
a0056607_23173075.jpg


"Disk Space Usage" にディスクの空き状態を表示するには更に2、30分かかりました。

a0056607_23174964.jpg

--

確かに Zabbix は大規模ネットワークの大量の Linux デバイスを監視するのが目的なのですが、一般的な中小ネットワークの、インテリジェントデバイスを管理するにも、割と使いやすいシステムです。トラフィックや、空き容量、無線アクセスポイントの混雑状況といったものが簡単に目視でトレンドが見えるため、「問題の見える化」には非常に手軽なシステムでしょう。本番環境では推奨はされませんが、ソフトウェアアプライアンスであれば、10分もかからず実装でき、無言の機器が、言葉を発するように実際にどれだけ仕事をしているのかが一目でわかるというのはインパクト十分です。

今回は簡単に SNMP インテリジェントデバイスだけをターゲットに、グラフ化しましたが、アラートを通知したり、カスタマイズして本格的に利用するには Zabbix L.L.C. のサポートを受けてトレーニングをうけて利用することをお勧めします。







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

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 エージェントを実装したデバイスを登録して行くだけです。

- 対象ホストが snmp を返すか調べる snmpwalk -

監視対象ホストが SNMP に反応するかどうかは snmpwalk を使いますが、このアプライアンスにはデフォルトでは入っていないので、SUSE なら YaST で一発の所、Ubuntu 版では、テキストコンソールからキーボードと闘いオマジナイを唱える必要があります。くれぐれも綴りを間違えないように..... アチャーなトラップが待っています。

appliance@zabbix:~$ sudo apt-get install snmpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
snmpd is already the newest version.
snmpd set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
appliance@zabbix:~$ snmpwalk <---- snmpd だけじゃダメポ.......
-bash: snmpwalk: command not found
appliance@zabbix:~$ sudo apt-get install snmp <--- このパッケージが必要なようです。
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
snmp
0 upgraded, 1 newly installed, 0 to remove and 19 not upgraded.
Need to get 146 kB of archives.
After this operation, 554 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main snmp amd64 5.7.2~dfsg-8.1ubuntu3.2 [146 kB]
Fetched 146 kB in 3s (41.1 kB/s)
Selecting previously unselected package snmp.
(Reading database ... 52441 files and directories currently installed.)
Preparing to unpack .../snmp_5.7.2~dfsg-8.1ubuntu3.2_amd64.deb ...
Unpacking snmp (5.7.2~dfsg-8.1ubuntu3.2) ...
Setting up snmp (5.7.2~dfsg-8.1ubuntu3.2) ...
appliance@zabbix:~$
appliance@zabbix:~$
appliance@zabbix:~$ snmpwalk -v2c -c public 192.168.1.239 .1.3.6.1.2.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux abianca 3.0.101-63-xen #1 SMP Tue Jun 23 16:02:31 UTC 2015 (4b89d0c) x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (44081742) 5 days, 2:26:57.42
iso.3.6.1.2.1.1.4.0 = STRING: "Administrator <postmaster@example.com>"
iso.3.6.1.2.1.1.5.0 = STRING: "abianca"
iso.3.6.1.2.1.1.6.0 = STRING: "Right here, right now."
iso.3.6.1.2.1.1.7.0 = INTEGER: 76
iso.3.6.1.2.1.1.8.0 = Timeticks: (47) 0:00:00.47
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The SNMP Management Architecture MIB."

 : 中略

iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (47) 0:00:00.47
appliance@zabbix:~$ <----- うまく帰ってきたようです。

こんなに使いづらい Ubuntu 大好きって人はよっぽどマゾなんだろうなぁ。





-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)

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)