Windows Azure

Windows Azure管理ポータルにログインして、左のサイドメニューから「設定」をクリックして、一つ目のタブの「アラート」を選択する。

image

アラートの定義

名前、アラートの説明、サブスクリプション、サービスの種類、サービス名を選択します。

image

クラウドサービスを選択すると、デプロイメントを選択する画面がでます。

image

アラート通知の定義をします。
監視をする対象項目と、閾値、監視する値の算出方法、閾値を越えたときのアクションを選択します。

image

監視対象の項目として、CPUの割合、ディスクの書き込みバイト/秒、ディスクの読み取りバイト/秒、ネットワーク出力、ネットワーク入力を選択できます。

image

対象の値の算出方法として、最後の5分間の平均、最後の10分間の平均、最後の15分間の平均、最後の30分間の平均、最後の45分間の平均、最後の60分間の平均から選択できます。

image

メール通知先を選択できます。

image

 

アラート一覧の検索オプション

image

 

image

 

image

参考

Windows Azureで性能アラートと監視通知機能のプレビュー提供開始

Windows Azure

Windows Azure Blogの「Alerting and Notifications Support for Windows Azure Applications」を一部抜粋して、ざっくり意訳した投稿です。

コンピュートサービス(クラウドサービス、仮想マシン、Webサイト、モバイルサービス)用の監視メトリックをベースにしたアラートを設定できるようになりました。
アプリケーションでアクティブに、もしくは緊急事態をメール通知できるようになりました。

この機能は、監視メトリックス上でアラートルールを作成できます。重大事態のルールを定義し、アラートを作成します。アラートルールを作成すると、サービス管理者か共同管理者のメールにEメール通知するかどうかを選択することができます。

仮想マシンの監視メトリックスは、ホストOSから収集した性能情報(CPU使用率、ネットワークI/O、ディスクRead bytes/sec、ディスクWrite bytes/sec)や設定した監視WebエンドポイントURLのレスポンス時間やアップタイムを対象とします。

クラウドサービスの監視メトリックスは、ホストOS、ゲストOSから収集した性能カウンターと設定した監視WebエンドポイントURLのレスポンス時間やアップタイムを対象とします。

アラートルールの作成

Windows Azure管理ポータルの左サイドメニューから「設定」を選択し、画面中央の「アラート」タブを選択します。アラートルールを作成するには「Add Rule」ボタンをクリックします。

たとえば、5分間CPU使用率が50%を超えていた場合にアラートとするルールを作成できます。
アラートルールを作成すると最初は「Not Activated」状態になります。
閾値を超過すると「Active」になり、アラート状態が解決すると「Not Active」状態に戻ります。

CPU使用率の値は、過去5分間の平均値で判例されます。値が閾値を境に、問題が発生したり解決したりして状態が変更するたびにアラートされます。

アラート状態は次のように一覧表示されます。

詳細を見たいときは、アラーとルールをクリックするとアラーと詳細ページに遷移します。

最近Activeになったアラートの履歴を参照することができます。

アラート通知

アラートがActiveになったときに、Windows Azure Alerts(alerts-noreply@mail.windowsazure.com)からメールでアラートを管理者から共同管理者のアドレスに通知されることができます。

メール通知はアラートの状態が変化した際(ActiveやNot Activeになったタイミング)に送信されます。

サブスクリプション毎に最大10個のアラートルールを作成できます。

まとめ

今回のアップデートにより、監視メトリックスをベースにしたアラートルールを簡単に作成でき、アプリケーションで注意が必要な状況が発生したり解決した際に通知できるようになりました。
プレビューの間は、サブスクリプションのアラートルールの作成制限数は10となっています。この上限に達した場合、新しいルールを作成するには1つ以上のルールを削除する必要があります。

ちなみに・・・

まだ、自分のサブスクリプションには表示されていない。。

image

SQL Azure

全てのリージョンでWindows Azure SQL Databaseサービス用のサービス管理機能の一部に影響があるメンテナンスを実施する予定です。
このメンテナンスは、日本時間2013年6月1日朝7時から開始する予定で、終了まで2時間ほどかかります。

既存のデータベースには影響が無く、既存のサーバーに新しいデータベースを作成することにも影響が無い。新しいサブスクリプションを使用したり、新しいSQL Server Databases サーバーを作成すると、CreateやUpdate、Delete操作に影響がでる可能性があるとのこと。

原文

May 25 2013 6:00PM

We will be performing routine maintenance activity that will impact a subset of Service Management functions for Windows Azure SQL Database service in all regions.
This window of maintenance is planned starting from May 30th 2013 3:00pm PDT, and should last approximately 2 hours.
Expected impact includes problems with  Create, Update and Delete operations on Logical SQL Database servers and inability of newly provisioned subscriptions to use SQL Database service during the period of the maintenance activity.
New Subscriptions created during the maintenance time period will be able to use the SQL Database service after the maintenance is complete.
Operations on SQL Database such as  Create, Update, Delete or Read and availability of existing Databases are not impacted by this maintenance activity .
Applications & services (including web sites and mobile services) that use existing Databases or create new Databases in existing servers will not be impacted. We will update the Windows Azure Service Dashboard as we work through this maintenance window with latest updates and expected impact.
Sorry for the inconvenience this may cause.

