【SolarWinds Hybrid Cloud Observability 完全セットアップマニュアル】その8. NCMでNW機器の正常性監視を自動化する②

文:ジュピターテクノロジー 山端

前回の 【SolarWinds Hybrid Cloud Observability 完全セットアップマニュアル】その7. NCMでNW機器の正常性監視を自動化する① はご覧いただけたでしょうか?本記事は、前回からの続きとなりますので、まだ読んでいない方は必ずご覧ください。

本記事でご紹介するSolarWinds Network Configuration Manager (以下、NCM) の設定手順は、以下の通りです。

  1. コンフィグダウンロードジョブ設定
  2. アラートとアラートアクション設定

※本記事に記載の手順および画像はSolarWinds Hybrid Cloud Observability (以下、HCO) 2024.1.0に準拠します。
お使いのバージョンによっては一部表記が異なる場合がございます。

コンフィグダウンロードジョブ設定

前回の記事で設定したコンフィグタイプ「Logging」を使用するジョブを設定します。
上部メニューの「マイダッシュボード」>「ネットワーク設定」>「ジョブ」をクリック。

図1-1. マイダッシュボードメニュー

「ジョブリスト」画面で「新しいジョブを作成」をクリック。

図1-2. ジョブリスト画面

任意の「ジョブ名」を入力します。
「ジョブタイプ」のプルダウンメニューから「デバイスからコンフィグをダウンロード」を選択します。任意のスケジュールを設定し「次へ」をクリック。

図1-3. ジョブ設定

「利用可能なノード」ペインからジョブを実行するノードを選択して「追加」をクリック。

図1-4. ノード選択①

「選択されたノード」ペインにノードが追加されたことを確認して「次へ」をクリック。
※ここでは前回の記事で作成したデバイステンプレートを割り当てているノードを選択します。それ以外のノードを選択した場合はエラーとなります。

1-5. ノード選択

今回は通知の詳細設定は行わないので「次へ」をクリック。

図1-6. 通知の詳細を入力

前回の記事で作成したコンフィグタイプ「Logging」にチェックを入れて「次へ」をクリック。

図1-7. ジョブの具体的詳細を追加

設定内容のプレビューを確認し「終了」をクリック。

図1-8. レビュー

これでCisco機器からshow loggingコマンドのログを自動取得するジョブが作成できました。
動作を確認する場合は、「ジョブリスト」画面でジョブ名にチェックを入れて「ジョブの開始」をクリック。ジョブが終了するまで待機します。

図1-9. ジョブの手動実行

取得したログを確認するには、上部メニューの「マイダッシュボード」>「ネットワーク設定」>「コンフィグ管理」をクリック。

図1-10. マイダッシュボードメニュー

「設定管理」タブで実行したノード名の右側の▷をクリックして展開します。
ジョブが実行できていれば下記の図1-11のように「Logging」の取得データが表示されます。

図1-11. コンフィグ管理

実行日時をクリックすると取得したログの詳細を確認できます。

図1-12. コンフィグ詳細

アラートとアラートアクション設定

続いて、先ほどのジョブで取得したログが特定の文字列を含む/含まない場合にトリガーするアラートを作成します。
上部メニューの「アラートとアクティビティ」>「アラート」をクリック。

図2-1. アラートと
アクティビティメニュー

「アラートの管理」をクリック。

図2-2. すべてのアクティブアラート画面

「新しいアラートの追加」をクリック。

図2-3. アラートの管理画面

「アラート定義の名前」「アラートの評価頻度」「重大度」などを設定し「次へ」をクリック。

図2-4. アラートプロパティ

続いて「トリガー条件」を設定していきます。
HCOの標準的なアラートではプルダウンメニューから項目を選択していくだけで条件を設定することができますが、今回作成するアラートではSQLクエリを使用して条件を設定します。

「アラート作成対象」のプルダウンメニューから「カスタムSQLアラート (高度)」を選択。
「SQL条件を設定」のプルダウンメニューから「Node」を選択。条件に対応するSELECT, FROM文が自動で設定されます。

図2-5. トリガー条件①

FROM以下のフィールドに下記のWHEREで始まる条件文をどちらか入力します。
<コンフィグタイプ名>には監視対象のログを取得するコンフィグタイプ名、<検出対象の文字列>には任意の文字列を入力してください。

●特定の文字列を含む場合にトリガーする条件文:

WHERE Nodes.NodeID IN (

	SELECT x2.NodeID
	FROM (
		SELECT *
		FROM (
			SELECT
				N.NodeID,
				NCMConfig.DownloadTime,
				NCMConfig.ConfigType,
				NCMConfig.Config,
				ROW_NUMBER() OVER(PARTITION BY NCMConfig.NodeID ORDER BY DownloadTime DESC) AS rn
			FROM [SolarWindsOrion].[dbo].[NCM_ConfigArchive] NCMConfig
			JOIN [SolarWindsOrion].[dbo].[NCM_Nodes] NCMNodes ON NCMConfig.NodeID = NCMNodes.NodeID
			JOIN [SolarWindsOrion].[dbo].[Nodes] N ON N.NodeID = NCMNodes.CoreNodeID
			WHERE NCMConfig.ConfigType = '<コンフィグタイプ名>'
		) AS x
		WHERE x.rn = 1
	) AS x2
	WHERE x2.Config like '%<検出対象の文字列>%'
)

