この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、Secure Web Appliance(SWA)のSimple Network Monitoring Protocol(SNMP)をトラブルシューティングする手順について説明します。
次の項目に関する知識があることが推奨されます。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
SNMPはアプリケーション層の通信プロトコルであり、ネットワークデバイスはこれらのシステム間で、およびネットワーク外の他のデバイスと管理情報を交換できます。
ネットワーク管理者は、SNMPを使用して、ネットワークのパフォーマンスを管理し、ネットワークの問題を検出して解決し、ネットワークの拡張を計画できます。
SNMPは、ネットワーク監視のコスト効率を高め、ネットワークの信頼性を向上させます。 (SNMPの詳細については、RFC 1065、1066、および1067を参照してください)。
SNMPによって管理されるネットワークは、マネージャ、エージェント、および管理対象デバイスで構成されます。
エージェントが各管理対象デバイスに常駐すると、ソフトウェア・トラップで捕捉されたローカルの管理情報データ(パフォーマンス情報やイベントおよびエラー情報など)が、管理システムで読み取り可能な形式に変換されます。
SNMPエージェントは、Management Information Base(MIB;管理情報ベース)(デバイスパラメータおよびネットワークデータリポジトリ)、またはerrorトラップやchangeトラップからデータをキャプチャします。
MIBは、SNMPネットワーク要素をデータオブジェクトのリストとして記述するデータ構造です。SNMPマネージャは、ネットワーク内の機器タイプごとにMIBファイルをコンパイルして、SNMPデバイスを監視する必要があります。
マネージャとエージェントは、MIBと比較的小規模なコマンドセットを使用して情報を交換します。MIBは、個々の変数がブランチのリーフとして表されるツリー構造で構成されています。
長い数字のタグまたはオブジェクトID(OID)は、MIBおよびSNMPメッセージ内の各変数を一意に区別するために使用されます。MIBは、各OIDを読み取り可能なラベルおよびオブジェクトに関連するその他のさまざまなパラメータに関連付けます。MIBは、SNMPメッセージのアセンブルと解釈に使用されるデータディクショナリまたはコードブックとして機能します。
SNMPマネージャは、アラームポイントの状態、システム名、要素の稼働時間などのオブジェクトの値を知る必要がある場合、対象の各オブジェクトのOIDを含むGETパケットを組み立てます。要素は要求を受信し、コードブック(MIB)内の各OIDを検索します。 OIDが見つかった場合(オブジェクトが要素によって管理されている場合)、応答パケットが構成され、オブジェクトの現在の値が含まれた状態で送信されます。OIDが見つからない場合は、管理されていないオブジェクトを特定する特殊なエラー応答が送信されます。
SNMP トラップを使用すると、エージェントは非送信請求 SNMP メッセージを使用して管理ステーションに重要なイベントを通知できます。SNMPv1とSNMPv2cは、関連するMIBとともに、トラップによる通知を促します。
トラップで指示される通知には、以下の狙いがあります。マネージャが多数のデバイスを管理する必要があり、各デバイスに多数のオブジェクトがある場合に、すべてのデバイスのすべてのオブジェクトに情報をポーリングまたは要求することは非現実的です。
ソリューションは、送信要求を行わずに、管理対象デバイス上のエージェントごとにマネージャに通知することです。これは、イベントトラップと呼ばれるメッセージを送信することで行われます。
イベントの受信後、マネージャはイベントを表示し、イベントに基づくアクションの実行を選択できます。たとえば、マネージャはエージェントを直接ポーリングしたり、関連する他のデバイスエージェントをポーリングしてイベントをより良く理解したりできます。
トラップによる通知を使用すると、軽微なSNMP要求が不要になるため、ネットワークとエージェントのリソースを大幅に節約できます。ただし、SNMPポーリングを完全に排除することはできません。
SNMP 要求は、検出とトポロジ変更に必要です。また、管理対象デバイス エージェントは、デバイスに致命的な停止が生じた場合にはトラップを送信できません。
SNMPv1 トラップは RFC 1157 で定義されており、次のフィールドが有効です。
Enterprise:トラップを生成する管理対象オブジェクトのタイプを識別します。
Agent address:トラップを生成する管理対象オブジェクトのアドレスを示します。
Generic trap type:標準トラップタイプの番号の1つを示します。
Specific trap code:固有のトラップコードの番号の1つを示しています。
Time stamp:最後のネットワーク再初期化からトラップの生成までの経過時間を示しています。
Variable bindings:PDUを含むトラップのデータフィールド。個々の変数バインドでは、特定の MIB オブジェクト インスタンスとその現在の値が関連付けられます。
SNMPv3は、各SNMPエンティティを一意に識別するSNMPエンジンID識別子をサポートします。2つのSNMPエンティティのEngineIDが重複していると、競合が発生する可能性があります。
EngineIDは、認証されたメッセージのキーを生成するために使用されます。(SNMPv3の詳細については、RFC 2571 ~ 2575を参照してください)。
多くのSNMP製品は、SNMPv3でも基本的に同じですが、次の新機能によって強化されています。
SNMPv3セキュリティモデルには、主に認証と暗号化の2つの形式があります。
SNMPグループには、次の3つのセキュリティレベルがあります。
AsyncOSオペレーティングシステムでは、viaSNMPによるシステムステータスの監視がサポートされています。
注:
SNMPisoffbyデフォルト。
SNMPSET操作(設定)は実装されていません。
AsyncOSはSNMPv1、v2、およびv3をサポートします。
SNMPv3を有効にする場合、メッセージの認証と暗号化は必須です。認証と暗号化のパスフレーズは異なっている必要があります。
暗号化アルゴリズムには、AES(推奨)またはDESを使用できます。
認証アルゴリズムには、SHA-1(推奨)またはMD5を使用できます。
nmpconfigコマンドは、次にコマンドを実行するときにパスフレーズを「記憶」します。
15.0より前のAsyncOSリリースの場合、SNMPv3ユーザ名はv3getです。
onlySNMPv1またはSNMPv2を使用する場合は、コミュニティストリングを設定する必要があります。コミュニティストリングのデフォルトはpublicではありません。
SNMPv1およびSNMPv2では、SNMPGET要求を受け入れるネットワークを指定する必要があります。
トラップを使用するには、SNMPmanager(AsyncOSには含まれない)が実行されており、トラップターゲットとして入力されたIPアドレスが必要です。
注:ホスト名は使用できますが、使用した場合、トラップはDNSが機能しているときにだけ機能します。
アプライアンスのシステムステータス情報を収集するようにSNMPを設定するには、CLIでthesnmpconfigコマンドを使用します。インターフェイスの値を選択して設定すると、アプライアンスはSNMPv3 GET要求に応答します。
SNMPを使用する場合は、次の点を考慮してください。
SWA_CLI> snmpconfig
Current SNMP settings:
SNMP Disabled.
Choose the operation you want to perform:
- SETUP - Configure SNMP.
[]> SETUP
Do you want to enable SNMP? [Y]> Y
Please choose an IP interface for SNMP requests.
1. Management (10.48.48.184/24 on Management: wsa125to15-man.amojarra.calo)
2. P1 (192.168.13.184/24 on P1: wsa1255p1.amojarra.calo)
3. P2 (192.168.133.184/24 on P2: wsa1255p2.amojarra.calo)
[1]> 1
Which port shall the SNMP daemon listen on?
[161]> 161
Please select SNMPv3 authentication type:
1. MD5
2. SHA
[1]> 2
Please select SNMPv3 privacy protocol:
1. DES
2. AES
[1]> 2
Enter the SNMPv3 username or press return to leave it unchanged.
[v3get]> SNMPMUser
Enter the SNMPv3 authentication passphrase.
[]>
Please enter the SNMPv3 authentication passphrase again to confirm.
[]>
Enter the SNMPv3 privacy passphrase.
[]>
Please enter the SNMPv3 privacy passphrase again to confirm.
[]>
Service SNMP V1/V2c requests? [N]> N
Enter the Trap target as a host name, IP address or list of IP addresses
separated by commas (IP address preferred). Enter "None" to disable traps.
[10.48.48.192]>
Enter the Trap Community string.
[ironport]> swa_community
Enterprise Trap Status
1. CPUUtilizationExceeded Enabled
2. FIPSModeDisableFailure Enabled
3. FIPSModeEnableFailure Enabled
4. FailoverHealthy Enabled
5. FailoverUnhealthy Enabled
6. connectivityFailure Disabled
7. keyExpiration Enabled
8. linkUpDown Enabled
9. memoryUtilizationExceeded Enabled
10. updateFailure Enabled
11. upstreamProxyFailure Enabled
Do you want to change any of these settings? [N]> Y
Do you want to disable any of these traps? [Y]> N
Do you want to enable any of these traps? [Y]> Y
Enter number or numbers of traps to enable. Separate multiple numbers with
commas.
[]> 6
Please enter the URL to check for connectivity failure, followed by the
checking interval in seconds, separated by a comma:
[http://downloads.ironport.com,5]>
Enterprise Trap Status
1. CPUUtilizationExceeded Enabled
2. FIPSModeDisableFailure Enabled
3. FIPSModeEnableFailure Enabled
4. FailoverHealthy Enabled
5. FailoverUnhealthy Enabled
6. connectivityFailure Enabled
7. keyExpiration Enabled
8. linkUpDown Enabled
9. memoryUtilizationExceeded Enabled
10. updateFailure Enabled
11. upstreamProxyFailure Enabled
Do you want to change any of these settings? [N]>
Enter the System Location string.
[location]>
Enter the System Contact string.
[snmp@localhost]>
Current SNMP settings:
Listening on interface "Management" 10.48.48.184/24 port 161.
SNMP v3: Enabled.
SNMP v3 UserName: SNMPMUser
SNMP v3 Authentication type: SHA
SNMP v3 Privacy protocol: AES
SNMP v1/v2: Disabled.
Trap target: 10.48.48.192
Location: location
System Contact: snmp@localhost
Choose the operation you want to perform:
- SETUP - Configure SNMP.
[]>
SWA_CLI> commit
MIBファイルは次のURLから入手できます。
各MIBファイルの最新バージョンを使用します。
複数のMIBファイルがあります。
asyncoswebsecurityappliance-mib.txtは、Enterprise MIB forSecure Web AppliancesのSNMPv2互換の説明です。
ASYNCOS-MAIL-MIB.txtは、Eメールセキュリティアプライアンス用のエンタープライズMIBに関するSNMPv2互換の説明です。
IRONPORT-SMI.txt:この「Structure of Management Information」ファイルでは、asyncoswebsecurityappliance-mibの役割を定義します。
このリリースでは、RFC 1213および1907で定義されているMIB-IIの読み取り専用サブセットが実装されています。
SNMPを使用したアプライアンスでのCPU使用率のモニタリングの詳細については、「SNMPを使用したWSAアプライアンスでのCPU使用率のモニタリング」を参照してください。
SNMPは、1つ以上の条件が満たされた場合に管理アプリケーションに通知するために、トラップまたは通知を送信する機能を提供します。
トラップは、トラップを送信するシステムのコンポーネントに関連するデータを含むネットワークパケットです。
トラップは、SNMPagent(この場合はCiscoSecure Web Appliance)で条件が満たされると生成されます。 条件が満たされると、SNMPagentはSNMPパケットを形成し、SNMPmanagementコンソールソフトウェアを実行しているホストに送信します。
インターフェイスに対してSNMPをイネーブルにすると、SNMPtrapsを設定(特定のトラップをイネーブルまたはディセーブル)できます。
注:複数のトラップターゲットを指定するには:トラップターゲットの入力を求められたときに、最大10個のIPアドレスをカンマで区切って入力できます。
connectivityFailure トラップの目的は、インターネットへのアプライアンス接続を監視することです。これは、5 ~ 7秒ごとに1つの外部サーバにHTTP GET要求を接続して送信することで行われます。デフォルトでは、モニタされるURLはポート80のdownloads.ironport.comです。
監視対象のURLまたはポートを変更するには、snmpconfigコマンドを実行し、すでに有効になっている場合でもconnectivityFailureトラップを有効にします。URLを変更するためのプロンプトが表示されます。
ヒント:connectivityFailure トラップをシミュレートするには、dnsconfig CLIコマンドを使用して、機能していないDNSサーバに入ります。downloads.ironport.comのルックアップが失敗し、トラップが5 ~ 7秒ごとに送信されます。テストが終了したら、必ずDNSサーバを稼働中のサーバに戻してください。
次のリストは、モニタに推奨されるMIBのリストであり、完全なリストではありません。
ハードウェアOID | [名前(Name)] |
1.3.6.1.4.1.15497.1.1.1.18.1.3 | raidID |
1.3.6.1.4.1.15497.1.1.1.18.1.2 | raidステータス |
1.3.6.1.4.1.15497.1.1.1.18.1.4 | raidLastError |
1.3.6.1.4.1.15497.1.1.1.10 | ファンテーブル |
1.3.6.1.4.1.15497.1.1.1.9.1.2 | 摂氏 |
次に、status detailCLIコマンドの出力に直接OIDマップを示します。
OID | [名前(Name)] | Status Detailフィールド |
System Resources | ||
1.3.6.1.4.1.15497.1.1.1.2.0 | perCentCPUtilization | CPU |
1.3.6.1.4.1.15497.1.1.1.1.0 | perCentMemory使用率 | RAM |
1秒あたりのトランザクション | ||
1.3.6.1.4.1.15497.1.2.3.7.1.1.0 | cacheThruputNow | 最後の1分間の1秒あたりの平均トランザクション数です。 |
1.3.6.1.4.1.15497.1.2.3.7.1.2.0 | cacheThruput1hrPeak(ピーク時) | 過去1時間の1秒あたりの最大トランザクション数です。 |
1.3.6.1.4.1.15497.1.2.3.7.1.3.0 | cacheThruput1hrMean(平均) | 過去1時間の1秒あたりの平均トランザクション数です。 |
1.3.6.1.4.1.15497.1.2.3.7.1.8.0 | cacheThruputLifePeak | プロキシ再起動以降の1秒あたりの最大トランザクション数。 |
1.3.6.1.4.1.15497.1.2.3.7.1.9.0 | cacheThruputLifeMean | プロキシ再起動以降の1秒あたりの平均トランザクション数。 |
帯域幅 | ||
1.3.6.1.4.1.15497.1.2.3.7.4.1.0 | cacheBwidthTotalNow | 最後の1分間の平均帯域幅。 |
1.3.6.1.4.1.15497.1.2.3.7.4.2.0 | cacheBwidthTotal1hrPeak | 過去1時間の最大帯域幅。 |
1.3.6.1.4.1.15497.1.2.3.7.4.3.0 | cacheBwidthTotal1hrMean | 過去1時間の平均帯域幅。 |
1.3.6.1.4.1.15497.1.2.3.7.4.8.0 | cacheBwidthTotalLifePeak | プロキシ再起動以降の最大帯域幅。 |
1.3.6.1.4.1.15497.1.2.3.7.4.9.0 | cacheBwidthTotalLifeMean | プロキシ再起動以降の平均帯域幅。 |
応答所要時間 | ||
1.3.6.1.4.1.15497.1.2.3.7.9.1.0 | cacheHitsNow | 過去1分間の平均キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.9.2.0 | cacheHits1hrPeak | 過去1時間の最大キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.9.3.0 | cacheHits1hrMean | 過去1時間の平均キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.9.8.0 | cacheHitsLifePeak | プロキシ再起動後の最大キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.9.9.0 | cacheHitsLifeMean | プロキシ再起動以降の平均キャッシュヒット率。 |
キャッシュヒット率 | ||
1.3.6.1.4.1.15497.1.2.3.7.5.1.0 | cacheHitsNow | 過去1分間の平均キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.5.2.0 | cacheHits1hrPeak | 過去1時間の最大キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.5.3.0 | cacheHits1hrMean | 過去1時間の平均キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.5.8.0 | cacheHitsLifePeak | プロキシ再起動後の最大キャッシュヒット率。 |
1.3.6.1.4.1.15497.1.2.3.7.5.9.0 | cacheHitsLifeMean | プロキシ再起動以降の平均キャッシュヒット率。 |
接続 | ||
1.3.6.1.4.1.15497.1.2.3.2.7.0 | cacheClientIdleConns | アイドル状態のクライアント接続。 |
1.3.6.1.4.1.15497.1.2.3.3.7.0 | cacheServerIdleConns | アイドル状態のサーバ接続 |
1.3.6.1.4.1.15497.1.2.3.2.8.0 | cacheClientTotalConns | クライアント接続の合計です。 |
1.3.6.1.4.1.15497.1.2.3.3.8.0 | cacheServerTotalConns | サーバー接続の合計です。 |
SWAとSNMPマネージャ間の接続を表示するには、パケットをキャプチャするのが最適です。パケットキャプチャフィルタを次のように設定できます(ポート161またはポート162)。
注:このフィルタはデフォルトのSNMPポートが原因です。ポートを変更した場合は、設定したポート番号をパケットキャプチャフィルタに入れてください。
SWAからパケットをキャプチャする手順:
ステップ 1:GUIにログインします。
ステップ 2:右上で、SupportとHelpを選択します。
ステップ 3:Packet Captureを選択します。
ステップ 4:Edit settingsを選択します。
ステップ 5:正しいインターフェイスが選択されていることを確認します。
手順 6:フィルタ条件を入力します。
手順 7:[Submit] を選択します。
ステップ 8: Start Captureを選択します。
ヒント:WiresharkでSNMPv3パケットキャプチャを復号化できます。詳細については、「How-to-decrypt-snmpv3-packets-using-wireshark」を参照してください。
snmpwalkは、複数のGET-NEXT要求を自動的に実行するSNMPアプリケーションに付けられた名前です。SNMP GET-NEXT要求は、有効なデバイスを照会し、デバイスからSNMPデータを取得するために使用されます。snmpwalkコマンドを使用すると、ユーザはサブツリー内の各OIDまたはノードに一意のコマンドを入力しなくてもGET-NEXT要求を連鎖させることができるため、このコマンドが使用されます。
Microsoft Windowsユーザの場合、最初にツールをダウンロードする必要があります。
#For Redhat, Fedora, CentOs:
yum install net-snmp-utils
#For Ubuntu:
apt-get install snmp
デフォルトでは、snmpwalkはMacOSにインストールされます。
SNMP GET要求を生成するには、ネットワーク内にありSWAに接続できる別のコンピュータから、snmpwalkコマンドを使用します。snmpwalkコマンドの例を次に示します。
snmpwalk -v2c -c
snmpwalk -v3 -l authPriv -u v3get -a SHA -A
-x AES -X
注:SWAの設定に応じて、セキュリティレベルをnoAuthNoPrivに設定するか、authNoPrivまたはauthPrivに設定するかを選択できます。
snmptrapは隠しCLIコマンドであり、SWAでSNMPを有効にする必要があります。次の例のように、オブジェクトとトラップを選択して、SNMPトラップを生成できます。
SWA_CLI>snmptrap
1. CPUUtilizationExceeded
2. FIPSModeDisableFailure
3. FIPSModeEnableFailure
4. FailoverHealthy
5. FailoverUnhealthy
6. connectivityFailure
7. keyExpiration
8. linkUpDown
9. memoryUtilizationExceeded
10. updateFailure
11. upstreamProxyFailure
Enter the number of the trap you would like to send.
[]> 8
1. CPUUtilization
2. FIPSApplicationName
3. FailoverApplicationName
4. RAIDEvents
5. RAIDID
6. connectionURL
7. ifIndex
8. ip
9. keyDescription
10. memoryUtilization
11. raidStatus
12. updateServiceName
Enter the number of the object you would like to send.
[]> 8
Enter the trap value.
[]> 10.20.3.15
Enter the user name
[admin]> SNMPuser
Please select Trap Protocol version:
1. 2c
2. 3
[1]> 2
SWAには、SNMPに関連する2つのログがあります。Webプロキシコンポーネントに関連するログの種類の中には有効になっていないものがありますが、次の場所から有効にすることができます。
ログファイルの種類 |
説明 |
Syslogプッシュをサポートしていますか。 |
デフォルトで有効? |
SNMPログ |
SNMPネットワーク管理エンジンに関連するデバッグメッセージを記録します。 |
Yes |
Yes |
SNMPモジュールログ |
SNMP監視システムとの対話に関連するWebプロキシメッセージを記録します。 |
いいえ |
いいえ |
この問題はSNMPプルに関連しています。次に、予期される出力とエラーが発生した出力の2つのサンプルを示します。
Sample Output without Error:
$ snmpwalk -O a -v 3 -M "/var/lib/mibs/" -m "ALL" -l authPriv -a MD5 -x DES -u v3get -A xxx -X xxx proxy 1.3.6.1.4.1.15497.1.1.1.9
iso.3.6.1.4.1.15497.1.1.1.9.1.1.1 = INTEGER: 1
iso.3.6.1.4.1.15497.1.1.1.9.1.2.1 = INTEGER: 22
iso.3.6.1.4.1.15497.1.1.1.9.1.3.1 = STRING: "Ambient"
Sample Output with Error:
$ snmpwalk -O a -v 3 -M "/var/lib/mibs/" -m "ALL" -l authPriv -a MD5 -x DES -u v3get -A xxx -X xxx proxy 1.3.6.1.4.1.15497.1.1.1.9
iso.3.6.1.4.1.15497.1.1.1.9 = No Such Instance currently exists at this OID
snmp_logsでアプリケーション障害を確認できます。
snmp_logsを確認するには、SWA_CLI> grep コマンドを入力し、snmp_logsに関連付けられている番号を選択します。
SWA_CLI> grep
Currently configured logs:
1. "accesslogs" Type: "Access Logs" Retrieval: FTP Poll
2. "adc_logs" Type: "ADC Engine Logs" Retrieval: FTP Poll
...
37. "snmp_logs" Type: "SNMP Logs" Retrieval: FTP Poll
...
Enter the number of the log you wish to grep.
[]> 37
Enter the regular expression to grep.
[]>
Do you want this search to be case insensitive? [Y]>
Do you want to search for non-matching lines? [N]>
Do you want to tail the logs? [N]> y
Do you want to paginate the output? [N]>
改定 | 発行日 | コメント |
---|---|---|
3.0 |
17-Jan-2025 |
文法、スタイル、句読点、一部の書式。 |
2.0 |
25-Jul-2023 |
初版リリース |
1.0 |
07-Jul-2023 |
初版 |