見出し画像

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

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

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

SSHについて

SSHに関する他力解説は、

とかを見てください。

SSHで通信する準備

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

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

ことが必要です。先程のサイトの説明ではサーバーで秘密鍵を作る方法を紹介していましがTWSNMPでは自動で秘密鍵と公開鍵を作成します。
公開鍵は、

画像1

拡張設定の<公開鍵コピー>ボタンをクリックすれば、クリップボードにコピーできます。コピーした公開鍵をサーバーのログインするユーザーの

~/.ssh/authorized_keys

に追加すればよいです。

画像2

のような感じです。ファイルがなければ作成します。
ノードの設定で、ログインするユーザー名を設定します。

画像3

管理対象サーバー側の公開鍵はSSHの通信を実施すると自動的に取得します。初回の通信で取得したものを信用するというTOFUという方式です。

ポーリング設定

SSH通信のための準備ができたらポーリングを設定します。

画像4

種別をSSHに設定します。定義の書式は、

コマンド|検索抽出フィルター|判定条件|ポート番号

です。ポート番号はオプションです。省略した場合は22番ポートになります。

コマンド、検索フィルター、判定条件については、

の記事を見てください。

サンプルポーリング設定

定義に、

/usr/bin/uptime|UPTIME|load1m < 1.0

と指定することで、監視対象で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の定義は、

UPTIME|`load average: %{BASE10NUM:load1m}, %{BASE10NUM:load5m}, %{BASE10NUM:load15m}`

です。V5.0.1には組み込んでいますが、V5.0.0では定義ファイルに記述してください。

ポーリング結果

サンプルのポーリング結果は、

画像5

のように記録できます。
1分間の負荷をグラフ表示すると、

画像6

のようになります。

ポーリングテンプレート

この記事で説明したポーリングのテンプレートは、

からダウンロードできます。

苦労話

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

に書いてあります。

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