SSH (パフォーマンス)
- Last Updated: October 16, 2024
- 6 minute read
SSH モニタは、SSH 認証を使用してリモートデバイスに接続し、コマンドまたはスクリプトを実行します。これらのコマンドやスクリプトをモニタに組み込むことも、リモートマシンに実行可能スクリプトファイルとして配置して、そのスクリプトを実行するコマンドをモニタに組み込むこともできます。各モニタはデータベースに記録されている 1 つの数値を返します。この数値は、後で必要に応じて、WhatsUp Gold のさまざまな機能で使用されます。
モニタの一意の名前と説明を入力し、次の項目を設定します。
-
[実行するコマンド]
。リモートデバイスで実行するコマンドを入力します。コマンドには、デバイスが解釈して実行できる、UNIX シェルコマンドや Perl スクリプトなどを使用できます。リモートデバイスで実行するスクリプトを作成する場合は、スクリプトをリモートマシンで開発、テスト、デバッグする必要があります。次のスクリプトオプションのいずれかを選択します。
-
[数値]
。コマンドまたはスクリプトは 1 つの数値を返す必要があります。スクリプトは必要に応じて複雑にすることができますが、1 つの数値のみを返す必要があります。たとえば、従来の単一行の UNIX 形式では次のようになります。
free -m | awk 'NR==2{print $3}'これは 16.2.3 より前のバージョンの WhatsUp Gold で必須のスクリプト形式です。 -
[インタラクティブシェル]
。このスクリプトは 1 つの数値のみを返すように制限されていませんが、出力には文字列「Result=xxxx」が含まれている必要があります。ここで、xxxx は数値を表します。たとえば、新しい複数行の Linux 形式では次のようになります。
echo Result=$(free -m | awk 'NR==2{print $3}')この新しいスクリプト形式は、出力を 1 つの数値に制限する必要がなく、ターゲットのスクリプトインタープリタの全機能をサポートします。
-
[数値]
。コマンドまたはスクリプトは 1 つの数値を返す必要があります。スクリプトは必要に応じて複雑にすることができますが、1 つの数値のみを返す必要があります。たとえば、従来の単一行の UNIX 形式では次のようになります。
注:
v18.0.2 以降、
[インタラクティブシェル]
オプションでユーザー定義のカスタム正規表現がサポートされるようになったため、WhatsUp Gold でルーター、スイッチ、iDRAC (Integrated Dell Remote Access Controllers) など、一部の組み込みシステムから正常にパフォーマンスデータを収集できるようになりました。SSH パフォーマンスモニタの構成時にこの機能を有効にするには、
[インタラクティブシェル]
オプションを選択したときに
[カスタム正規表現の使用]
チェックボックスをオンにします。
例:デフォルトの正規表現
コマンド:
<デフォルト形式で結果を出力するコマンド>
出力:
Result=15
デフォルトの正規表現を実行したときにこの出力が得られた場合、これは
Result=15
に一致します。キャプチャしているグループは
15
を結果と見なすため、これがポーリングの結果として WhatsUp Gold が格納する値となります。キャプチャしているグループ内の正規表現
[0-9.,]+
は、1 文字以上の
0~9
の数字、小数点、コンマに一致しますが、数字として正しく解析されるためには、小数点またはコンマが値に 1 文字だけ含まれている必要があります。
Result=A33
に対して同じ正規表現を実行しても、一致しません。ただし
Result=33A
は
Result=33
に一致するため、キャプチャしているグループは
33
を結果と見なします。
例:カスタム正規表現
コマンド「
racadm getconfig -g cfgServerPower
」を使用して iDRAC 管理インターフェイスから Dell R710 の電力使用率 (具体的な統計は
cfgServerPowerLastMinAvg
) を監視するには、以下の正規表現を入力します。該当する正規表現の行のみを以下に示します。
# cfgServerPowerStatus=1
(切り取り)
cfgServerPowerCapEnable=0
# cfgServerPowerLastMinAvg=357 AC W | 1218 Btu/hr
# cfgServerPowerLastHourAvg=359 AC W | 1225 Btu/hr
(簡潔にするため、切り捨て)
この例では、直近の 1 分間の平均ワット使用量をキャプチャするために正規表現
cfgServerPowerLastMinAvg=([\d]+)
を使用し、
cfgServerPowerLastMinAvg=
の後に 1 文字以上の数字が続く文字列を検索しています。ポーリングの結果として返される値は
357
ですが、これは
[\d]+
がキャプチャしているグループ
()
内にあるためです。ポーリング結果を WhatsUp Gold に返すには、指定した正規表現にキャプチャしているグループ
()
が含まれている必要があります。
モニタでは出力で見つかった最後の一致項目のみが使用されます
。
コマンドを実行して数千件の結果が返されても
、WhatsUp Gold で記録される結果は最後に一致した
結果のみです。
.Net のデフォルトの正規表現オプション
に関する詳細は
こちら
をご覧ください。
返された出力に対して正規表現を処理しても WhatsUp Gold で一致が見つからなかった場合、パフォーマンスエラーログにはデバイスから受け取った生の出力が含まれます。この情報を使用して、モニタ設定に指定されている正規表現パターンの問題に対処することができます。
- [行末文字] 。適切な行末の種類を [なし]、[改行]、[復帰]、[復帰改行] から選択します。Windows オペレーティングシステムでは複数行のスクリプトが入力されて保持され、行末文字が含まれますが、この行末文字をターゲットデバイスで認識できない場合があります。この設定機能により、WhatsUp Gold では接続やコマンド実行の前に、選択した文字で行末文字が置換されます。