Zabbix2 のハマリどころ

ほとんど「ネットワーク管理」という力技に頼ってきた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]
トラックバックURL : http://islandcnt.exblog.jp/tb/17709274
トラックバックする(会員専用) [ヘルプ]
※このブログはトラックバック承認制を適用しています。 ブログの持ち主が承認するまでトラックバックは表示されません。
by islandcenter | 2013-04-30 17:03 | プライベートクラウド | Trackback | Comments(0)