トラブルシューティングツール:Azure WebJob TCP Ping
MSDN Blog:「Troubleshooting tool–Azure WebJob TCP Ping」を意訳した投稿です
特定IPアドレスとポート番号に対してソケット(TCPPing)を開き続けるシンプルなAzure WebJobのVisual Studioソリューションを公開しました。
Github:https://github.com/cicorias/webjobtcpping
Azure Web Job – TCP Ping
概要
Visual Studio 2013ソリューション
- JobRunnerShell
Azure Web Job クラスとアセンブリ用のプロセスとジョブの基本的な管理をラップしたクラス - TcpPing
シンプルなAzure Web Jobの導入。毎秒TcpPingを実行し続ける - SimpleTcpServer
とてもシンプルなTcpリスナーサービス
目的
サーバーにPingし続けるAzure WebSiteで、継続的に基本的な調査情報を提供するソリューションです。Azureで仮想ネットワーク経由で、IPv4アドレスを使用してサーバーの可用性をテストします。
サーバーリスナーサービスに対して使用します。
ただ単純に、Socket.Open()します。サーバーはソケットをオープンして閉じます。
デプロイ
Azure WebJob
Visual Studioで、「TcpPing」ユーティリティをNugetで入れます。
設定
TcpPingプロジェクトの、「app.config」で、「appSettings」と「connectionStrings」を設定します。
AppSettings
ソケットオープンするサーバーを設定します。
<appSettings>
<add key="sqlIp" value="10.3.0.4"/>
<add key="sqlPort" value="8999"/>
</appSettings>
connectionStrings
<connectionStrings>
<!--WEBJOBS_RESTART_TIME - please set in porta to seconds like 60.-->
<!--WEBJOBS_STOPPED setting to 1 means stopped-->
<!-- The format of the connection string is "DefaultEndpointsProtocol=https;AccountName=NAME;AccountKey=KEY" -->
<!-- For local execution, the value can be set either in this config file or through environment variables -->
<add name="AzureWebJobsDashboard"
connectionString="DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>" />
<add name="AzureWebJobsStorage"
connectionString="DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>" />
</connectionStrings>
Simple TCPサーバー
<appSettings>
<add key="serverPort" value="8999"/>
</appSettings>