Heartbeat を使用して、ICMP および HTTP サービスの可用性をモニタリングし、その結果を可視化します。
背景情報
Heartbeat は、リモートサーバーにインストールする軽量なデーモンで、サービスの可用性を定期的にチェックします。Metricbeat がサーバーの稼働状況(アップまたはダウン)のみを検出するのに対し、Heartbeat はサービスが到達可能かどうかを検証します。
エッジノードにインストールする必要があるほとんどの Beats シッパーとは異なり、Heartbeat は監視対象サービスが実行されているネットワークの外部にある別のマシンでも実行できます。
Heartbeat は、次の 3 種類のモニターをサポートしています。
-
ICMP モニター (ICMPv4 および ICMPv6):ICMP リクエストを送信してサービスの可用性をチェックします。root 権限が必要です。
-
TCP モニター:TCP 経由でサービスに接続し、特定のペイロードを送受信して可用性を検証します。
-
HTTP モニター:HTTP 経由でサービスに接続し、特定のステータスコード、レスポンスヘッダー、またはコンテンツをチェックして可用性を検証します。
説明TCP モニターおよび HTTP モニターは、SSL、TLS、および一部のプロキシ設定をサポートしています。
前提条件
-
Alibaba Cloud Elasticsearch インスタンスを作成します。
詳細については、「Alibaba Cloud Elasticsearch インスタンスの作成」をご参照ください。
-
ご利用の Alibaba Cloud Elasticsearch インスタンスで 自動インデックス 機能を有効化します。
セキュリティ上の理由から、Alibaba Cloud Elasticsearch では 自動インデックス がデフォルトで無効になっています。ただし、Beats はこの機能に依存しています。シッパーの 出力 として Elasticsearch を選択する場合は、自動インデックス 機能を有効化する必要があります。詳細については、「インスタンスへのアクセスと構成」をご参照ください。
-
Alibaba Cloud Elasticsearch インスタンスと同じ VPC 内に Alibaba Cloud ECS インスタンスを作成します。
詳細については、「カスタムインスタンスの作成」をご参照ください。
重要Beats は現在、Alibaba Cloud Linux (Alinux)、Red Hat、および CentOS のオペレーティングシステムのみをサポートしています。
-
対象の ECS インスタンスにクラウドアシスタントおよび Docker をインストールします。
詳細については、「クラウドアシスタントエージェントのインストール」および「Docker のデプロイと使用」をご参照ください。
操作手順
Alibaba Cloud Elasticsearch コンソール にログインします。
-
左側のナビゲーションウィンドウで、Beats データシッパー をクリックします。
-
シッパーの作成 セクションで、Heartbeat をクリックします。
-
シッパーをインストールして構成します。
詳細については、「Filebeat を使用した ECS サービスログの収集」および「シッパー YML 構成」をご参照ください。本トピックで使用する構成は以下のとおりです。
説明-
Kibana モニタリングの有効化 を選択します。これにより、Kibana コンソールで Heartbeat サービスのモニタリングが有効になります。
-
Kibana ダッシュボードの有効化 を選択します。これにより、追加の YML 構成なしで Kibana コンソールにダッシュボードが生成されます。Alibaba Cloud Kibana は VPC 内にデプロイされているため、Kibana 構成ページでプライベートネットワークアクセスを事前に有効化する必要があります。詳細については、「Kibana を使用したクラスターへの接続」をご参照ください。
モニターを設定するには、次の例に示すように、heartbeat.yml ファイルで
heartbeat.monitorsパラメーターを設定します。heartbeat.monitors: - type: icmp schedule: '*/5 * * * * * *' hosts: ["47.111.xx.xx"] - type: http # List or urls to query urls: ["https://es-cn-xxxxx.kibana.elasticsearch.aliyuncs.com:5601/"] # Configure task schedule schedule: '@every 10s' check.response.status: 200パラメーター
説明
typeモニターのタイプ。本トピックでは
icmpモニターおよびhttpモニターを使用します。scheduleタスクのスケジュール。
schedule: '*/5 * * * * * *'は 5 秒ごとにタスクを実行します。schedule: '@every 10s'は Heartbeat の起動後、10 秒ごとにタスクを実行します。hostsチェック対象のホストリスト。
urlsチェック対象の URL リスト。
check.response.status検証する HTTP ステータスコード。
check.response.status: 200は、ステータスコード200を返す場合にのみサービスが正常とみなされることを意味します。説明パラメーターの詳細については、公式 Heartbeat 構成ドキュメントをご参照ください。
-
-
シッパーをインストールする ECS インスタンスを選択します。
選択した ECS インスタンスは、前提条件を満たしている必要があります。
-
シッパーを起動し、インストールステータスを確認します。
-
Start をクリックします。
シッパーが正常に起動すると、シッパーの有効化 ダイアログボックスが表示されます。
-
Beats シッパーに戻る をクリックして、Beats データシッパー ページに戻ります。シッパーの管理 セクションで、新しくインストールされた Heartbeat シッパーを見つけます。
-
シッパーの ステータス が Enabled 1/1 に変化するまで待ちます。その後、Actions 列で インスタンスの表示 をクリックします。
-
インスタンスの表示 ページで、インストール済みシッパー を確認します。ステータスが 正常なハートビート に変化したら、インストールは成功しています。
-
結果の確認
-
対象の Alibaba Cloud Elasticsearch インスタンスの Kibana コンソールにログインします。
詳細については、「Kibana コンソールへのログイン」をご参照ください。
-
左側のナビゲーションウィンドウで [Discover] をクリックします。事前定義済みの heartbeat-* インデックスパターンと期間を選択して、その期間の Heartbeat データを表示します。

-
左側のナビゲーションウィンドウで Dashboard をクリックします。
-
Dashboard リストで [Heartbeat HTTP monitoring] をクリックします。その後、期間を選択してその期間の HTTP ステータス統計を表示します。
