Reading Time: 2 minutes
この記事の所要時間: 約 11分

こんにちは!
永年無料でも使えるManageEngineの統合監視ソフトウェア「OpManager」技術担当のゆらです!

やべえやべえ、そろそろブログ書かなきゃ><と久々にZabbixにログインしようと思ったら、ユーザー名もパスワードもすっかり忘れまして、ログインに失敗しました。(みんなあるあるだと信じます)
ユーザーのパスワード等はデフォルトのままでしたので、グーグル先生に聞きまして、なんとかログインすることができました。よかったー。
そしたらこんな画面が。

おお・・・・。OpManagerにもこんな機能あればいいのになぁ。

ということで、以下の順番でお話を進めていきます。
※Zabbixでは、監視対象として追加した装置のことを「ホスト」と呼びますので、わたしも今回はそれに倣って基本的には「ホスト」と呼びますのでよろしくお願いいたします!

目次:
[1] 監視対象ホストの選定
[2] 監視するにあたり、プロトコルはどうしよう?
[3] ホストの追加
– 一括で複数の装置を追加する方法


[1] 監視対象ホストの選定

まず、今回監視対象として登録できたらいいなーと思っているホストをご紹介します。
—————————–
サーバー
Windows Server 2012 R2
CentOS 6
ネットワーク機器
Cisco Catalyst 3560シリーズ スイッチ(シスコシステムズ)
AX2430(アラクサラネットワークス株式会社)
FortiGate 100D(フォーティネット)
仮想サーバー
Vmware Esxi
(※OpManagerはデフォルトでHyper-Vの仮想化監視もできるのですが、Zabbixだと作りこまないといけないようなので、機会があったら触れてみようと思います。)
その他
APC UPS(APC by Schneider Electric)
PX-B510(EPSON)
—————————–
どうなるかはわかりませんが、さまざまな装置を監視して様子を見たい、そんなゆらです。

 

[2] 監視するにあたり、プロトコルはどうしよう?

さて、監視を行うにあたって「どのプロトコルで」「何を監視するか」…なんて悩んだりするかと思います。
プロトコルの仕様についての詳しい説明はぐーぐる先生に聞いてください…というところで、

1) Zabbix、OpManagerが使用しているプロトコルは?
2) TCP, UDPって?通信の信頼性?
3) 取得してる値って違うの?プロトコルが違うだけじゃないの?
のあたりをゆら流に少しだけ説明したいと思います。

1) まず、Zabbix、OpManagerが使用しているプロトコルは?

Zabbixが対応しているプロトコルは以下のような感じかと思います。(足りなかったらすみません)
・Zabbixエージェント、SNMP、CLI(ssh, telnet)

OpManagerが(メインで)監視に使用しているプロトコルは以下のとおりです。
・SNMP、WMI、CLI(ssh, telnet)、VMware API

2) TCP, UDPって?通信の信頼性?
3) 取得してる値って違うの?プロトコルが違うだけじゃないの?

2) 3) につきましては、前回のブログをご参照ください。

閑話休題01. SNMP, WMI, CLI、VMware APIの違いについて
https://blogs.manageengine.jp/zabbix-and-opmanager-05/

 

[3] ホストの追加

さて、ということで、今回はZabbixエージェントは使用せず、上記[1]の監視対象ホストたちをSNMPで追加していきたいと思います。
さて方法を・・・・・

っ・・・・・・・・・!
Zabbix ver.3.4の日本語ドキュメントがない・・・!!!!( ;∀;)!!!

軽く探してみたところ、現在翻訳されている最新のドキュメントはver.2.2でした。
Ver.2.2では機能の名前などが少し変わっているようでしたので、適宜英語版を参照することにいたしました。
ここで発揮される、ゆらの英語力…!わたしの英語力は、今この時のためにあったのであった…!

ということで、「ホスト」を追加していきます。
参考)
Configuring a host
https://www.zabbix.com/documentation/3.4/manual/config/hosts/host

1. [設定] -> [ホスト] -> [ホストの作成]へ移動。

2. ホストの情報を入力します。

パラメーター 説明
ホスト名 監視対象装置のIPアドレスを指定しました。
(ホスト名でも、名前解決ができる環境であれば問題ないようです。)
表示名 任意。
グループ 任意。
※こちら、諸事情であとで名前を「Windows Server 2008 R2(多分)」に変更しました(笑)
エージェントのインターフェース
SNMPインターフェース
「エージェントのインターフェース」と「SNMPインターフェース」があります。
「エージェントのインターフェース」はZabbixエージェントを利用している場合に使用するようです。
今回はSNMPで監視を行いたいので、「SNMPインターフェース」にホストのIPアドレスを設定します。参考) SNMP agent
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/snmp
JMXインターフェース JavaアプリケーションのJMXカウンターを監視できるみたいです。
参考) https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtypes/jmx_monitoring
IPMIインターフェース IPMI(ハードウェア管理インターフェース)デバイスの稼働状況や可用性を監視できるようです。

