TWSNMP FCのポーリング辞典:HTTP(S)サーバーの監視
Webブラウザーでサイトを閲覧するために作られたHTTPプロトコルは、今ではあらゆるコンピューター間の通信に使用されています。この記事ではTWSNMP FCでHTTP(S)サーバーの監視を行う方法について説明します。
動画のダイジェスト
HTTPとHTTPSについて
非常にポピュラーなプロトコルなので知らない人はいないと思いますが、復習したい場合は、
とかを見てください。
TWSNMP FCのWebサーバー監視のポーリングの種類にはHTTPとHTTPSのモードがあります。基本的には暗号通信の有無の違いですが、HTTPモードでも暗号通信(HTTPS)のポーリングができます。この場合サーバーが提示する証明書の検証を行わないで応答だけで判断するポーリングになります。HTTPSモードの場合は、サーバーの証明書を検証するので安全でないサーバーはエラーと判断します。
HTTPモードではサーバーとの通信の安全性は確認しないがHTTPSモードでは安全性がない場合は通信しないという違いです。
HTTPポーリング設定
TWSNMP FCでhttpモードのポーリングを行う場合は、
のように設定します。
パラメータにアクセスするURLを指定します。
抽出パターン
抽出パターンは、「システム設定」ー「抽出パターン」で登録したものから選択します。
抽出の方法はgrok
を利用しています。自分で編集して登録できます。
の時に作ったhttps://openweathermap.orgの応答から気象情報を取得する抽出パターンをサンプルで組み込んであります。
のような定義です。
{"coord":{"lon":139.5577,"lat":35.8578},"weather":[{"id":802,"main":"Clouds","description":"scattered clouds","icon":"03n"}],"base":"stations","main":{"temp":6.49,"feels_like":4.14,"temp_min":2.8,"temp_max":9.41,"pressure":1015,"humidity":84,"sea_level":1015,"grnd_level":1014},"visibility":10000,"wind":{"speed":3.23,"deg":347,"gust":7.78},"clouds":{"all":25},"dt":1677266133,"sys":{"type":2,"id":2044139,"country":"JP","sunrise":1677273497,"sunset":1677313919},"timezone":32400,"id":6940394,"name":"Fujimi","cod":200}%
のような応答から気温などを抽出できます。
これを使ったポーリングの設定は
のようになります。これで、気温が35以上になるとノードが赤くなります。
判定スクリプト
検索抽出フィルターを使用しない場合は、判定条件のJavaScriptで次の変数が使用できます。
検索抽出フィルターを使用すれば、抽出した変数を利用することができます。先程の気象情報の例だとtempです。
ポーリング結果
単純なWebサーバー監視の場合は、
のようなポーリングのログになります。応答時間をグラフ表示すると
のようになります。
検索抽出フィルターを使った気象情報の場合は、
のように、気温や湿度を取得できます。
2023/2/18-2/24の体感気温のグラフは
のように表示できます。温かい日と寒い日がよくわかります。
AI分析もできます。
応答時間だけでなく気温や湿度なども含めて分析していますが、何を異常と言っているかわかりません。(詳しくみていないという意味です。)
テンプレート
この記事で紹介したポーリングのテンプレートは、
です。
定義は、
{
"Name": "HTTP接続",
"Type": "http",
"Mode": "",
"Params": "URLを指定",
"Level": "low",
"Descr": "HTTP接続監視",
"AutoMode": "80,443,2181,8080,8888"
},
{
"Name": "HTTPS接続",
"Type": "http",
"Mode": "https",
"Params": "URLを指定",
"Level": "low",
"Descr": "HTTPS接続監視",
"AutoMode": "443,2181,8080,8888"
},
{
"Name": "気象情報",
"Type": "http",
"Mode": "https",
"Params": "https://api.openweathermap.org/data/2.5/weather?q=地域,jp&units=metric&APPID=取得したAPIキー",
"Extractor": "OPENWEATHER",
"Script": "temp > 35.0",
"Level": "off",
"Descr": "気象情報の取得のサンプル",
"AutoMode": "disable"
},
気象情報のポーリングに関しては、地域とAPIキーを変更する必要があります。
気象情報のAPIキーの取得は、
を参照してください。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。