このトピックでは、Alibaba Cloud Heartbeat を使用して、インターネット制御メッセージプロトコル(ICMP)サービスと HTTP サービスのステータスをチェックする方法について説明します。また、視覚的なチャートを生成することもできます。
背景情報
Heartbeat は軽量デーモンです。リモートサーバーにインストールして、サービスの可用性を定期的にチェックできます。 Heartbeat は Metricbeat とは異なります。 Heartbeat はサービスに到達可能かどうかをチェックしますが、Metricbeat はサービスが実行されているかどうかをチェックします。
ほとんどの Beats シッパーはエッジノードにインストールする必要があります。ただし、Heartbeat は別のコンピューター、または監視対象のサービスがデプロイされているネットワークの外部にインストールすることもできます。
Heartbeat は、次のタイプのモニターをサポートしています。
ICMPv4 または ICMPv6 モニター:ICMP リクエストを送信して、サービスが利用可能かどうかをチェックします。このタイプのモニターは、ICMP 経由でサービスに接続します。 ICMP モニターを使用する場合は、root 権限が必要です。
TCP モニター:特定のワークロードを送受信して、サービスが利用可能かどうかをチェックします。このタイプのモニターは、TCP 経由でサービスに接続します。
HTTP モニター:特定のステータスコード、レスポンスヘッダー、またはレスポンスコンテンツに基づいて、サービスが利用可能かどうかをチェックします。このタイプのモニターは、HTTP 経由でサービスに接続します。
説明TCP モニターと HTTP モニターは、Secure Sockets Layer(SSL)、Transport Layer Security(TLS)、および一部のプロキシ設定をサポートしています。
前提条件
Alibaba Cloud Elasticsearch クラスターが作成されていること。
詳細については、「Alibaba Cloud Elasticsearch クラスターを作成する」をご参照ください。
[自動インデックス作成] 機能が Elasticsearch クラスターで有効になっていること。
セキュリティ上の理由から、Alibaba Cloud Elasticsearch はデフォルトで [自動インデックス作成] 機能を無効にしています。ただし、Beats はこの機能に依存しています。シッパーを作成するときに [出力] に [elasticsearch] を選択した場合は、[自動インデックス作成] 機能を有効にする必要があります。詳細については、「Elasticsearch クラスターにアクセスして構成する」をご参照ください。
Elasticsearch クラスターが存在する仮想プライベートクラウド(VPC)に Alibaba Cloud Elastic Compute Service(ECS)インスタンスが作成されていること。
詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
重要Beats は、Alibaba Cloud Linux (Alinux)、Red Hat Enterprise Linux(RHEL)、CentOS のみをサポートしています。
クラウドアシスタントと Docker が ECS インスタンスにインストールされていること。
詳細については、「クラウドアシスタントエージェントをインストールする」および「ECS インスタンスに Docker をデプロイして使用する」をご参照ください。
手順
Alibaba Cloud Elasticsearch コンソール にログインします。
左側のナビゲーションペインで、[beats データシッパー] をクリックします。
表示されるページの [シッパーの作成] セクションで、[heartbeat] をクリックします。
シッパーをインストールして構成します。
詳細については、「ECS インスタンスのログを収集する」および「シッパーの YML 構成ファイルを準備する」をご参照ください。次の図は、この例で使用されている構成を示しています。
説明[kibana 監視を有効にする] を選択すると、システムは Kibana コンソールで Heartbeat サービス監視を有効にします。
[kibana ダッシュボードを有効にする] を選択すると、システムは Kibana コンソールでチャートを生成します。 YML ファイルを構成する必要はありません。Alibaba Cloud Kibana は VPC にデプロイされています。Kibana 構成ページで Kibana のプライベートネットワークアクセス機能を有効にする必要があります。詳細については、「Kibana のパブリックまたはプライベート IP アドレスホワイトリストを構成する」をご参照ください。
シッパーを構成するときは、[heartbeat.yml] の
heartbeat.monitorsパラメーターを構成してモニターを構成します。この例では、次のモニター構成が使用されています。heartbeat.ymlheartbeat.monitors: - type: icmp schedule: '*/5 * * * * * *' // タスクスケジュールの設定 hosts: ["47.111.xx.xx"] // ping を送信するサーバー - type: http # List or urls to query // クエリする URL のリスト urls: ["https://es-cn-xxxxx.kibana.elasticsearch.aliyuncs.com:5601/"] # Configure task schedule // タスクスケジュールの設定 schedule: '@every 10s' check.response.status: 200 // HTTP リクエストに対して返される予期される HTTP ステータスコードパラメーター
説明
typeモニタータイプ。上記の構成では、
icmpモニターとhttpモニターが指定されています。scheduleタスクスケジュール。このパラメーターを
'*/5 * * * * * *'に設定すると、システムは 5 秒間隔でタスクを実行します。このパラメーターを'@every 10s'に設定すると、システムは Heartbeat が開始されてから 10 秒間隔でタスクを実行します。hostsping を送信するサーバー。
urlsping を送信する URL。
check.response.statusHTTP リクエストに対して返される予期される HTTP ステータスコード。このパラメーターを
200に設定すると、システムは200が返された場合に関連するサービスが正常であると判断します。説明詳細については、「オープンソースの Heartbeat ドキュメント」をご参照ください。
シッパーをインストールする ECS インスタンスを選択します。
選択した ECS インスタンスは、上記のすべての必須条件を満たしている必要があります。
シッパーを起動し、シッパーがインストールされていることを確認します。
[起動] をクリックします。
その後、[シッパーの起動] メッセージが表示されます。
[beats データシッパーに戻る] をクリックします。 荷送人を管理[beats データシッパー] ページの セクションで、インストールされているシッパーを表示します。
シッパーの [状態] が [有効 1/1] に変わったら、インスタンスの表示[アクション] 列の をクリックします。
[インスタンスの表示] パネルで、シッパーが ECS インスタンスにインストールされていることを確認します。 [インストール済みシッパー] の値が [通常 Heartbeat] の場合、シッパーはインストールされています。
結果を表示する
Elasticsearch クラスターの Kibana コンソールにログインします。
詳細については、「Kibana コンソールにログインする」をご参照ください。
左側のナビゲーションペインで、[検出] をクリックします。表示されるページで、左上隅のドロップダウンリストから [heartbeat-*] を選択し、右上隅で期間を指定します。次に、指定した期間内に Heartbeat によって収集されたデータを表示します。

左側のナビゲーションペインで、[ダッシュボード] をクリックします。
表示されるページの [ダッシュボード] セクションで、[heartbeat HTTP 監視] をクリックします。表示されるページの右上隅で、期間を選択します。次に、指定した期間内の HTTP ステータス統計を表示します。
