こんにちは、Elastic認定資格3種(※)を保持しているノムラです。
※Elastic社の公式認定資格(Elastic Certified Engineer / Elastic Certified Analyst / Elastic Certified Observability Engineer)
Elastic Stack (Elasticsearch) Advent Calendar 2024の13日目のブログ記事になります。
qiita.com
Elastic CloudはElastic社が提供しているSaaSサービスで、クラウドプロバイダはAWS、Azure、GCP等をサポートしています。
最新バージョンのクラスタ構築や、既存クラスタのバージョンアップを数クリックで実施できるため、導入がお手軽です。
本記事ではElastic Cloudを利用してAWSのリソース・メトリック監視/ログ監視/死活監視を簡単に始める方法について手順ベースで紹介します。
はじめに
1. Elastic AWS Integrationのインストール
2. リソース・メトリック監視
3. ログ監視
4. 死活監視
まとめ
はじめに
以下本記事ではElastic Cloud(Elasticsearch Service)の名称を統一して「Elastic Cloud」で記載します。
またElastic Cloudと監視対象のAWS各サービスの構築手順/権限設定については割愛します。
Elastic Cloudの構築手順について不明な方は、以下の記事を参照ください。
AWSでElastic Cloudを利用する 2024年版(構築編) - Taste of Tech Topics
AzureでElastic Cloudを利用する 2024年版(構築編) - Taste of Tech Topics
構成イメージ
今回Elastic Agentを利用してAWSのリソース・メトリック監視/ログ監視/死活監視を実現します。
1.Elastic AWS Integrationのインストール
(2) EC2にElastic Agentをインストール
「Add Amazon EC2」を押下し遷移後、画面下部の「Install Elastic Agent」を押下しAgentのインストールを開始します
手順「①Install Elastic Agent on your host」に従って、EC2上でコマンドを実行しElastic Agentをインストールします。
手順通り実行すると、以下の通りAgentが登録されます。
(3) AWS Integrationの設定
そのまま画面下部の「Add the integration」を押下すると、AWS Integrationの設定画面に遷移します。
今回は以下の設定を行います。
- Collect EC2 logs from CloudWatchをオンに設定
- CloudWatch Logs の監視対象ログが登録されているARNを設定
- Collect EC2 metricsのCollection Periodを「1m」に設定
- Advanced Settingからアクセスキーとシークレットキーを入力
「Save and Continue」を押下後、「Save and deploy changes」を押下しAWS Integrationの設定をElastic Agentに反映します。
(4) AWS Integrationによるデータ登録の確認
上記までの操作でElastic Agent経由でEC2のメトリクスと、CloudWatch Logsに格納されているEC2のログが確認可能になりました。
2.リソース・メトリック監視
3.ログ監視
ログ監視にはLogs Explorerを利用します。
(1) Logs Explorerによるログ監視
Logs Explorerでは以下のようにログのタイムスタンプとそのSummaryが表示されます。何か問題が発生した際にはログメッセージやステータスを絞りこんで分析していくことで状況確認に利用可能です。
キャプチャでは特定ホストのErrorログのみを表示しています。
Elasticsearchの特徴になりますが、大量のログに対して絞り込みを行っても素早くレスポンスが返ってくるのは業務上快適だと思います。
このようにLogs Explorerで簡単にログの確認/分析が可能です。
ただし実際の運用では常時ダッシュボード/Logs Explorerを監視しているわけにはいきません。
そのためAlertsを設定することで特定条件での検知/通知が可能です。
Alertsの詳細/設定方法については以下ドキュメントをご参照ください。
Create and manage rules | Elastic Observability [8.16] | Elastic
4.死活監視
最後に死活監視も実施していきます。死活監視にはSynthetic monitoringの機能を利用します。
Synthetic monitoringの詳細については以下のドキュメントをご参照ください。
Synthetic monitoring | Elastic Observability [8.16] | Elastic
(1) Synthetic monitoring画面へアクセス
Kibana画面左のメニューから[Applications] ⇒ [SYNTHETICS] ⇒ [Monitors]を選択しSynthetic monitoringの画面へ遷移します。
(2) 監視対象を設定
画面上部の「select a different monitor type」を押下し、以下の通り設定し「Create Monitor」を押下します。
項目名 | 設定値 | 今回の設定値 |
---|---|---|
Select a monitor type | HTTP Ping、TCP Ping等 | HTTP Ping |
URL | <監視対象URL> | LogstashサーバURL |
Monitor name | 任意の名前 | LogstashServer |
Locations | 監視対象が起動している地域 | US East |
(3) 監視結果を確認
Synthetic monitoringによってKibana画面の設定のみで対象ホストの死活監視が可能になり、簡単に死活監視が実現可能になりました。
(これまではHeartbeatというBeatsを監視対象サーバにインストールする必要がありました)
まとめ
Elastic Cloudで簡単にAWS上のサービスに対してObservabilityを実現できました。
途中にも記載しましたが他クラウド環境/オンプレ環境の情報も集約してリソース・メトリック監視/ログ監視/死活監視を実現できるのはElastic Cloud(Elastic Stack)の利点だと思います。
Acroquest Technologyでは、キャリア採用を行っています。
- Azure OpenAI/Amazon Bedrock等を使った生成AIソリューションの開発
- ディープラーニング等を使った自然言語/画像/音声/動画解析の研究開発
- マイクロサービス、DevOps、最新のOSSやクラウドサービスを利用する開発プロジェクト
- 書籍・雑誌等の執筆や、社内外での技術の発信・共有によるエンジニアとしての成長
少しでも上記に興味を持たれた方は、是非以下のページをご覧ください。