参考)
https://www.zabbix.com/documentation/2.2/jp/manual/config/items/itemtypes/ipmi?s[]=ipmi

プロキシによる監視 Zabbixプロキシサーバーより監視対象装置を監視している場合、こちらで指定。
有効 こちらにチェックを入れた場合、監視を開始するみたいです。

3. [テンプレート]タブに移動します。
デフォルトでいろいろテンプレートがあるようでしたので、「Windows」と検索。
赤枠の[追加]ボタンを押すことで、設定が保存されます。
※この設定は必須ではないみたいです。

4. そして下側の青い[追加]をクリック。
あれ…エラーメッセージが。

ホストを追加できません
フィールド”tls_accept” 値”0”が間違っています。の値が正しくありません。

ぐーぐる先生に質問しても、でてこない・・・。
TLSということは、おそらく暗号化とかその辺だろう、と思い、なんとなく右側にあった[暗号化]タブに移動。

5. 特にZabbixサーバー側にも、監視対象装置側にも暗号化は行っていないので、
「暗号なし」にチェックを入れ、[追加]したところ、正常に保存できました。

6. と思ったのですが、[テンプレート]に戻りまして、「Windows」と検索すると、以下のような結果が出てきます。

今回、SNMPで監視を行いたいので、「Template OS Windows SNMPv2」を選択する必要があるようです。
ここで上記手順3のまま「Template OS Windows」にしておくと、Zabbixエージェントで監視されると思います。
やべえやべえ、とテンプレートを変更しました。

7. 追加されました。(2018/1/25 12:00くらい)

※赤枠で囲ったところですが、
手順2で説明しました「有効」にチェックを入れると、ここも「有効」と表示されます。

