2024年8月24日土曜日

MID Server で任意のコマンドを実行する方法

MID Server で任意のコマンドを実行する方法

概要

MID Server をインストールしたマシン上で任意のコードを実行する方法を紹介します
MID Server のインストール方法はこちらを参照してください

環境

  • ServiceNow (2024/08/05 時点)
    • Release Washington DC
  • Ubuntu 22.04
  • MID Server 2023-12-20

実行するスクリプトの配置

まずは実行するスクリプトと MID Server 上に配置します
今回はインストール時に配置される /opt/servicenow/mid/agent/scripts/ServiceWatch/SSHScriptFiles/cpus.sh を使います

実行権限だけ与えてあげましょう

  • chmod +x /opt/servicenow/mid/agent/scripts/ServiceWatch/SSHScriptFiles/cpus.sh

ECC Queue の追加

ServiceNow のインスタンスから MID Server 上でコマンドを実行するにはキューにコマンド情報を登録します

All -> ECC Queue で移動します

そして New から新規でキューイングする情報を追加します

追加画面になったら実行するコマンドの情報を記載します

  • Agent -> mid.server.My_Linux_Mid_Server
  • Topic -> Command
  • Name /opt/servicenow/mid/agent/scripts/ServiceWatch/SSHScriptFiles/cpus.sh
  • Queue -> input

Agent は自身の登録した MID Server 名を記載してください
Name に実行するスクリプトのパスを指定します
コマンドを実行する場合は Queue は input を指定します

結果確認

コマンドの結果は output Queue で来ます
シェルスクリプトの実行結果が格納されていれば OK です

結果が error になる場合は足りないコマンドをインストールしたりスクリプトを直接編集しても OK です
正しく成功しているのに error になる場合は手動でステータスを変更しても OK です

ただ今回使用した cpus.sh は MID Server Script Files という機能で常に ServiceNow 側と同期しているので編集してもすぐに書き換えられてしまうので注意しましょう

最後に

ServiceNow のインスタンス上から MID Server 上に任意のコマンドを実行する方法を紹介しました
基本ファイルを配置する必要があるのでそれが面倒ですが ServiceNow にはスクリプトを MID Server に配布する仕組みもあるのでそれを使うと簡単にできます
次回はファイルを配置する方法を紹介します

参考サイト

0 件のコメント:

コメントを投稿