はじめに
この記事では、Azure VMでディスク使用率に関するアラートを設定する方法について説明します。ディスクアラートは、ディスク使用率が高くなった際に早期に対応するために重要です。例えば、急なデータ増加によるディスク容量不足を未然に防ぐことで、システムのパフォーマンス低下やサービス停止を防ぐことができます。
具体例
例えば、あなたがECサイトの運営をしているとします。セール期間中に予想以上のアクセスがあり、サーバーに保存されるデータ量が急増することがあります。ディスク容量が限界に達すると、データの書き込みができなくなり、最悪の場合、サイトがダウンしてしまう可能性があります。ディスクアラートを設定しておくことで、ディスク使用率が高くなった際に早期に通知を受け取り、適切な対応を取ることができるため、このようなトラブルを防ぐことができます。
前提条件
- Azureアカウントを持っていること
- 基本的なAzureポータルの操作方法を理解していること
Azureの初期設定などはこちらの記事をご参照ください。
https://envader.plus/article/415
環境設定
この章では、Azure環境を設定するための基本的な手順を説明します。まず、Azureポータルにアクセスし、必要なリソースグループを作成します。これにより、後続の手順で必要となる仮想マシンや他のリソースを整理して管理できます。
Azureポータルへのアクセス
- ブラウザを開き、Azureポータルにアクセスします。
- ブラウザのアドレスバーにURLを入力し、Enterキーを押します。
- Azureポータルにアクセスすることで、リソースの作成や管理を行うための管理画面に入ることができます。
- Azureアカウントの資格情報を入力してログインします。
- メールアドレスとパスワードを入力し、サインインボタンをクリックします。
- ログインすることで、自分のAzure環境にアクセスし、必要な操作を行うことができます。
リソースグループの作成
- Azureポータルでリソースグループを作成
- 左側のナビゲーションメニューから「リソースグループ」を探し、クリックします。
- リソースグループはAzureリソースをまとめて管理するためのコンテナです。これにより、仮想マシンやストレージなどを論理的に整理できます。
- 「+ リソースグループ」をクリックします。
- 画面上部の「+ 追加」ボタンをクリックして、新しいリソースグループの作成を開始します。
- リソースグループ名に「myResourceGroup」を入力し、リージョンを「Japan East」に設定して、「確認および作成」をクリックします。
- リソースグループ名を入力し、ドロップダウンメニューから「Japan East」を選択します。
- 日本リージョンを選択することで、リソースの物理的な場所が日本となり、遅延を減少させることができます。
- 設定を確認し、「確認および作成」ボタンをクリックします。
仮想マシンの作成
この章では、Azure仮想マシン(VM)を作成する手順を説明します。仮想マシンは、ディスクアラートの設定を行う対象となる主要なリソースです。仮想マシンを作成し、その上でアプリケーションを実行したりデータを保存したりします。
VMの設定
-
仮想マシンの作成
- Azureポータルの左側メニューから「Virtual Machines」を選択し、画面上部の「+ 作成」ボタンをクリックして「Azure 仮想マシン」を選択し、新しい仮想マシンの作成を開始します。
- 仮想マシンは、Azure上でアプリケーションを実行するための基盤です。
-
基本設定タブで以下の情報を入力します。
- リソースグループ: 「myResourceGroup」を選択
- 先ほど作成したリソースグループを選択することで、リソースの管理が容易になります。
- 仮想マシン名: 「myVM」
- 仮想マシンの名前を入力します。この名前はAzureポータルで仮想マシンを識別するために使用されます。
- 地域: 「Japan East」
- 仮想マシンを配置する地域(リージョン)を選択します。「Japan East」を選択することで、日本に近いデータセンターにリソースが配置され、遅延が少なくなります。
- イメージ: 「Windows Server 2019 Datacenter」または「Ubuntu 20.04 LTS」
- 仮想マシンにインストールするOSイメージを選択します。Windows ServerまたはUbuntuを選択します。
- サイズ: 適切なVMサイズ(例: Standard_DS1_v2)
- 仮想マシンのサイズを選択します。選択したサイズに応じて、CPUやメモリのリソースが割り当てられます。
- リソースグループ: 「myResourceGroup」を選択
-
「確認および作成」をクリックして仮想マシンを作成します。
- 設定内容を確認し、問題がなければ「確認および作成」ボタンをクリックして仮想マシンを作成します。
診断設定の有効化
この章では、仮想マシンの診断設定を有効にする手順を説明します。診断設定を有効にすることで、Azure Monitorが仮想マシンのメトリックデータを収集できるようになります。これにより、ディスク使用率の監視が可能になります。
診断設定の概要
診断設定を有効にすると、仮想マシンのパフォーマンスデータや診断ログを収集し、Azure Monitorに送信することができます。これにより、仮想マシンのリソース使用率やパフォーマンスの詳細なデータを監視し、必要なアラートを設定することが可能になります。
診断設定の設定
-
仮想マシンの詳細ページに移動し、左側メニューから「診断設定」を選択します。
- 仮想マシンの管理画面にアクセスし、左側のナビゲーションメニューから「監視」セクションの「診断設定」を見つけてクリックします。
-
「+ 診断設定の追加」をクリックします。
- 診断設定画面で、「+ 診断設定の追加」ボタンをクリックして、新しい診断設定を作成します。
-
診断設定の名前を「myDiagnosticSettings」に設定し、「ストレージアカウント」にデータを保存するためのストレージアカウント(例: 「mystorageaccount」)を選択します。
- 診断設定に適切な名前(例: 「myDiagnosticSettings」)を入力します。
- データを保存するために使用するストレージアカウントをドロップダウンメニューから選択します。まだストレージアカウントがない場合は、新しく作成する必要があります。
-
** ゲスト レベルの監視を有効にする**
- 「ゲスト レベルの監視を有効にする」を押下することで、仮想マシン内の詳細なメトリックデータ(例えばディスク使用率など)を収集することができます。Linuxの場合は、Python2が必要となるので、インストールする必要があります。
データ収集ルールの設定
この章では、Azure Monitorでデータ収集ルール(Data collection rules, DCR)を設定する手順を説明します。DCRを設定することで、特定のメトリックやログデータを効率的に収集し、ディスク使用率などの監視を行うことができます。
データ収集ルールの概要
データコレクションルール(DCR)は、Azure Monitorで収集するデータをカスタマイズするための設定です。DCRを使用することで、必要なメトリックやログを選択的に収集し、監視やアラートの精度を高めることができます。
データ収集の設定
-
Azureポータルで「モニター」を選択し、「設定」セクションから「データ収集ルール」をクリックします。
- Azureポータルの左側メニューから「モニター」を選択します。
- 「モニター」ダッシュボードで「データ収集ルール」をクリックします。
-
「+ データ収集ルール」をクリックし、新しいルールを作成します。
- 画面上部の「+ 作成」ボタンをクリックして、新しいデータコレクションルールの作成を開始します。
-
ルール名に「myDCR」、リソースグループに「myResourceGroup」、リージョンに「Japan East」を設定し、「次へ: データソース」をクリックします。
- 新しいデータコレクションルールに名前(例: 「myDCR」)を入力します。
- リソースグループとして「myResourceGroup」を選択します。
- Region(地域、リージョン)を「Japan East」に設定します。
- プラットフォームの種類を仮想マシンのOS(Windows, Linuxなど)に設定します。
- 「次へ: リソース」ボタンをクリックして次のステップに進みます。
-
リソース
- リソースの選択画面で、右画面から「myVM」を選択し「適用」します。
- 「次へ: 収集と配信」ボタンをクリックして次のステップに進みます。
-
収集と配信
- 右側のデータソースの追加画面で、「パフォーマンスカウンター」を選択します。
- カスタムを選択し、
Logical Disk(*)\% Free Space
が選択されていることを確認します。デフォルトでは全てにチェックが入っています。 - 「データソースの追加」ボタンをクリックします。
- これにより、ディスクの空き容量の割合を監視する設定が追加されます。
-
「確認および作成」をクリックしてデータコレクションルールを作成します。
- 設定内容を確認し、問題がなければ「確認および作成」ボタンをクリックしてデータコレクションルールを作成します。
- これにより、指定したメトリック(LogicalDisk % Free Space)がLog Analyticsワークスペースに送信され、Azure Monitorで利用できるようになります。
アラートルールの作成
この章では、Azure Monitorを使用してアラートルールを作成する手順を説明します。アラートルールを設定することで、ディスク使用率が一定の閾値を超えた際に通知を受け取ることができます。
カスタムログの検索を用いたアラートルールの作成
-
Azureポータルで「モニター」を選択し、「アラート」をクリックします。
- Azureポータルの左側メニューから「モニター」を選択し、次に「アラート」をクリックします。
- 「アラートルール」を押下し、アラートルールの管理画面に移動します。
-
アラートルールの作成
- 画面上部の「+ 作成」ボタンをクリックして、新しいアラートルールの作成を開始します。
-
リソースの選択
- 「スコープ」セクションで、「リソースの選択」ボタンをクリックし、リストから「myVM」を選択し「適用」します。
-
条件の設定
- 「シグナル名」の選択画面で、「カスタムログ検索」を選択します。
-
ログ画面にクエリを入力
- ディスク使用率が80%を超えた場合にアラートを出すためには、空き容量が20%未満になったことを監視します。そのために、「LogicalDisk % Free Space」を使用します。
- Windowsの場合:
Perf | where ObjectName == "LogicalDisk" and CounterName == "% Free Space" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 5m) | where AggregatedValue < 20
- Linuxの場合:
Perf | where ObjectName == "Logical Disk" and CounterName == "% Free Space" | summarize AggregatedValue = avg(CounterValue) by bin(TimeGenerated, 5m) | where AggregatedValue < 20
- このクエリは、LogicalDiskまたはLogical Diskの% Free Spaceが20%未満の場合にアラートをトリガーします。
- 実行し問題なければ、下部に表示されている「アラートの編集を続行する」を押下し、検索クエリに反映します。
-
アラートルールの作成
- 集計の粒度は「5」分に設定します。
- アラートロジックの演算子は「次の値より小さい」を選択します。
- 閾値は「20」に設定します。
- 評価の頻度は「5」分に設定します。
- その他の設定はデフォルトのままにし、「次へ:アクション」を押下します。
アラートルールの設定
-
「アクション」をクリックし、新しいアクショングループを作成します。
- 「アクション」セクションで、「アクショングループの作成」をクリックし、新しいアクショングループを作成します。
- アクショングループは、アラートが発生した際に通知を送る先を定義します。
-
アクショングループの名前を「myActionGroup」に設定し、通知方法(メール、SMSなど)を設定します。
- アクショングループ名を「myActionGroup」とし、通知方法を選択します(例: メール、SMS)。
- 必要な通知先の情報を入力します。
-
「確認および作成」をクリックしてアラートルールを作成します。
- 全ての設定内容を確認し、「確認および作成」ボタンをクリックしてアラートルールを作成します。
テストと確認
この章では、設定したアラートルールが正しく動作するかを確認するための手順を説明します。設定したアラートが期待通りに機能することを確認することで、実際の問題発生時に適切な通知を受け取ることができます。
アラートのトリガー
-
仮想マシンで大量のデータを作成し、ディスク使用率を上昇させます。
- 仮想マシンにログインし、ファイルを生成するスクリプトを実行するなどして、大量のデータを作成します。
- 例:以下のスクリプトはLinux仮想マシンで一時ファイルを作成するコマンドです。
dd if=/dev/zero of=/mnt/data/largefile bs=1M count=100000
- これにより、ディスク使用率が急上昇し、設定した閾値に達します。
-
設定した閾値に達すると、アラートがトリガーされることを確認します。
- Azureポータルの「Monitor」セクションで、アラートの履歴を確認します。
- 設定した閾値(ディスク使用率が80%を超えた場合)に達した際に、アラートがトリガーされているか確認します。
通知の確認
- 設定した通知方法(メール、SMSなど)でアラート通知が届くかを確認します。
- アクショングループで設定した通知先(メールアドレスやSMS番号)にアラート通知が届いているか確認します。
- 通知が届かない場合、設定を再確認し、正しく設定されているか確認します。
ここまでお疲れさまでした。ディスクアラートの設定が完了し、実際に動作することを確認できましたね。この設定により、仮想マシンのディスク使用率が高くなった際に迅速に対応することができ、システムの安定運用に役立ちます。実際の現場でも必要なスキルの一つですので、ぜひ活用でしください。
まとめ
設定の振り返り
この記事では、Azure VMでディスク使用率に関するアラートを設定する手順を説明しました。まず、Azureポータルにアクセスし、リソースグループと仮想マシンを作成しました。次に、診断設定を有効にしてメトリックデータを収集し、データコレクションルールを設定して必要なメトリックをLog Analyticsワークスペースに送信しました。そして、カスタムログ検索を使用してアラートルールを作成し、ディスク使用率が80%を超えた場合に通知を受け取るように設定しました。最後に、アラートのトリガーと通知の確認を行い、設定が正しく機能することを確認しました。
参考資料
この記事を通じて、Azure VMのディスクアラート設定がどのように行われるかを理解し、実際に設定する手順を学んでいただけたと思います。ディスク使用率の監視は、システムのパフォーマンスと安定性を保つために非常に重要です。設定内容を再確認し、参考資料を活用して、さらに知識を深めてください。お疲れ様でした。
【番外編】USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
プログラミング塾に半年通えば、一人前になれると思っているあなた。それ、勘違いですよ。「なぜ間違いなの?」「正しい勉強法とは何なの?」ITを学び始める全ての人に知って欲しい。そう思って書きました。是非読んでみてください。
「フリーランスエンジニア」
近年やっと世間に浸透した言葉だ。ひと昔まえ、終身雇用は当たり前で、大企業に就職することは一種のステータスだった。しかし、そんな時代も終わり「優秀な人材は転職する」ことが当たり前の時代となる。フリーランスエンジニアに高価値が付く現在、ネットを見ると「未経験でも年収400万以上」などと書いてある。これに釣られて、多くの人がフリーランスになろうとITの世界に入ってきている。私もその中の1人だ。数年前、USBも知らない状態からITの世界に没入し、そこから約2年間、毎日勉学を行なった。他人の何十倍も努力した。そして、企業研修やIT塾で数多くの受講生の指導経験も得た。そこで私は、伸びるエンジニアとそうでないエンジニアをたくさん見てきた。そして、稼げるエンジニア、稼げないエンジニアを見てきた。
「成功する人とそうでない人の違いは何か?」
私が出した答えは、「量産型エンジニアか否か」である。今のエンジニア市場には、量産型エンジニアが溢れている!!ここでの量産型エンジニアの定義は以下の通りである。
比較的簡単に学習可能なWebフレームワーク(WordPress, Rails)やPython等の知識はあるが、ITの基本概念を理解していないため、単調な作業しかこなすことができないエンジニアのこと。
多くの人がフリーランスエンジニアを目指す時代に中途半端な知識や技術力でこの世界に飛び込むと返って過酷な労働条件で働くことになる。そこで、エンジニアを目指すあなたがどう学習していくべきかを私の経験を交えて書こうと思った。続きはこちらから、、、、
エンベーダー編集部
エンベーダーは、ITスクールRareTECHのインフラ学習教材として誕生しました。 「遊びながらインフラエンジニアへ」をコンセプトに、インフラへの学習ハードルを下げるツールとして運営されています。
関連記事
2020.02.25
完全未経験からエンジニアを目指す爆速勉強法
USBも知らなかった私が独学でプログラミングを勉強してGAFAに入社するまでの話
- キャリア・学習法
- エンジニア
2024.09.01
ここ最近Azureのシェアが伸びている理由は?
Azureのシェアは2019年には16%程度だったことをご存知でしょうか?その後、毎年着実にシェアを拡大してきました。
- Azure
2024.08.31
AzureにはNATゲートウェイはいらない?AWSとの違いとAzureでの使いどころ
この記事では、Azureの「NATゲートウェイが不要」とされる理由を詳しく探ります。具体的には、Azureがどのようにデフォルト設定でインターネット接続を提供しているのか、その利便性や制約について解説します。
- AWS
- Azure
- ネットワーク
2023.11.30
Azure API Gatewayを活用したWebアプリ開発
API Gatewayを使用することで、開発者はAPIの作成・公開・保守・監視を簡単に行うことができ、さらにセキュリティの強化やトラフィック管理も可能になります。
- Azure