TWSNMP FCのポーリング辞典:SSHコマンド実行
TWSNMP FCからSSHでリモートのコンピュータ上でコマンドを実行するポーリングについての説明です。コマンド実行のポーリング、
は、TWSNMP FCが稼働するパソコンでコマンドを実行するポーリングでしたが、SSHによるポーリングは、他のコンピュータでコマンドを実行して、その結果をTWSNMP FCで判断するポーリングです。
SSHについて
SSHに関する他力解説は、
とかを見てください。
SSHで通信する準備
TWSNMPから管理対象のサーバーへSSHで通信するためには、先程のサイトのSSH説明にあるように、秘密鍵と公開鍵について
ことが必要です。先程のサイトの説明ではサーバーで秘密鍵を作る方法を紹介していましがTWSNMP FCでは自動で秘密鍵と公開鍵を作成します。
※この記事を書いている時に気が付きましたがv1.21.0時点では、秘密鍵がうまく作成できないようです。作成した公開鍵を取り出す方法も作っていませんでした。次のバージョンで対応します。
マップ設定の<公開鍵コピー>ボタンをクリックすれば、クリップボードにコピーできます。コピーした公開鍵をサーバーのログインするユーザーの
~/.ssh/authorized_keys
に追加すればよいです。
のような感じです。ファイルがなければ作成します。
ノードの設定で、ログインするユーザー名を設定します。秘密鍵で認証しない場合は、パスワードを設定します。
管理対象サーバー側の公開鍵はSSHの通信を実施すると自動的に取得します。初回の通信で取得したものを信用するというTOFUという方式です。
ポーリング設定
SSH通信のための準備ができたらポーリングを設定します。
種別
SSHに設定します。
モード
モードにポート番号を指定します。省略した場合は22番ポートになります。
パラメータ
実行するコマンドを指定します。
フィルター
コマンドの実行結果から特定の行を取り出すためのフィルターを正規表現で指定します。
抽出パターン
コマンドの実行結果からデータを抽出するためのパターンを選択します。
抽出パターンについては
を参考にしてください。
ポーリング設定の例
先程の設定は監視対象でuptimeコマンド
root@rpi:~# uptime
05:57:28 up 7 days, 1:16, 3 users, load average: 0.02, 0.01, 0.00
を実行して結果から1分、5分、15分の負荷を取得して、1分の負荷が1未満を正常とするポーリングを登録できます。
抽出パターンの定義は、
UPTIME|`load average: %{BASE10NUM:load1m}, %{BASE10NUM:load5m}, %{BASE10NUM:load15m}`
が組み込まれていいます。
ポーリングの結果
v1.21.0では、このポーリングがうまく動作しないので、後日、記載します。
すみません。
苦労話
このポーリングを開発した時の話は、
と
に書いてあります。