MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


PowerShellでサーバー死活監視(続き)
profile-img
投稿者: muto-sanさん
投稿日:2019/03/24 00:24
更新日:
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
運用・保守
投稿内容
以前、PINGを使った死活監視の方法を投稿しましたが、PINGはL3(ネットワーク層)レベルの疎通を確認しているに過ぎず、PING応答に問題が無いからといってサーバーが正常に稼働しているとは言えません。
また、実際にサーバーを稼働させる際にPINGに使用するICMP Echo要求を遮断しているケースも少なくありません。

同様の方法で上位レイヤーを監視するにはどうしたらいいでしょうか?
PINGの場合はTest-ConnectionコマンドのTrue/Falseで処理を分岐させていましたので、同様にTrue/False分岐させる方法で考えます。

・Test-NetConnection
Test-NetConnection <対象ホスト> -Port <ポート番号>(-CommonTCPPortでも可)を用いることで、L4(トランスポート層)レベルの疎通を確認することが出来ます。

コマンド結果の<TcpTestSucceeded>プロパティがBoolean型の値を持ちますので、
(Test-NetConnection <対象ホスト> -Port <ポート番号>).TcpTestSucceeded
とすることで指定したTCPポートの疎通をTrue/Falseで取得できます。

・Invoke-WebRequest(HTTP/HTTPS)
HTTPの死活監視をするのであれば、Invoke-WebRequestが使えます。
Invoke-WebRequest <URL>コマンドを実行し、StatusCodeプロパティが200を返すかどうかでL7(アプリケーション層)レベルの監視が可能になります。



HTTP/HTTPSに関しては手っ取り早く使えそうなコマンドレットがありましたが、それ以外のサービス監視については、調べ中です...。

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3