原則として、システム管理者は、監視システムをインストールするときに、まずサーバーパラメータを確認し、これらのサーバーで実行されているサービスのアクセス不能を検出するようにシステムを構成します。 もちろんこれは優先事項ですが、UPS、エアコン、ネットワーク機器などの他の機器も忘れないでください。
このトピックでは、Zabbixシステムでアクティブなネットワーク機器(スイッチ、ルーターなど)を監視する問題を、30分でいくつかの便利なツールを使用して解決する方法を示します。 その結果、ネットワークで何が起こっているのかを完全に把握できます。
監視を有効にする
ほとんどのシステム管理者が、さまざまなモデルやベンダーの機器の継承された「動物園」で作業しなければならないと言っても、私は間違いないと思います。 幸い、ほとんどのモデルはオープンSNMPプロトコルをサポートしています 。 これにより、ネットワークインターフェイスのステータスに関する情報を受け取ります。
すでにZabbixがインストールされているとします。 SNMPを使用するには、次のものが必要です。
- ネットワークデバイスでSNMPサポートを有効にします(コマンドはメーカーによって異なります)
- 対応するアイテムをZabbixに追加します-パラメーターごとに1つ。 これを行うには、使用されているSNMPのバージョン、 SNMP OIDパラメーターの正しい識別子、およびSNMPコミュニティ (ユーザー名など)を指定します
- 不要なアイテムの値を追跡するトリガーを追加します
各ネットワークポートには複数の監視対象パラメータがあり、一般的なスイッチには24個または48個のポートがあり、ネットワーク内には数十個のスイッチがある場合があるため、手動構成には時間がかかりすぎます。
タスクを容易にするために、テンプレートを使用する必要があります。 テンプレートには、必要なすべてのアイテム、トリガー、グラフが含まれています。ホストを起動して、テンプレートを接続するだけです。
Zabbix用の既製のテンプレートはすでに多くあり、グーグルでもマニュアルでも見ることができます。
必要なテンプレートが見つからなかった場合、落胆しないでください。原則として、メーカーはRFC1213およびRFC2233の標準OIDを使用します。
sysName.0 | ノード名 | |
.1.3.6.1.2.1.1.3.0 | 稼働時間 | |
.1.3.6.1.2.1.2.2.1.8.X | ポートステータス:1(アップ)/ 2(ダウン) | Xはポート番号です。
シスコには5桁のポート番号があります。 100 Mbpsポートの場合は100XX、 1 Gbpsの101XX |
.1.3.6.1.2.1.2.2.1.16.X | 送信されたバイト | |
.1.3.6.1.2.1.2.2.1.10.X | 受信したバイト | |
.1.3.6.1.2.1.31.1.1.1.5.X | 送信されたブロードキャストパケット | |
.1.3.6.1.2.1.31.1.1.1.3.X | 受信したブロードキャストパケット | |
.1.3.6.1.2.1.31.1.1.1.4.X | 送信されたマルチキャストパケット | |
.1.3.6.1.2.1.31.1.1.1.2.X | 受け入れられたマルチキャストパッケージ | |
.1.3.6.1.2.1.2.2.1.17.X | 送信されたユニキャストパケット | |
.1.3.6.1.2.1.2.2.1.11.X | 受け入れられたユニキャストパッケージ | |
.1.3.6.1.2.1.2.2.1.20.X | 送信エラー | |
.1.3.6.1.2.1.2.2.1.14.X | 受信エラー |
Cisco Catalystは通常、さらに次をサポートします。
.1.3.6.1.4.1.9.9.109.1.1.1.1.5.1-CPU負荷の割合
.1.3.6.1.4.1.9.9.48.1.1.1.5.1-占有メモリ(バイト単位)
.1.3.6.1.4.1.9.5.1.2.13.0-温度ステータス(1-正常、2-高、3-重大)
テンプレートジェネレーター
識別子が標準化されていることに注目して、すべてのポートに必要なOIDを使用してZabbixのXMLテンプレートを生成できる単純な PHP スクリプトを作成しました。 シスコの機器(500G、2960、3550、3750)、3Com(2426、2924、2948)、D-LinkとZyxel 4012のペアでテストしました( ソースは誰でもダウンロードできます )。
ジェネレーターは、次のことができるテンプレートを作成します。
- インターフェイスパラメータを監視し(上記の表を参照)、チャートに表示します。
- ポートドロップのトリガーを設定します。
- ポートのエラー増加率を超えるようにトリガーを設定します。
- シスコのCPU使用率、メモリ、および温度を追跡します。
デバイス用のテンプレートを生成して保存したら、それをエクスポートします。[ 設定 ]→[ テンプレート ]に移動し、右上の[ インポート ]ボタンをクリックします。 新しいホストを作成するか、既存のホストを編集します-テンプレートをそれにバインドします。
パラメーター(SNMPコミュニティなど)を変更する場合は、Zabbixで直接行うことができます:[ 設定] →[ テンプレート]のテンプレートに移動し 、[ アイテム]でチェックマークの付いた必要な要素を選択し、ドロップダウンリストから[ 一括 更新]を選択します。
その結果、素晴らしいグラフィックが得られます:
デバッグ
テンプレートがデバイスに追加されてから数分経過し、SNMPからのデータが表示されなかった場合、Zabbixサーバーがデバイスからデータを読み取れるかどうかを確認する必要があります。 これは、snmpgetユーティリティを使用して行われます。
snmpget -v _ -c _ OID
たとえば、シスコの最初のギガビットポートで送信されたバイト数を取得します。
snmpget -v 2c -c qwerty 192.168.1.1 .1.3.6.1.2.1.2.2.1.16.10101
IF-MIB::ifOutOctets.10101 = Counter32: 2044250092
シスコ以外の腺の場合:
snmpget -v 2c -c qwerty 192.168.1.2 .1.3.6.1.2.1.2.2.1.16.1
IF-MIB::ifOutOctets.1 = Counter32: 1691279168
メッセージ
Timeout: No Response from ...
場合、デバイスでSNMPが有効になっており、サーバーがスイッチポート161 / UDPへの接続を許可されていることを確認する必要があります。
No Such Object available on this agent at this OID
メッセージは、要求されたパラメーターがサポートされていないことを示します。
デバイスからパラメータの全リストを読むには:
snmpwalk -v _ -c _
GUI愛好家は、MIBブラウザなどのプログラムを使用して、デバイスからSNMPデータを読み取ることができます。
ネットワークマップ
マップは、苦労して手描きする必要があります。 ここでは、いくつかのトリックを知る必要があります。 機器間の接続線より上の速度を表示するには、署名に中括弧内の対応する項目への呼び出しを追加します。 例:
↑ {02-CS-42-3750:ifOutOctets.10112.last(0)}
{02-CS-42-3750:ifInOctets.10112.last(0)} ↓
レコード02-CS-42-3750:ifOutOctets.10112.last(0)は、ホスト02-CS-42-3750から前回のifOutOctetsパラメーター値(送信バイト)を取得することを意味します。
↑
および
↓
これらは、美しさを表す↑と↓の矢印コードです。
また、リンクプロパティで、ポートが落ちた場合に赤で表示されるように回線を構成できます。
ポートステータスモニタリング
残念ながら、Zabbixには個々のデバイスポートのステータスを表示するための便利なツールがないため、作成する必要がありました。 情報はZabbixからインポートされ、管理者に便利な形式で表示されます:
ポートの灰色は、ダウンしていることを示しています。 ポートの負荷に応じて、緑から赤への色が変わります。 ギガビットポートの概要を説明します。
スクリプトのマイナス点は、「自分用に」書かれていることです。そのため、インストールはかなり不器用です(-: ソースをダウンロードして readmeをお読みください。UPD03/13/13 ( Zabbix 2.0のバージョン )
性能
zabbixサーバーのパフォーマンスに関する問題の可能性について言及するしかありません。 毎分50個の24ポートスイッチの各ポートの11個のパラメーターに関する情報を取得するとします。 zabbixサーバーデータベースの平均負荷は1秒あたり220レコードです。 弱い機械の場合、耐えられないことがあります。 したがって、アイテムの数を制限するか、検査間隔を長くすることをお勧めします。 ポートステータス、トラフィック、エラー、およびブロードキャストパケットを60秒ごとに要求することで十分であると考えています。
計画
テンプレートジェネレータの次のバージョンでは、インターフェイスパラメータの残りを取得する機能、グラフの線の色の選択、シスコ以外のデバイスのポート速度を指定する機能を追加したいと思います。 提案を歓迎します。