【Zabbix】Ciscoスイッチを監視する

【Zabbix】Ciscoスイッチを監視する

ZabbixでCiscoスイッチ(Catalystなど)を監視するには、SNMP(Simple Network Management Protocol)を使う。
CPU、メモリ、トラフィック、ポート状態などをZabbixが自動で取得できるようになる。
今回は RHEL9でZabbixサーバを構築した環境を前提に、net-snmp の導入から実際の監視設定までをまとめる。


1. 前提環境

Zabbix環境構築は以下を参考
【RHEL9】Zabbixサーバを構築する(MariaDB + Apache + PHP)
https://www.kyororo.com/2025/11/01/%e3%80%90rhel9%e3%80%91zabbix%e3%82%b5%e3%83%bc%e3%83%90%e3%82%92%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b%ef%bc%88mariadb-apache-php%ef%bc%89/

CiscoでのSNMP設定は以下を参照
【RHEL9】SNMPサーバを構築してCiscoスイッチを監視する
– 3. Cisco C2960LのSNMP設定
https://www.kyororo.com/2025/05/11/%e3%80%90oracle-linux9%e3%80%91snmp%e3%82%b5%e3%83%bc%e3%83%90%e3%82%92%e6%a7%8b%e7%af%89%e3%81%97%e3%81%a6cisco%e3%82%b9%e3%82%a4%e3%83%83%e3%83%81%e3%82%92%e7%9b%a3%e8%a6%96%e3%81%99%e3%82%8b/

項目内容
OSRHEL 9.x
監視対象Cisco Catalyst 2960L
Zabbixサーバ7.0以降
ネットワーク要件UDP/161ポートがZabbixサーバ→スイッチ間で疎通していること

2. Zabbixサーバ側:net-snmp のインストール

ZabbixサーバでSNMP通信を確認するため、まず net-snmp を導入する。
# dnf install -y net-snmp net-snmp-utils

[root@localhost ~]# dnf install -y net-snmp net-snmp-utils
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:12:55 前の 2025年11月01日 23時58分50秒 に実施しました。
依存関係が解決しました。
==============================================================================================================================================
 パッケージ                        アーキテクチャー     バージョン                       リポジトリー                                   サイズ
==============================================================================================================================================
インストール:
 net-snmp                          x86_64               1:5.9.1-17.el9                   rhel-9-for-x86_64-appstream-rpms               312 k
 net-snmp-utils                    x86_64               1:5.9.1-17.el9                   rhel-9-for-x86_64-appstream-rpms               206 k
依存関係のインストール:
 lm_sensors-libs                   x86_64               3.6.0-10.el9                     rhel-9-for-x86_64-appstream-rpms                44 k
 net-snmp-agent-libs               x86_64               1:5.9.1-17.el9                   rhel-9-for-x86_64-appstream-rpms               698 k
 perl-Term-ReadLine                noarch               1.17-481.1.el9_6                 rhel-9-for-x86_64-appstream-rpms                19 k

(省略)

インストール済み:
  lm_sensors-libs-3.6.0-10.el9.x86_64        net-snmp-1:5.9.1-17.el9.x86_64                   net-snmp-agent-libs-1:5.9.1-17.el9.x86_64
  net-snmp-utils-1:5.9.1-17.el9.x86_64       perl-Term-ReadLine-1.17-481.1.el9_6.noarch

完了しました!

確認

# rpm -qa | grep net-snmp

以下のように表示されればOK。

net-snmp-5.9.3-13.el9.x86_64
net-snmp-utils-5.9.3-13.el9.x86_64
[root@localhost ~]# rpm -qa | grep net-snmp
net-snmp-libs-5.9.1-17.el9.x86_64
net-snmp-agent-libs-5.9.1-17.el9.x86_64
net-snmp-5.9.1-17.el9.x86_64
net-snmp-utils-5.9.1-17.el9.x86_64
[root@localhost ~]#

3. Ciscoスイッチ側のSNMP設定(SNMPv2c)

以下を参照してCiscoスイッチ側のSNMP設定を行う

【RHEL9】SNMPサーバを構築してCiscoスイッチを監視する
– 3. Cisco C2960LのSNMP設定
https://www.kyororo.com/2025/05/11/%e3%80%90oracle-linux9%e3%80%91snmp%e3%82%b5%e3%83%bc%e3%83%90%e3%82%92%e6%a7%8b%e7%af%89%e3%81%97%e3%81%a6cisco%e3%82%b9%e3%82%a4%e3%83%83%e3%83%81%e3%82%92%e7%9b%a3%e8%a6%96%e3%81%99%e3%82%8b/

ポイント

  • public はコミュニティ名(Zabbix側で同じものを設定する必要あり)
  • RO は読み取り専用(安全のため、書き込みは不要)
  • コミュニティ名は実運用では public ではなく固有の文字列に変更すること

4. SNMP疎通確認

Zabbixサーバからスイッチに対してSNMPで情報が取れるかを確認する。
# snmpwalk -v2c -c public (CiscoスイッチのIPアドレス) system

出力例

SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C2960L Software (C2960L-UNIVERSALK9-M), Version 15.2(6)E1, RELEASE SOFTWARE (fc4)
[root@localhost ~]# snmpwalk -v2c -c public 192.168.11.100 system
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, C2960L Software (C2960L-UNIVERSALK9-M), Version 15.2(6)E1, RELEASE SOFTWARE (fc4)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2018 by Cisco Systems, Inc.
Compiled Tue 06-Mar-18 06:49 by prod_rel_team
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.2363
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2777712283) 321 days, 11:52:02.83
SNMPv2-MIB::sysContact.0 = STRING:

(省略)

このように Cisco IOS Software が返ればSNMP疎通成功。


5. Zabbix Web画面での設定

(1) ホスト登録

データ収集→ 画面右上からホストの作成 → 新しいホストの作成

    以下を設定

      項目設定内容
      ホスト名Switch-01
      表示名Switch-01
      テンプレートCisco IOS by SNMP
      ホストグループDiscovered hosts
      インターフェースSNMP

      インターフェイスのSNMPは以下の設定を行う

      項目設定内容
      SNMPSwitchのIPアドレス
      SNMPバージョンSwitch上に設定したSNMPのバージョン
      SNMPコミュニティSwitch上に設定したコミュニティ名

      テンプレートはTemplates/Network devicesから「Cisco IOS by SNMP」を追加する。
      Zabbix標準テンプレートで、Cisco系デバイスを自動認識してくれる。

      (2) 自動ディスカバリを待つ

      テンプレートを適用して数分経つと、各ポートが自動登録される。
      インターフェーストラフィック、エラーカウンタ、リンク状態などが取得されるようになる。


      6. 監視できる主な項目

      カテゴリ内容
      CPU使用率.1.3.6.1.4.1.9.2.1.58.0
      メモリ使用率.1.3.6.1.4.1.9.2.1.8.0
      インターフェース状態up/down、エラー数
      トラフィック量各ポートのin/out bps
      温度・電源情報一部モデルで取得可能

      7. まとめ

      ZabbixでCiscoスイッチを監視する流れはシンプルだ。

      1. net-snmp をZabbixサーバに導入
      2. CiscoスイッチでSNMPを有効化
      3. snmpwalk で疎通確認
      4. Zabbixでホスト追加&テンプレート適用

      これだけで、トラフィック量・CPU・ポート状態などを自動で可視化できる。
      SNMPv3を使えばセキュリティも確保できるので、本番環境ではこちらを推奨。

      Comments

      No comments yet. Why don’t you start the discussion?

      Leave a Reply

      Your email address will not be published. Required fields are marked *