見出し画像

TWSNMP FCのポーリング辞典:SSHコマンド実行

TWSNMP FCからSSHでリモートのコンピュータ上でコマンドを実行するポーリングについての説明です。コマンド実行のポーリング、

は、TWSNMP FCが稼働するパソコンでコマンドを実行するポーリングでしたが、SSHによるポーリングは、他のコンピュータでコマンドを実行して、その結果をTWSNMP FCで判断するポーリングです。

SSHについて

SSHに関する他力解説は、

とかを見てください。

SSHで通信する準備

TWSNMPから管理対象のサーバーへSSHで通信するためには、先程のサイトのSSH説明にあるように、秘密鍵と公開鍵について

・クライアント用(TWSNMP FC)用の秘密鍵と公開鍵をつくる
・公開鍵をサーバーに登録する

ことが必要です。先程のサイトの説明ではサーバーで秘密鍵を作る方法を紹介していましが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では、このポーリングがうまく動作しないので、後日、記載します。
すみません。

苦労話

このポーリングを開発した時の話は、

に書いてあります。


開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。