Azure Web Appsのリソース監視を設定してみた

 

Azure Web Appsのリソース(CPU使用率やメモリ使用率)を見ようと確認してみた所、Azure Web Appsのメトリックにはありませんでした。

何故?という事で調べてみた結果、マイクロソフト様のサイトに答えがありました。

https://docs.microsoft.com/ja-jp/azure/app-service/web-sites-monitor

サイトの記載を見ると、CPU使用率等のリソースについては、App Service プランのメトリックにあると記載がありました。

今回は、CPU使用率等のAzure Web Appsリソースを見てみる事から、監視設定まで実際に触って確認してみました。

1 .Azure Web AppsのメトリックにはCPU使用率がありません

最初にAzure PortalでAzure Web Appsのメトリックを見てみました。

それらしい、CPU Timeはありますが、CPU使用率のようなものはありません。

という事で、Azure App Service プランを見てみます。

2 .Azure App Service プランのメトリックにWeb Appsのリソースはあります

Azure PortalでApp Service プランのメトリックを見てみました。

ちゃんと、CPU使用率やメモリ使用率がありました。

Azure Web Appsのリソースを指定しているのはApp Serviceプランになります。

リソースについてはリソース指定しているもので見るのが正解!!

という事でCPU使用率などのメトリックもApp Serviceプランにあるという事に気づきました。(当たり前な話なんでしょうけど。。。)

.Azure Web Appsのリソース拡張もApp Serviceプランで設定

Azure Web Appsですが料金プランによっては、自動リソース拡張が設定できます。

ではこの設定自体はどこにあるというと、こちらも、App Serviceプランの設定になります。

Web Appsのスケールアウトの設定にありますが、実際はApp Serviceプランの設定となっています。(App Serviceプラン側のメニューでも全く同じ事ができます)

.Azure Web Appsのリソース監視(App Serviceプランのリソース監視)

最後に、Azure Web Appsのリソース監視を確認してみます。これはApp Service プランのリソース監視を行う事になります。実際に見てみます。

 1)モニターのアラートを選択すると下記画面が表示されますので、新しいアラートルールを選択します。

 

 2)リソースの選択をします。

 

 3)リソースの種類でフィルターでプルダウンを選択すると、App Serviceプランがありますのでこちらを選択します。

 

 4)Web Appsに紐づいているApp Serviceプラン名を指定します。

 

 5)監視の条件を選択します。

 

 6)シグナルロジックの選択をします。今回はCPU使用率ですので、CPU Percentageを選択します。

 

7)シグナルロジックの構成が表示されますので設定を行います。設定が終わったら完了をクリックします。

 例えば80%より大きい場合はアラートといった場合は、アラートロジックは下記の通りのようにします。

        • しきい値:Static
        • 演算子:次の値より大きい
        • 集計の種類:平均
      • しきい値:80

 

8)アクショングループの設定で通知方法の設定を行います。

9)アラートルールの設定でアラートルール名の設定等を行います。

これですべての設定が終了ですので、アラートルールの作成をクリックします。

アラートルールが作成され、しばらくすると監視が開始されます。

Azure Web Appsの拡張機能を使わずにLet’s Encryptで証明書を発行してOpenSSLでPFX形式へ変換してみた

 

Let’s EncryptのSSL証明書作成をWeb Appsで試してみようとして調べてみた所、Web Appsの拡張機能を使う方法が多く紹介されていました。

しかし、Web AppsをLinux+PHPの構成で試していたのですが、Web Appsの拡張機能が有効になってませんでした。

どうしようか?と途方に暮れていたのですが、よく考えたらWeb AppsってUbuntuだから普通にできるのでは?と気づき試してみました。

結果、普通にUbuntuで実施する手順で証明書の作成できました。作業内容をメモとして記しておきます。

Azure Key Vaultの証明書期限切れ前のメール通知についてはこちらで試しております。

Azure Key Vaultで証明書期限切れ前にMail通知する

————————-

1 .Lets Encryptの証明書発行を行う

最初にAzure Portal上で自分のWeb AppsへSSHで接続します。

サーバ上でLets Encrypt証明書発行の為に、実施する手順は以下の通りです。

    • aptアップデート
    • certbotのインストール
    • certbotコマンドで証明書の発行

なお、最初にapt updateしてからでないとcertbotインストール時にエラーになりました。なおオプションを使わずcertbot certonlyコマンドでも同様の事が可能です。

#updateを実施する

[root@ホスト名 tmp]# apt -y update

#certbotをインストールします

[root@ホスト名 tmp]# apt -y install certbot

#証明書を発行する(ドメインは自分のサイトに合わせて設定します。)

[root@ホスト名 tmp]# certbot certonly –webroot -w /home/site/wwwroot -d ドメイン名

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter ‘c’ to
cancel):メールアドレスを入力

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(A)gree/(C)ancel: A    (承諾の確認です。Aを選択します)

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(Y)es/(N)o: N    (案内メール送信の確認です。必要ならYを選択します)

作成されたメッセージが表示されます

 

Let’s Encryptで発行された証明書は/etc/letsencrypt/live/ドメイン名/ 配下に生成されます。

.OpenSSLを使ってpem形式からpfx形式へ変換する

Azure 上では独自ドメインの証明書をpfx形式で扱います。そこでopensslコマンドで変換を行います。

opensslはデフォルトで入っていた為、インストールの必要はありませんでした。

#証明書が作成されているディレクトリに移動します

[root@ホスト名 tmp]# cd /etc/letsencrypt/live/ドメイン名/

#opensslコマンドでpem形式からpfx形式に変換する

[root@ホスト名 tmp]# openssl pkcs12 -export -inkey privkey.pem -in cert.pem -out 証明書名.pfx

Enter Export Password:パスワード
Verifying – Enter Export Password:パスワード

pfx形式の証明書が作成されたメッセージが表示されます

最後にできた証明書ファイルを/home配下にファイル移動し、FTPS等でサーバからダウンロードすれば作業完了です。

念のため/etc/letsencrypt/live配下やサーバ上の証明書は削除しておきましょう。

Web Appsの再起動等を実施するとcertbotのパッケージがなくなりますので、インストールから再度実施する必要があります。

App ServiceでのSSL証明書設定についてはこちらで試しております。

Azure App ServiceでカスタムドメインとSSL証明書を使う