●特定の文字列を含まない場合にトリガーする条件文:

WHERE Nodes.NodeID IN (

	SELECT x2.NodeID
	FROM (
		SELECT *
		FROM (
			SELECT
				N.NodeID,
				NCMConfig.DownloadTime,
				NCMConfig.ConfigType,
				NCMConfig.Config,
				ROW_NUMBER() OVER(PARTITION BY NCMConfig.NodeID ORDER BY DownloadTime DESC) AS rn
			FROM [SolarWindsOrion].[dbo].[NCM_ConfigArchive] NCMConfig
			JOIN [SolarWindsOrion].[dbo].[NCM_Nodes] NCMNodes ON NCMConfig.NodeID = NCMNodes.NodeID
			JOIN [SolarWindsOrion].[dbo].[Nodes] N ON N.NodeID = NCMNodes.CoreNodeID
			WHERE NCMConfig.ConfigType = '<コンフィグタイプ名>'
		) AS x
		WHERE x.rn = 1
	) AS x2
	WHERE x2.Config not like '%<検出対象の文字列>%'
)
図2-6. トリガー条件②

このクエリは、例えば次のようなSyslogメッセージの検知に使用できます。

1. %LINK-3-UPDOWN: Interface <interface>, changed state to down
   – インターフェイスがダウン
2. %LINEPROTO-5-UPDOWN: Line protocol on Interface <interface>, changed state to down
   – インターフェイスのラインプロトコルがダウン
3. %SYS-2-MALLOCFAIL: Memory allocation of <size> bytes failed from <module>
   – メモリの割り当てに失敗
4. %SYS-3-CPUHOG: Task ran for <time> msecs
   – 特定のタスクがCPUを過度に使用
5. %LINK-5-CHANGED: Interface <interface>, changed state to administratively down
   – インターフェイスが管理的にダウンに変化

クエリ入力後にフィールド下部の「検証」をクリックしてクエリが有効であることを確認し「次へ」をクリック。

リセット条件は、今回は「トリガー条件が真でなくなったときにこのアラートをリセット(推奨)」を選択します。「次へ」をクリック。

図2-7. リセット条件

今回はスケジュールを設定しないので、「アラートは常に有効です。」を選択して「次へ」をクリック。

図2-8. 時刻設定

続いて通知に使用するトリガーアクションを設定します。
今回は「NetPerfMonイベントログにアラートを記録」、「電子メール/ページを送信」の2つを設定します。「アクションを追加」をクリック。

図2-9. トリガーアクション①

「NetPerfMonイベントログにアラートを記録」を選択して「アクションを設定」をクリック。

図2-10. アクションを追加:NPMイベントログ

任意の「アクション名」を入力します。
「NetPerfMonイベントログにアラートを記録の設定」のフィールドに、Webコンソール上で表示したいメッセージを入力します。今回は変数を使用してアラート名と対象のノード名を表示するテキストを入力しています。「アクションを追加」をクリックするとトリガーアクションとして設定されます。

図2-11. アクションを設定:NPMイベントログ

先程と同様に「アクションを追加」をクリックし、「電子メール/ページを送信」を選択して「アクションを設定」をクリック。

図2-12. アクションを追加:電子メール/ページを送信

任意の「アクション名」を入力し、宛先メールアドレス、SMTPサーバーを設定します。
今回はメールの件名とメッセージはデフォルトのものを使用します。「アクションを追加」をクリックするとトリガーアクションとして設定されます。

図2-13. アクションを設定:電子メール/ページを送信

2つのアクションが画面に追加されていることを確認し「次へ」をクリック。

図2-14. トリガーアクション②

今回はリセットアクションを設定しないのでそのまま「次へ」をクリック。

図2-15. リセットアクション

サマリーを確認し、設定内容に問題がなければ「送信」をクリック。
これで、show Loggingの実行結果から特定の文字列の有無を検知するアラートの設定が終了しました。アラートの発報はWebコンソール上のメッセージとメール通知で確認することができます。

図2-16. アラート設定のサマリー

本記事ではshow loggingの設定例をご紹介しましたが、これを応用してその他のshow系コマンドで監視することも可能です。ご使用の環境でぜひお試しください。

最後に

今回はNCMでNW機器の正常性監視を自動化する方法をご紹介しました。
SolarWinds 製品にご興味のある方は、以下のリンクから弊社までお問い合わせください。

こんな記事も読まれています

最新記事

おすすめ記事

  1. 特権アカウント管理の方法:パスワードを通知するか隠すか / 操作記録は必要か [PAM/PASM]

  2. ntop Deep Packet Inspection(nDPI)未登録プロトコル設定

  3. WinSyslog使い方ガイド#1送信元デバイスや月ごとにフォルダを自動分割する

製品カテゴリー

JTC IT用語集
TOP