文:ジュピターテクノロジー 山端
前回の 【SolarWinds Hybrid Cloud Observability 完全セットアップマニュアル】その7. NCMでNW機器の正常性監視を自動化する① はご覧いただけたでしょうか?本記事は、前回からの続きとなりますので、まだ読んでいない方は必ずご覧ください。
本記事でご紹介するSolarWinds Network Configuration Manager (以下、NCM) の設定手順は、以下の通りです。
- コンフィグダウンロードジョブ設定
- アラートとアラートアクション設定
※本記事に記載の手順および画像はSolarWinds Hybrid Cloud Observability (以下、HCO) 2024.1.0に準拠します。
お使いのバージョンによっては一部表記が異なる場合がございます。
コンフィグダウンロードジョブ設定
前回の記事で設定したコンフィグタイプ「Logging」を使用するジョブを設定します。
上部メニューの「マイダッシュボード」>「ネットワーク設定」>「ジョブ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/1-1.png?resize=337%2C658&ssl=1)
「ジョブリスト」画面で「新しいジョブを作成」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/2-1.png?resize=874%2C156&ssl=1)
任意の「ジョブ名」を入力します。
「ジョブタイプ」のプルダウンメニューから「デバイスからコンフィグをダウンロード」を選択します。任意のスケジュールを設定し「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/3.png?resize=634%2C450&ssl=1)
「利用可能なノード」ペインからジョブを実行するノードを選択して「追加」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/4-1.png?resize=652%2C722&ssl=1)
「選択されたノード」ペインにノードが追加されたことを確認して「次へ」をクリック。
※ここでは前回の記事で作成したデバイステンプレートを割り当てているノードを選択します。それ以外のノードを選択した場合はエラーとなります。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/5-1.png?resize=649%2C748&ssl=1)
図1-5. ノード選択②
今回は通知の詳細設定は行わないので「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/6-1.png?resize=628%2C245&ssl=1)
前回の記事で作成したコンフィグタイプ「Logging」にチェックを入れて「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/7.png?resize=924%2C318&ssl=1)
設定内容のプレビューを確認し「終了」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/8-1-1024x296.png?resize=1024%2C296&ssl=1)
これでCisco機器からshow loggingコマンドのログを自動取得するジョブが作成できました。
動作を確認する場合は、「ジョブリスト」画面でジョブ名にチェックを入れて「ジョブの開始」をクリック。ジョブが終了するまで待機します。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/9.png?resize=869%2C155&ssl=1)
取得したログを確認するには、上部メニューの「マイダッシュボード」>「ネットワーク設定」>「コンフィグ管理」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/10-1.png?resize=332%2C663&ssl=1)
「設定管理」タブで実行したノード名の右側の▷をクリックして展開します。
ジョブが実行できていれば下記の図1-11のように「Logging」の取得データが表示されます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/11-1024x362.png?resize=1024%2C362&ssl=1)
実行日時をクリックすると取得したログの詳細を確認できます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/12-1-1024x810.png?resize=1024%2C810&ssl=1)
アラートとアラートアクション設定
続いて、先ほどのジョブで取得したログが特定の文字列を含む/含まない場合にトリガーするアラートを作成します。
上部メニューの「アラートとアクティビティ」>「アラート」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/13-1.png?resize=160%2C247&ssl=1)
アクティビティメニュー
「アラートの管理」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/14-1-1024x211.png?resize=1024%2C211&ssl=1)
「新しいアラートの追加」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/15.png?resize=735%2C279&ssl=1)
「アラート定義の名前」「アラートの評価頻度」「重大度」などを設定し「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/16-1-1024x639.png?resize=1024%2C639&ssl=1)
続いて「トリガー条件」を設定していきます。
HCOの標準的なアラートではプルダウンメニューから項目を選択していくだけで条件を設定することができますが、今回作成するアラートではSQLクエリを使用して条件を設定します。
「アラート作成対象」のプルダウンメニューから「カスタムSQLアラート (高度)」を選択。
「SQL条件を設定」のプルダウンメニューから「Node」を選択。条件に対応するSELECT, FROM文が自動で設定されます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/17-1.png?resize=860%2C304&ssl=1)
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 '%<検出対象の文字列>%'
)
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/スクリーンショット-2024-06-07-170209.png?resize=778%2C467&ssl=1)
このクエリは、例えば次のような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
– インターフェイスが管理的にダウンに変化
クエリ入力後にフィールド下部の「検証」をクリックしてクエリが有効であることを確認し「次へ」をクリック。
リセット条件は、今回は「トリガー条件が真でなくなったときにこのアラートをリセット(推奨)」を選択します。「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/18.png?resize=617%2C337&ssl=1)
今回はスケジュールを設定しないので、「アラートは常に有効です。」を選択して「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/19.png?resize=476%2C269&ssl=1)
続いて通知に使用するトリガーアクションを設定します。
今回は「NetPerfMonイベントログにアラートを記録」、「電子メール/ページを送信」の2つを設定します。「アクションを追加」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/20-1024x449.png?resize=1024%2C449&ssl=1)
「NetPerfMonイベントログにアラートを記録」を選択して「アクションを設定」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/21.png?resize=984%2C1003&ssl=1)
任意の「アクション名」を入力します。
「NetPerfMonイベントログにアラートを記録の設定」のフィールドに、Webコンソール上で表示したいメッセージを入力します。今回は変数を使用してアラート名と対象のノード名を表示するテキストを入力しています。「アクションを追加」をクリックするとトリガーアクションとして設定されます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/23.png?resize=658%2C467&ssl=1)
先程と同様に「アクションを追加」をクリックし、「電子メール/ページを送信」を選択して「アクションを設定」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/22.png?resize=992%2C1006&ssl=1)
任意の「アクション名」を入力し、宛先メールアドレス、SMTPサーバーを設定します。
今回はメールの件名とメッセージはデフォルトのものを使用します。「アクションを追加」をクリックするとトリガーアクションとして設定されます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/28.png?resize=645%2C465&ssl=1)
2つのアクションが画面に追加されていることを確認し「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/25.png?resize=814%2C291&ssl=1)
今回はリセットアクションを設定しないのでそのまま「次へ」をクリック。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/26-1024x281.png?resize=1024%2C281&ssl=1)
サマリーを確認し、設定内容に問題がなければ「送信」をクリック。
これで、show Loggingの実行結果から特定の文字列の有無を検知するアラートの設定が終了しました。アラートの発報はWebコンソール上のメッセージとメール通知で確認することができます。
![](https://i0.wp.com/blog.jtc-i.co.jp/wp-content/uploads/2024/06/FireShot-Capture-189-アラートの編集-192.168.91.218-735x1024.png?resize=735%2C1024&ssl=1)
本記事ではshow loggingの設定例をご紹介しましたが、これを応用してその他のshow系コマンドで監視することも可能です。ご使用の環境でぜひお試しください。
最後に
今回はNCMでNW機器の正常性監視を自動化する方法をご紹介しました。
SolarWinds 製品にご興味のある方は、以下のリンクから弊社までお問い合わせください。