クラウド運用管理
監視ツールとServiceNowの簡単連携ご紹介
IT運用の現場では、迅速なトラブル対応が求められますが、関係者間(監視担当者、調査担当者など)のやり取りがメールや電話といった人手に頼っている現状を課題と感じている方は多いと思います。さらに、システム構成管理が手作業で行われているため、情報が最新化できておらず、障害発生時の影響範囲特定に時間がかかってしまうという課題があるのではないでしょうか。
監視ツールとServiceNow®を組み合わせることで、最新の構成情報を自動収集するなど人手に頼ったIT運用から脱却でき、迅速なトラブル対応が実現できます。
この記事では、Fujitsu Software Systemwalker Centric ManagerとServiceNowの簡単な連携手順を、サンプルを交えながらステップバイステップで解説します。実際に試してみたい方は、ぜひこの記事を参考にしてください。
1. Systemwalker Centric ManagerとServiceNowの連携について
Fujitsu Software Systemwalker Centric Manager V17.0.2(以降Centric Managerと記述)の新機能で、ServiceNowと連携して、ServiceNowのインシデントを作成することができるようになりました。
この機能を使用することで、例えば、Centric Managerが監視しているシステムで異常が発生した場合、そのエラーメッセージを検知してServiceNowに自動的にインシデントを作成することができます。
今回の記事では、Centric ManagerとServiceNow(リリース名: Washington DC)の連携手順を、サンプルを提示しながら解説します。
2. Systemwalker Centric ManagerとServiceNowの連携方法
2.1 ServiceNowのユーザー作成
Centric Managerが発行したインシデントを自動登録するためのServiceNowのユーザーを作成します。
Centric Managerからインシデントが発行されたことが分かり易いように、下記のような設定をお勧めします。
項目名 | 入力値 |
---|---|
ユーザーID | IDは自由にご指定ください。 |
名 | Centric |
姓 | Manager |
メール | Centric Managerから発行したインシデントの変化状況を伝えたい担当者のメールアドレスを指定します。 複数の担当者に通知したい場合はメーリングリストを準備いただき、メーリングリストを指定するのがお勧めです。 |
図1. ユーザー作成
作成したユーザーIDをクリックし、[パスワード設定]からのパスワードの設定と、[ロール]タブからのロール追加を実施します。追加が必要なロールは、adminです。
図1. ロール設定
2.2 Centric Managerの設定
Centric Managerの設定を実施します。
-
ServiceNow連携の設定
上記マニュアルを参照し、下記を実施してください。
- Python3および必要な外部ライブラリがインストールされていない場合
「ServiceNowアクセス情報定義の設定」-「設定手順」を参照しインストールします。 - ログのローテーション設定を変更したい場合
「ログローテーションの設定」を参照し変更します。
- Python3および必要な外部ライブラリがインストールされていない場合
-
ServiceNowアクセス情報の定義
上記マニュアルを参照し、ServiceNowアクセス情報の定義を対話形式で行います。
下記は、Windowsで実施した例です。
UserとPassは、「2.1 ServiceNowのユーザー作成」で設定した値を入力します。Proxyは環境に合わせて設定ください。C:\>cd C:\Systemwalker\MPWALKER\mpaosfsv\bin C:\Systemwalker\MPWALKER\mpaosfsv\bin>python swsn_authdef.py User: centric_manager Pass: Re-enter Pass: Use Proxy(Y/N): Y Server Name: <プロキシサーバ名> Port: <ポート番号> Proxy UserID: <プロキシサーバのユーザID> Proxy Pass: Re-enter Proxy Pass: swsn_authdef: INFO: 0001: The command terminated normally.
-
ServiceNow連携定義ファイルにパラメタを定義
上記マニュアルを参照し実施します。下記は例です。
INCIDENT_CALLER_IDは、「2.1 ServiceNowのユーザー作成」で設定した“名 姓”を入力します。[COMMON] INSTANCE_URL=https://<リクエスト発行先インスタンスのURL> [REPORTER] INCIDENT_CALLER_ID=Centric Manager REPORTER_LOG_LEVEL=INFO MAX_BYTE=300 BACKUP_COUNT=5
-
連携バッチファイル作成
アクション定義設定に直接swsn_increg(ServiceNowインシデント登録コマンド)を記述すると、メッセージ, 影響度, 緊急度が固定値となります。
そこで、今回のポイント!
引数を渡せる連携バッチファイルを作成し、このバッチファイルからswsn_incregコマンドを実行する方法をご紹介します。連携バッチファイル呼び出し時に、“%DATE %HOST %MSG”という引数を設定することで、バッチファイルに“日時, ホスト名, メッセージ”(注)を渡すことができます。
-
注%DATEの値の例) 2024/09/30 10:59:37、%HOSTの値の例) SV-4
サンプルとして、メッセージの先頭に日時とホスト名を追加し、特定文字列が含まれていた場合、影響度と緊急度をHighで発行する例を下記に示します。
例) c:\ServiceNow\create_incident.bat@echo off REM ログファイルの設定 set "logf=c:\ServiceNow\create_incident.log" REM 引数の値を設定 set "date=%~1" set "host=%~2" set "message=%~3" REM デフォルトの影響度と緊急度をLowに設定 set "i=3" set "u=3" REM 特定文字列を含むか確認 echo %message% | findstr /C:"<特定文字列>" >nul if %errorlevel% equ 0 ( REM 影響度と緊急度をHighに設定 set "i=1" set "u=1" ) REM メッセージに日時とホスト名を追加 set "desc=%date%:%host%:%message%" REM swsn_increg(ServiceNowインシデント登録コマンド)の実行 echo <ファイルパス>\python.exe <ファイルパス>\swsn_increg.py -i %i% -u %u% -d %desc% >> %logf% <ファイルパス>\python.exe <ファイルパス>\swsn_increg.py -i %i% -u %u% -d %desc% >> %logf% 2>&1 REM 実行結果を表示 if %ERRORLEVEL%==0 ( echo "swsn_increg.py completed successfully" >> %logf% ) else ( echo "swsn_increg.py failed" >> %logf% )
このようなバッチファイルを使用することにより、例えば、関連アプリケーションや繰り返し通知されるメッセージはCentric Managerでメッセージ抑止したうえで、根本原因のデータベースのプロセスダウンのみをServiceNowへインシデント連携することができます。
-
-
イベント監視の条件定義
[イベントの特定]に設定したイベントが発生した際に連携バッチファイルを実行するために、 [通知/実行アクション]の[アプリケーションを起動する(P)]に「4. 連携バッチファイル作成」で作成したバッチファイルを設定します。以下はWindowsの設定例です。
設定項目名 設定内容 起動ファイル c:¥ServiceNow¥create_incident.bat パラメタ %DATE %HOST %MSG 図3. アクション定義
3. ServiceNowに発行されたインシデントの例
上記までの設定で、Centric Managerが検知したエラーメッセージがインシデントとしてServiceNowへ自動的に発行されます。
以下がServiceNowに発行されたインシデントの例です。
図4. ServiceNowに発行されたインシデントの例
4. まとめ
既存のSystemwalker Centric ManagerとServiceNowとの連携方法を説明しました。
簡単な手順でServiceNowによるインシデントの一元管理が可能になり、構成情報もServiceNowで自動収集して最新化できるため、監視ツールをお持ちの方はぜひお試しください。
監視運用を簡単に効率的に行う方法についてもっと詳しくお知りになりたい方は、ぜひ下記から参照ください。
-
備考:ServiceNow 商標について:ServiceNow、ServiceNow のロゴ、Now、その他の ServiceNow マークは、米国および/またはその他の国における ServiceNow, Inc. の商標または登録商標です。
Pythonは,Python Software Foundationの登録商標です。
本記事に記載されている会社名、システム名、製品名、サービス名などの固有名詞は一般に各社の登録商標または商標です。
また、本文および図表中に記載されている会社名、システム名、製品名、サービス名などには必ずしも「TM」、「®」を付記しておりません。
本コンテンツに関するお問い合わせ
お電話でのお問い合わせ
Webでのお問い合わせ
当社はセキュリティ保護の観点からSSL技術を使用しております。