1

Azure アプリの自動スケーリング ソリューションをセットアップしようとしています。私はconstraintRulesに反応するようにしていますが、reactiveRulesに反応させることはできません。

診断を使用して、オートスケーリングからのすべてのメッセージをログに記録しています (P&P オートスケーリング ブロックを使用)。そのため、オートスケーラーがリアクティブ ルールを認識していることがわかりますが、ターゲットは識別されていません。このような:

<TraceSource>Autoscaling General</TraceSource>
<Object>Rule match.
[BEGIN DATA]
{"EvaluationId":"67281173-085f-49a1-95f8-0b9c50a4de7d",
 "MatchingRules":
    [{"RuleName":"Default constraints for all roles",
      "RuleDescription":"SLA rule",
      "Targets":["JobsRole","RESTAPI","Web"]},
     {"RuleName":"scaleWebApi",
      "RuleDescription":"Scale up when cpu average over 5%",
      "Targets":[]},
     {"RuleName":"scaledownWebApi",
      "RuleDescription":"Scale down when cpu avg under 5%",
      "Targets":[]}]}
</Object>

リアクティブ ルールは次のように定義されます。

<reactiveRules>
  <rule name="scaleWebApi"
      description="Scale up when cpu average over 5%" rank="2" enabled="true">
    <when>
       <any>
          <greater operand="RESTAPI_CPU_Avg" than="5" />
       </any>
    </when>
    <actions>
        <scale target="RESTAPI" by="1" />
    </actions>
  </rule>
  <rule name="scaledownWebApi" rank="2" enabled="true"
       description="Scale down when cpu avg under 5%">
    <when>
      <all>
        <lessOrEqual operand="RESTAPI_CPU_Avg" than="5" />
      </all>
    </when>
    <actions>
      <scale target="RESTAPI" by="-1" />
    </actions>
  </rule>
</reactiveRules>

私のconstraintRules - 彼らは動作します

<constraintRules>
  <rule name="Default constraints for all roles"
       description="SLA rule" enabled="true" rank="0">
    <actions>
      <range target="JobsRole" min="1" max="5" />
      <range target="RESTAPI" min="1" max="5" />
      <range target="Web" min="1" max="5" />
    </actions>
  </rule>
</constraintRules>

および私のサービス構成ファイル(役割の一部のみ)

<services>
  <service dnsPrefix="<dns>" slot="Production" scalingMode="Scale">
    <roles>
      <role alias="JobsRole" roleName="JobsRole" wadStorageAccountName="<mystore>" />
      <role alias="RESTAPI" roleName="RESTAPI" wadStorageAccountName="<mystore>" />
    </roles>
  </service>
  <service dnsPrefix="<dns>" slot="Production" scalingMode="Scale">
    <roles>
      <role alias="Web" roleName="Web" wadStorageAccountName="<mystore>" />
    </roles>
  </service>
</services>

何が問題なのか、どうすればそれを理解しようとすることができますか?

4

3 に答える 3

0

私はあなたの設定に何も問題を見つけることができません。ただし、ターゲット名が正しいことを確認してください。ロール名である必要があります。http://msdn.microsoft.com/en-us/library/hh680945(v=PandP.50).aspxをチェックして、それが役立つかどうかを確認することをお勧めします。

よろしくお願いします、

明徐。

于 2012-05-03T06:49:14.523 に答える
0

サービス情報ストアに問題があるようです (オペランドが正しく設定されていると仮定しますが、問題のオペランドをコピーしていないと仮定します)。

定義する各ロールで、wadStorageAccountName を実際の接続文字列ではなく、「わかりやすい」名前に設定する必要があります。次に、同じ XML ファイルで、そのストレージ アカウントが実際に指す場所を定義します。

  <services>
    <service dnsPrefix="<dns>" slot="Production" scalingMode="Scale">
      <roles>
        <role alias="JobsRole" roleName="JobsRole" wadStorageAccountName="MyStorageFriendlyName" />
        <role alias="RESTAPI" roleName="RESTAPI" wadStorageAccountName="MyStorageFriendlyName" />
      </roles>
    </service>
    <service dnsPrefix="<dns>" slot="Production" scalingMode="Scale">
      <roles>
            <role alias="Web" roleName="Web" wadStorageAccountName="MyStorageFriendlyName" />
      </roles>
    </service>
  </services>
  <storageAccounts>
    <storageAccount alias="MyStorageFriendlyName" connectionString="DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>">
    </storageAccount>
  </storageAccounts>

また、このアカウントは、ターゲット アプリ (この場合は RESTAPI ロール) がパフォーマンス カウンターを (頻繁に) アップロードするアカウントである必要があることに注意してください。そうしないと、集計してデータ ポイントとして保存するためのデータが見つかりません。

さらに、オペランドで少なくとも 10 分の時間枠で集計が行われるように定義してください。そうしないと、発生するすべてのプロセスが非同期の性質を持っているためです (片側でパフォーマンス カウンター データをアップロードしてから、データを集計してデータを生成する)。ポイント、および別のプロセスでルールを評価する)、ルールを評価するときに、5 分より新しい新しいデータを取得できない可能性があります (そのため、少なくとも 10 が適切な数です)。

このすべてが、Wasabi で何が起こっているのかを明確にするのに役立つことを願っています。ありがとう

于 2012-05-04T21:01:52.363 に答える
-1

WASABiについてはよくわかりませんが、紺碧の管理と自動スケーリングのSaaSサービス(OpsteraのAzureOps)を提案したいと思います。これにより、シンプルで直感的なUIを使用してこれを実行できます。追加のインフラストラクチャやコーディングはありません。こちらからチェックしてくださいAzureOps


Opsteraのサポートに感謝します

于 2012-05-02T13:38:26.393 に答える