ブログ

node-eye: リモートから任意のコマンドを追加する

at_ito
2017年4月3日 4時37分

node-eye(SACM)でシステムを監視している際に、標準では対応していない一部ファイルの更新や、設定の変更など、各システムに合わせてリモートからの指示をカスタマイズしたい場合があるかと思います。

そのような場合は、任意コマンドを実行できるよう設定を行うことで対応可能です。 ここでは任意コマンドの実行できるようにする追加設定の方法を紹介します。

1. 任意コマンド追加の概要

リモートからの任意コマンドの実行は、「モジュール」という単位で行います。

まずはArmadillo上に任意コマンドを実行する「モジュール」を作成しておきます。 この「モジュール」の実体はシェルスクリプト等の実行ファイルで作成します。

その後、SACM上から作成した「モジュール」を実行することで、任意コマンドの実行を行うことができます。

「モジュール」の詳細は、以下のURLをご参照ください。

  • http://manual.sacm.jp/service_spec/module.html

2. モジュールの作成

モジュールはArmadilloの「/etc/armsd/user_modules/」ディレクトリの下に作成する必要があります。

作成するファイル名は「モジュール番号(ユーザー向けは 4 から 15) + "_"で始まるファイル名」となります。(5_mymodule.sh等)

以下に例として、任意コマンド実行時に渡された引数をコマンドとして実行するシェルスクリプトを記載します。

#!/bin/sh
 
sh ${3} > ${4} 2>&1
  • ※: 本スクリプトは実験用の物になります。本番環境ではどのようなコマンドでも実行できしまいセキュリティ的に問題があるためそのまま使用しないでください。

なおモジュールの作成方法の詳細は、各製品向けの「node-eyeマニュアル」の「モジュールの作成方法」をご参照ください。

3. 任意コマンドの実行

SACMのWebインターフェースの「オペレーション」から任意コマンドを実行できます。

Web画面で、以下のように設定することで任意のコマンドを実行することが可能です。

  1. 実行オペレーションの選択で「任意コマンド」を選択
  2. 該当のモジュール(例. モジュール5)を選択
  3. 「パラメータ」に、モジュールに渡す引数を入力
    (前述のモジュール例の場合では、実行したいコマンド)
  4. 実行スケジュールを選択 1.「任意コマンド 実行」ボタンを選択