参照元:http://www.windowsazure.com/en-us/support/service-dashboard/

Windows Azure

概要

スタートアップスクリプトはたいていの場合、ServiceDefinition.csdefで定義されます。
もしIISの設定を変更する必要があるなら、ロールのOnStartメソッドからスクリプトを実行する必要があります。この投稿は、configuration-driven定義を使用して設定するためのいくつかのサンプルを提供します。

本題

Windows Azureクラウドサービスで、ServiceDefinition.csdefで<Startup>エレメントを使用してロールスタート時に実行すべきスクリプトを指定します。
しかし、IISの設定に対して変更したりクエリを発行する場合には使用することができません。

Kevin Williamsが投稿したブログWindows Azure Roleアーキテクチャ)で説明されています。
スタートアップタスクが完了した後(Step7)まで、IISConfiguratorはIISウェブサイトを作成(Step8)しません。
IISに対して何か設定したくても、ServiceDefinition.csdefでは定義を設定することができません。IISConfiguratorが動作した後で処理する必要があります。

ロールのOnStartメソッド(Step9がトリガーで動作します)で処理します。通常、Process.Startコールを経由して処理します。

OnStartメソッドからプロセスとスクリプトを開始する定義を使用した単純なソリューションを書きました。フルコードは、ここからダウンロードできます。一部を抜粋して説明します。

このソリューションでは、ServiceConfiguration.cscfgで設定の定義をするためにスクリプトを指定しています。

<ConfigurationSettings>
  <Setting name="RoleStartupScripts" value="startup\test1.cmd!;startup\test2.cmd;Powershell.exe startup\test3.ps1" />
    ....
</ConfigurationSettings>

この例では、一つ目のファイル名の後ろに「!」マークを書いています。

これは次のスクリプトを実行する前に、一つ目のファイルのプロセスが完全に終了するのを待つ必要があることを定義しています。「!」マークが無い場合は、処理が完了するのを待たずに次のスクリプトを実行することができます。

これらのスクリプトは権限の昇格が必要ありません。権限の昇格が必要な場合、ServiceDefinition.csdefファイルで<Runtime executionContext="elevated" />を設定します。

次に、プロセスを自動実行させるためにRoleEntriPointを拡張する抽象クラスStartupScriptEntryPointクラスを書きました。

public abstract class StartupScriptRoleEntryPoint : RoleEntryPoint
{
    public override bool OnStart()
    {
        var startupScripts = CloudConfigurationManager.GetSetting("RoleStartupScripts");
        if (!String.IsNullOrEmpty(startupScripts))
        {
            var scriptList = startupScripts.Split(';');
            foreach (var script in scriptList)
            {
                bool waitForExit = false;

                string scriptCommandLine = script;
                if (script.EndsWith("!"))
                {
                    scriptCommandLine = script.Substring(0, script.Length - 1);
                    waitForExit = true;
                }

                var args = CmdLineToArgvW.SplitArgs(scriptCommandLine);

                var processStartInfo = new ProcessStartInfo()
                {
                    FileName = args[0],
                    Arguments = string.Join(" ", args.Skip(1).ToArray()),
                    WorkingDirectory = AppDomain.CurrentDomain.BaseDirectory,
                    UseShellExecute = true,
                };
                var process = Process.Start(processStartInfo);
                if (waitForExit)
                {
                    process.WaitForExit();
                }
            }
        }
        return base.OnStart();
    }
}

デフォルトのRoleEntryPointの代わりにStartupScriptRoleEntryPointからWebRoleクラスを更新します。ほかにはコードの変更をする必要はありません。

public class WebRole : StartupScriptRoleEntryPoint
{
    public override bool OnStart()
    {
        // For information on handling configuration changes
        // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.

        return base.OnStart();
    }
}

意訳元のBlog

Running scripts from a Windows Azure role’s OnStart method

未分類

Microsoft ODBC for Hiveのアップデートがリリースされました。
新しいバージョンは、0.9.2.0です。
プレビュー版なので、プロダクションとしては使用しないほうが良いとのこと。

入手方法

ダウンロードセンター:Microsoft ODBC for Hive
旧バージョンをインストール済みの場合、アンインストールしてからインストールする必要があります。

What’s New

Hive Server 2に対応しており、並列接続と並列クエリに対応しており、前のバージョンで存在した並列上限はなくなりました。

Windows Azure HDInsight ServiceとHDInsight Developer Previewは最近の更新でHive Server2になりました。Azureサービスのほうは、2013年5月3日以降に作成されたクラスターでなければなりません。ローカルバージョンの場合は、ちょうど今日リリースしたバージョン0.6.0.0以降が必要です。

接続はバックエンドの変更なので、基本的に古いドライバーと同じです。
Azureサービスの場合は、接続パラメーターは古いドライバーと同じです。
ローカルデベロッパーエディションは、ポート10000の変わりに10001を使用します。

元情報

MSDNフォーラム:Microsoft ODBC Driver for Hive updated to version 0.9.2.0