8. 監視データが表示されました。やったー!!( *´艸`)

ここで気付く。
さきほど追加したdemo-opm。
SNMPコミュニティの設定してない。どうやって監視の値とってきてるんだ。

調べてみると、各監視項目ごとにSNMPコミュニティを設定するところがあるらしい。
参考)
SNMP agent
https://www.zabbix.com/documentation/3.4/manual/config/items/itemtypes/snmp?s[]=snmp

先ほど、demo-opmホストを追加した際にテンプレート「Template OS Windows SNMPv2」を適用しましたので、そのテンプレートに用意された監視項目に設定されているに違いない。

しかし、[設定] -> [テンプレート] -> 「Template OS Windows SNMPv2」の各所を探してみたけれど、そもそも監視項目(Zabbixでは「アイテム」)が見つからない。
仕方ないのでとりあえず[設定] -> [ホスト] -> demo-opm列の[アイテム] -> 適当な監視項目(今回は「#1: CPU utilization」)をクリック

あった!けど変数が指定されてる!

変数!!!??

ぐーぐる先生に、「Zabbix SNMP_COMMUNITY」と質問。
[管理] -> [一般設定] -> 画面右ドロップダウンメニュー -> [マクロ]を選択してみろとのこと。

あったー!ここだー!ここで作成するのかー!!!!
はーすっきりした。

(ちなみに:)
任意のアイテムを選択して一括でも更新できるみたいです。
1) [設定] -> [ホスト] -> demo-opm列の[アイテム] -> 表示されたアイテムすべてをチェック -> [一括更新]をクリック。

2)「SNMPコミュニティ」にチェックを入れ、設定し、[更新]をクリックします。

〇一括で複数の装置を追加する方法

以下のとおりできました。
1.[設定] -> [ディスカバリ] -> [ディスカバリルールの作成]

2.ディスカバリしたいIPアドレスの範囲を指定します。

各パラメーターの詳細は、ver.2.2のときからあまり仕様は変わっていないようですので
以下のZabbixのドキュメントをご参照ください。
参考)
日本語版 – ネットワークディスカバリルールの設定(ver.2.2)
https://www.zabbix.com/documentation/2.2/jp/manual/discovery/network_discovery/rule
英語版 – Configuring a network discovery rule(ver.3.4)
https://www.zabbix.com/documentation/3.4/manual/discovery/network_discovery/rule

*パラメーター「チェック」に関しては、今回はほぼドキュメントのとおりの設定をしてみました。
ICMP Pingに応答があったとき、また
SNMP OID「.1.3.6.1.2.1.1.1.0」(sysDescr)に応答があったとき、ということでしょうか。
ちなみに、sysDescrを見ると、ハードウェアタイプ、OSタイプ、ネットワークソフトウェアの情報がわかります。
Windows Server 2008 R2から情報を取得してきたときの例)

sysDescr.0:–>Hardware: Intel64 Family 6 Model 94 Stepping 3 AT/AT COMPATIBLE – Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)

*パラメーター「デバイスの固有性を特定する基準」では、
装置をIPアドレスで管理するか、またはSNMPで管理するかが指定できるようです。
あーこれ便利だなー。
これ、Zabbixエージェントで管理すれば、例えばホストのIPアドレスが変更されてもホストの削除・再追加は必要ないってことですよね。
と思ったけど、さきほど追加した「demo-opm」を見てみたら、「hostid=<番号>」で管理されてるみたいでした。(装置情報の画面のURLを見ました)
あれー?

複数のデバイス間で同じIPアドレスを持つデバイスがすでにZabbix上に存在する場合は新しいホストはディスカバリしないという機能でした。そんなことあるのか。

3. [追加]をクリック。ディスカバリされるまで待つ。
4. 待つけど新しいホストがディスカバリされない。
そんな中、障害が起きていることが判明。

Zabbix discoverer processes more than 75% busy

調べてみたところ、
Discoverer Processes(先ほど設定したディスカバリを担当してるプロセスさん)の負荷が掛かっているもよう。
検索していたら、/etc/zabbix/zabbix_server.confファイルに
StartDiscoverers = 3
を追記すればいいとのことなので、さっそく実施してみました。

4. Zabbixを再起動。

# service zabbix-server restart

5. 次のディスカバリが実行されるまで待ちます。(設定上では1時間後)

6. おかしい。障害が発生してる時刻から1時間経っているのにホストが追加されていない。
ダッシュボードを確認したら、これは設定がおかしいに違いない。

ドキュメントを読み直します。
Configuring a network discovery rule
https://www.zabbix.com/documentation/3.4/manual/discovery/network_discovery/rule

7. はあー!なんとー!!!!

[設定] -> [アクション]でディスカバリ実行時のアクションを設定しておく必要があったらしい。
慌てて設定します。
8.  「イベントソース」として「ディスカバリ」を選択します。
9. 以下のような画面が表示されるので、「アクションの作成」をクリック。

10. 「新規条件」ドロップダウンメニューより条件を設定します。
今回は、こんな感じに設定。これはLinuxサーバー用として作ってみました。

※条件を追加する際は、最後に赤枠の[追加]ボタンを押すのをお忘れなく…。
ゆらは何度も忘れて何度も編集しなおしました((+_+))

11. [実行内容]タブに移動します。
こちらは、そのホストをディスカバリしたら何をするか、という設定のもよう。
デフォルトであったLinux serversグループに所属してもらい、SNMP監視が初期段階から始まるように設定。


13.Windowsサーバー用のものも用意してみました。

—————
とりあえず、今回は監視対象として追加したいホストを決めていたので、できるところまでぽちぽちホストの作成をしてみました。(2018/1/25 18:27)
結果、こんな感じになりました。

実際[ホストの作成]より追加できたホスト:
サーバー
Windows Server 2008 R2
CentOS 6
ネットワーク機器
Cisco Catalyst 2560シリーズ スイッチ(Cisco)

…なぜ他の装置に関して諦めたかというと、
デフォルトのテンプレートとして、監視追加したかった機器がなかったためとなります…!><

おそらく、テンプレートを以下のようなところからダウンロードし、自環境のZabbixにインポートすればできるようになります。
Zabbix Templates
http://www.zabbix.org/wiki/Zabbix_Templates
ZShare
https://share.zabbix.com/

または、テンプレートの新規追加ですね。

 

今回は時間が押しているので、ここまでとします。

仮想サーバー(Vmware Esxi)については、これエージェントインストールしなきゃいけないんじゃね…?
…というところまでたどり着いて、またいつか時間があればというところになります!

うおおおお力不足うううううううううううううううう

備考:
Zabbixエージェントを監視対象ホストにインストールすれば、インストール済みのホストを自動的にディスカバリーできるもよう。
[設定]-[アクション]画面の[イベントソース]にて「自動登録」を選択後、
[アクションの作成]をクリックして、試してみてください(*´ω`*)

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
【連載】ZabbixとOpManagerから学ぶ!統合監視の世界

(目次)
はじめに
構築編
01.Zabbixをインストールするまでの流れ
02.OpManagerをインストールするまでの流れ
03. 監視ソフトをインストールしたサーバー自身を監視する方法
ちょっと余談01. SNMP, WMI, CLIの違いについて
04.Zabbixで監視する装置を登録する方法 <<イマココ
05.OpManagerで監視する装置を登録する方法
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::