トラブルシューティングツール: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>