変更要約: 初版
4.3SNMPとSyslog
機器を監視・管理するSNMPのv2c(コミュニティ)とv3(認証・暗号化)の違い、応答不要のトラップと確認応答つきインフォーム、そして機器イベントを記録するSyslogの重大度レベル0〜7(0 emergency 〜 7 debug)とファシリティ、logging trap のレベル指定が「その値以下(より重大)を全て取り込む」意味を、運用要件から判断できるように学びます。
数十〜数百台の機器を人手で見て回ることはできないため、実務ではSNMPで状態を収集し、Syslogでイベントを1か所のログサーバに集約して監視します。CCNAでは、SNMPのバージョンによるセキュリティの差とトラップ/インフォームの違い、Syslogの重大度レベルの序列と logging のレベル指定の意味を、単なる暗記でなく「どのレベルまでログを送るべきか」という運用判断として問われます。
4.3.1SNMPのバージョンとトラップ/インフォーム
- SNMPはNMS(管理側)が各機器のエージェントからMIB(管理情報)を取得(get)/設定(set)し、機器側からの通知も受け取る監視プロトコル。v1/v2cはコミュニティストリング(実質的な平文パスワード)で認証するのみで暗号化がなく、盗聴に弱い。v3は認証(auth)と暗号化(priv)を備え(noAuthNoPriv/authNoPriv/authPriv の3レベル)、機密性が必要な環境ではv3が推奨。
- 機器がイベントをNMSへ知らせる通知には2種類ある:トラップ(trap)は送りっぱなしで確認応答を待たない(軽量だが途中で失われても再送されない)。インフォーム(inform)はNMSからの確認応答(ack)を待ち、届かなければ再送する(信頼性が高いがトラフィックは増える。v2c以降)。確実に届けたい重要通知はinform、軽量重視はtrapと使い分ける。
4.3.2Syslogの重大度レベルとファシリティ
- Syslogは機器のイベントを重大度つきで記録・送信する仕組み。重大度レベルは0が最も重大、7が最も軽微の8段階:0 Emergency/1 Alert/2 Critical/3 Error/4 Warning/5 Notification/6 Informational/7 Debugging(語呂:Every Awesome Cisco Engineer Will Need Icecream Daily)。数字が小さいほど深刻という向きを取り違えない。
logging trap <レベル>などでレベルを指定すると、指定した値と、それより重大(数字が小さい)すべてが対象になる。例:logging trap 4(warnings)は0〜4(emergency〜warning)を送り、5〜7は送らない。logging trap 7(debugging)は全レベルを送るため、平時の常用は情報過多になりやすい。ログの出力先はコンソール/VTY(monitor)/内部バッファ(buffered)/外部Syslogサーバ(logging host <IP>)を選べる。- メッセージ形式は
%FACILITY-SEVERITY-MNEMONIC: 説明文(例:%LINK-3-UPDOWN)。ファシリティはメッセージを出した機能・サブシステムの分類(LINK/OSPF/SYS 等)で、真ん中の数字がその重大度レベル。
「Syslog重大度は0 emergencyが最重大〜7 debuggingが最軽微/数字が小さいほど深刻」「logging trap Nは0〜Nを取り込む」「SNMP v2cはコミュニティで平文・v3は認証+暗号化」「trap=確認応答なし・inform=確認応答あり(再送)」が最頻出です。「debug情報まで欲しい=レベル7」「重大な障害だけ=レベル低め」のように要件からレベルを選ぶ練習をしましょう。
あなたはネットワーク監視の運用設計担当で、全ルータ/スイッチのログを1台のSyslogサーバへ集約しようとしています。まず送信先を logging host 10.10.1.20 で指定しますが、次に決めるべきは「どの重大度レベルまでサーバへ送るか」です。ここで logging trap 7(debugging)を選ぶと、リンクの微細な状態変化やデバッグ情報まで全レベルが送られ、平常時からSyslogサーバが大量のメッセージで溢れ、本当に対応が必要な重大イベントが埋もれてしまいます。逆に運用要件が「まずは障害・警告レベルを確実に拾い、情報/デバッグの雑音は抑えたい」であれば logging trap 4(warnings)が妥当で、これは0(emergency)〜4(warning)を送り、5〜7を送りません。ここで「レベル4を指定したのだからレベル4だけが送られる」と誤解しないことが肝心です——Syslogのレベル指定は「その値以下(より重大な側)を全部含む」しきい値であり、logging trap 4 は emergency/alert/critical/error/warning の5段階すべてを対象にします。もし後日、特定機能の詳細な挙動を一時的に追う必要が出たら、その調査期間だけ logging trap 7 に上げて debug まで拾い、終わったら元のレベルへ戻す——という要件に応じたレベルの上げ下げが実務判断です。加えて、Syslogメッセージの時刻がバラバラだと相関分析ができないため、全機器をntp serverで時刻同期させておくことが前提になります。
| レベル | 名称 | 意味 | logging trap 指定時の含意 |
|---|---|---|---|
| 0 | Emergency(緊急) | システム利用不能 | 最重大。どのレベル指定でも常に含まれる |
| 1 | Alert(警報) | 即時対応が必要 | level 1以上の指定で含まれる |
| 2 | Critical(重大) | 重大な状態 | level 2以上で含まれる |
| 3 | Error(エラー) | エラー状態 | level 3以上で含まれる |
| 4 | Warning(警告) | 警告状態 | level 4指定=0〜4を送信 |
| 5 | Notification(通知) | 正常だが注目すべき事象 | level 5以上で含まれる |
| 6 | Informational(情報) | 情報メッセージ | level 6以上で含まれる |
| 7 | Debugging(デバッグ) | デバッグ用詳細 | level 7指定=全レベル(最も冗長) |
ひっかけ: 「Syslogは重大度の数字が大きいほど深刻な障害を表す」は誤りです——0(Emergency)が最も重大で、7(Debugging)が最も軽微です。また「logging trap 4 を設定すると重大度4のメッセージだけが送られる」も誤り=レベル指定はしきい値であり、logging trap 4 は0〜4(emergency〜warning)すべてを送ります。さらに「SNMP v2cは暗号化されているので機密環境でも安全」も誤り=v2cはコミュニティストリングによる平文で、暗号化を伴うのはv3です。
4.3.3この節のまとめ
- SNMP v1/v2cはコミュニティの平文認証で暗号化なし、v3は認証+暗号化。通知はtrap=確認応答なし/inform=確認応答あり(再送)
- Syslog重大度は0 Emergency(最重大)〜7 Debugging(最軽微)/数字が小さいほど深刻(語呂:Every Awesome Cisco Engineer Will Need Icecream Daily)
logging trap Nは0〜Nを取り込むしきい値(N=4なら0〜4)。要件に応じてレベルを上げ下げする(debugまで=7・重大のみ=低め)
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. すべてのルータ/スイッチのログをSyslogサーバへ集約する運用で、「障害・警告レベルは確実に収集しつつ、情報・デバッグの大量メッセージは平常時に送りたくない」という要件がある。`logging trap` に指定するレベルとして最も適切なものはどれか。
Q2. Syslogメッセージ `%LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down` を受信した。このメッセージの重大度に関する説明として最も適切なものはどれか。
Q3. 金融機関のネットワークで、機器の監視情報が経路上で盗聴されるリスクを抑えたい。また、重要な障害通知は取りこぼしなく確実に監視サーバへ届けたい。SNMPの構成として最も適切なものはどれか。

