TWSNMPポーリング辞典:SSHコマンド実行
TWSNMPからSSHでリモートのコンピュータ上でコマンドを実行するポーリングについての説明です。コマンド実行のポーリング、
は、TWSNMPが稼働するパソコンでコマンドを実行するポーリングでしたが、SSHによるポーリングは、他のコンピュータでコマンドを実行して、その結果をTWSNMPで判断するポーリングです。
SSHについて
SSHに関する他力解説は、
とかを見てください。
SSHで通信する準備
TWSNMPから管理対象のサーバーへSSHで通信するためには、先程のサイトのSSH説明にあるように、秘密鍵と公開鍵について
・クライアント用(TWSNMP)用の秘密鍵と公開鍵をつくる
・公開鍵をサーバーに登録する
ことが必要です。先程のサイトの説明ではサーバーで秘密鍵を作る方法を紹介していましがTWSNMPでは自動で秘密鍵と公開鍵を作成します。
公開鍵は、
拡張設定の<公開鍵コピー>ボタンをクリックすれば、クリップボードにコピーできます。コピーした公開鍵をサーバーのログインするユーザーの
~/.ssh/authorized_keys
に追加すればよいです。
のような感じです。ファイルがなければ作成します。
ノードの設定で、ログインするユーザー名を設定します。
管理対象サーバー側の公開鍵はSSHの通信を実施すると自動的に取得します。初回の通信で取得したものを信用するというTOFUという方式です。
ポーリング設定
SSH通信のための準備ができたらポーリングを設定します。
種別を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では定義ファイルに記述してください。
ポーリング結果
サンプルのポーリング結果は、
のように記録できます。
1分間の負荷をグラフ表示すると、
のようになります。
ポーリングテンプレート
この記事で説明したポーリングのテンプレートは、
からダウンロードできます。
苦労話
このポーリングを開発した時の話は、
と
に書いてあります。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。