Beats を使用して、Elastic Compute Service(ECS)インスタンスのデータを収集できます。データには、ログ、ネットワークデータ、メトリクスが含まれます。Beats は、収集したデータを監視や分析などのさらなる処理のために Alibaba Cloud Elasticsearch または Logstash に送信します。このトピックでは、Filebeat シッパーを使用して ECS インスタンスのログを収集する方法について説明します。
前提条件
以下の操作を実行します。
Alibaba Cloud Elasticsearch または Logstash クラスタを作成します。この例では、V6.7.0 クラスタを使用します。
詳細については、「Alibaba Cloud Elasticsearch クラスタを作成する」または「Alibaba Cloud Logstash クラスタを作成する」をご参照ください。
Elasticsearch クラスタの自動インデックス作成機能を有効にします。
セキュリティ上の理由から、Alibaba Cloud Elasticsearch はデフォルトで [自動インデックス作成] 機能を無効にしています。ただし、Beats は ECS インスタンスのログを収集するときにこの機能に依存します。[出力] に [elasticsearch] を選択する場合は、Elasticsearch クラスタの [自動インデックス作成] 機能を有効にする必要があります。この機能を有効にする方法については、「YML ファイルを設定する」をご参照ください。
Elasticsearch または Logstash クラスタと同じ仮想プライベートクラウド(VPC)に ECS インスタンスを作成します。
ECS インスタンスを作成するときは、次のいずれかのタイプのオペレーティングシステムを選択します。Alibaba Cloud Linux (Alinux)、Red Hat Enterprise Linux(RHEL)、CentOS。Beats は、これら 3 つのタイプのオペレーティングシステムのみをサポートしています。詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
重要Beats のデフォルトのインストールディレクトリは、/opt/aliyunbeats/ です。Beats をインストールすると、conf、logs、data ディレクトリが ECS インスタンスに生成されます。conf ディレクトリには設定ファイル、logs ディレクトリには Beats ログファイル、data ディレクトリには Beats データファイルが含まれています。これらのファイルを削除または変更しないことをお勧めします。そうしないと、エラーが発生したり、データが正しくなくなる可能性があります。エラーが発生した場合は、logs ディレクトリにある Beats ログを表示して、エラーを見つけることができます。
ECS インスタンスに Cloud Assistant と Docker をインストールします。
詳細については、「Cloud Assistant エージェントをインストールする」および「ECS インスタンスに Docker をデプロイして使用する」をご参照ください。
重要Docker Community Edition(Docker-CE)を使用する必要があります。Docker-CE 以外の Docker(podman-docker など)を使用すると、Beats のデプロイに失敗します。
手順
Alibaba Cloud Elasticsearch コンソール にログインします。
Beats データシッパーページに移動します。
上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションペインで、[beats データシッパー] をクリックします。
オプション:[beats データシッパー] ページに初めてアクセスする場合は、表示されるメッセージに表示される情報を確認し、[OK] をクリックして、システムがアカウントのサービスリンクロールを作成することを承認します。
説明Beats がさまざまなデータソースからデータを収集する場合、Beats はサービスリンクロールとロールに指定されたルールに依存します。サービスリンクロールを削除しないでください。削除すると、Beats の使用に影響します。詳細については、「Elasticsearch サービスリンクロール」をご参照ください。
ECS インスタンスのログを収集するようにシッパーを設定して有効にします。
説明この例では、Filebeat シッパーを使用します。
[シッパーの作成] セクションで、ポインタを [filebeat] に移動し、[ECS ログ] をクリックします。
説明他のタイプのシッパーの場合は、シッパータイプを直接クリックできます。たとえば、Metricbeat シッパーを作成するには、[metricbeat] をクリックします。
[シッパーの設定] ステップで、パラメータを設定します。
パラメータ
説明
[シッパー名]
シッパーの名前。名前は 1 ~ 30 文字で、文字、数字、アンダースコア(_)、ハイフン(-)を含めることができます。名前は文字で始める必要があります。
[バージョン]
このパラメータを [6.8.5] に設定します。これは、Filebeat でサポートされている唯一のバージョンです。
[出力]
シッパーによって収集されたデータの送信先。システムは、選択できる既存の Elasticsearch および Logstash クラスタを提供します。プロトコルは、選択した Elasticsearch クラスタのプロトコルと同じである必要があります。
重要Elasticsearch V8.X クラスタはサポートされていません。
[ユーザー名とパスワード]
[出力] に [elasticsearch] を選択した場合は、送信先の Elasticsearch クラスタにアクセスするために使用するユーザー名とパスワードを入力します。これにより、シッパーはクラスタにデータを書き込むことができます。デフォルトのユーザー名は elastic です。パスワードは、Elasticsearch クラスタを作成するときに指定します。パスワードを忘れた場合は、リセットできます。パスワードをリセットする手順と注意事項については、「Elasticsearch クラスタのアクセスパスワードをリセットする」をご参照ください。
[kibana 監視を有効にする]
シッパーのメトリクスを監視するかどうかを指定します。[出力] に [elasticsearch] を選択した場合、Kibana モニターは [出力] と同じ Elasticsearch クラスタを使用します。[出力] に [logstash] を選択した場合は、送信先の Logstash クラスタの設定ファイルでモニターを設定する必要があります。
[kibana ダッシュボードを有効にする]
デフォルトの Kibana ダッシュボードを有効にするかどうかを指定します。Alibaba Cloud Kibana は VPC にデプロイされます。Kibana 設定ページで Kibana のプライベートネットワークアクセス機能を有効にする必要があります。詳細については、「Kibana のパブリックまたはプライベート IP アドレスホワイトリストを設定する」をご参照ください。
[filebeat ファイルパス]
このパラメータは、Filebeat シッパーに固有です。Alibaba Cloud は、Docker を使用して Beats をデプロイします。ログが収集されるディレクトリを Docker にマップする必要があります。指定するディレクトリは、
filebeat.yml
のinput.path
の値と一致している必要があります。複数レベルのディレクトリからログを収集する場合は、ディレクトリに 1 つのレベルのみを指定する必要があります。ディレクトリのレベルの名前にアスタリスク(*
)が含まれている場合は、Filebeat ファイルパスを設定するときにこのレベルの名前を入力する必要はありません。たとえば、/var/log/*/*.log ディレクトリからログを収集し、filebeat.yml でinput.path: /var/log/*/*.log
を指定する場合は、Filebeat ファイルパスを設定するときに/var/
または/var/log/
を入力するだけで済みます。重要ディレクトリまたはフルパスを指定できます。パス内の特定のタイプのファイルのあいまい一致の値を指定することもできます。
複数のディレクトリからログを収集する場合は、[追加] をクリックし、ログを収集するディレクトリを入力して、[シッパー YML 設定] の paths パラメータの値にディレクトリを追加します。
[シッパー YML 設定]
シッパーの YML 設定ファイル。ログ収集が有効になっており、paths の値が Filebeat ファイルパスの値と同じであることを確認する必要があります。次のコードは例を示しています。
filebeat.inputs: - type: log // ログタイプ enabled: true // 有効 paths: // パス - /var/log/*.log
ビジネス要件に基づいて他のパラメータを設定できます。詳細については、「シッパーの YML 設定ファイルを準備する」をご参照ください。
重要[出力] をすでに設定している場合は、[シッパー YML 設定] で送信先を再度指定する必要はありません。指定すると、システムはシッパーのインストールエラーを報告します。
Alibaba Cloud Filebeat では、インデックス名をカスタマイズすることはできません。デフォルトでは、システムは filebeat-%{[agent.version]}-%{+yyyy.MM.dd} 形式の名前のインデックスを作成します(例:filebeat-6.8.5-2021.12.11)。
[次へ] をクリックします。
オプション:[シッパーのインストール] ステップに初めてアクセスする場合は、[今すぐ承認] をクリックします。[クラウド リソース アクセス承認] ページで、[承認に同意する] をクリックして、選択した Elasticsearch クラスタが ECS インスタンスにアクセスすることを承認します。
承認サービスは、Resource Access Management(RAM)サービスによって提供されます。承認を確認すると、システムは自動的にシステムロール [aliyunelasticsearchaccessingoosrole] と [aliyunoosaccessingecs4esrole] を作成します。AliyunElasticsearchAccessingOOSRole のデフォルトのシステムポリシーは [aliyunelasticsearchaccessingoosrolepolicy] で、AliyunOOSAccessingECS4ESRole のデフォルトのシステムポリシーは [aliyunoosaccessingecs4esrolepolicy] です。Beats の使用中は、システムロールとポリシーを削除しないでください。
システムロールまたはポリシーが削除された場合は、[クラウド リソースアクセス承認] ページに移動して、再度承認を実行できます。 使用する RAM ユーザーに次のカスタムポリシーをアタッチできます。 そうしないと、必要な権限がないことを示すエラーメッセージがシステムに表示されます。 カスタムポリシーの作成方法については、[カスタムポリシーの作成] をご参照ください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", // 許可 "Action": [ // アクション "ram:CreateRole", // ロール作成 "ram:AttachPolicyToRole", // ロールにポリシーをアタッチ "ram:GetRole" // ロール取得 ], "Resource": "acs:ram:*:*:role/*", "Condition": { "ForAllValues:StringEquals": { "ram:TrustedPrincipalTypes": "Service", "ram:ServiceNames": [ "elasticsearch.aliyuncs.com", "oos.aliyuncs.com" ] } } }, { "Effect": "Allow", // 許可 "Action": "ram:AttachPolicyToRole", // ロールにポリシーをアタッチ "Resource": "acs:ram:*:*:policy/*" }, { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow", // 許可 "Condition": { "StringEquals": { "acs:Service": "elasticsearch.aliyuncs.com" } } } ] }
[シッパーのインストール] ステップで、シッパーをインストールする ECS インスタンスを選択します。
説明[出力] に選択した Elasticsearch または Logstash クラスタと同じ VPC に存在するアカウント内のすべての ECS インスタンスが表示されます。シッパーは、Cloud Assistant と Docker がインストールされている ECS インスタンスにのみインストールできます。
[開始] をクリックします。
[シッパーの開始] ダイアログボックスで、[beats シッパーに戻る] をクリックします。Beats データシッパーページのシッパーの管理セクションで、新しく作成されたシッパーを表示します。
シッパーの [ステータス] の値が [有効] に変わると、シッパーが作成されます。[有効] の後に続く 2 つの数字は、シッパーがインストールされている ECS インスタンスの数と、シッパーをインストールする ECS インスタンスの総数を示します。シッパーがすべての ECS インスタンスにインストールされている場合、2 つの数字は同じです。
実行中の ECS インスタンスを表示します。
シッパーが作成された後、実行中の ECS インスタンスを表示して、ECS インスタンスへのシッパーのインストールが成功したかどうかを確認し、プロンプトに従って例外を処理できます。
[シッパーの管理] セクションで、新しく作成されたシッパーを見つけ、インスタンスの表示[アクション] 列の をクリックします。
[インスタンスの表示] パネルで、ECS インスタンスへの [シッパーのインストール] が成功したかどうかを確認します。
[インストール済みのシッパー] 列には、[通常のハートビート]、[ハートビートなし]、または [インストール失敗] の値が表示され、ECS インスタンスへのシッパーのインストールが成功したかどうかが示されます。インストール済みのシッパーの値が [ハートビートなし] または [インストール失敗] の場合は、インスタンスを削除するか、インスタンスへのインストールを再試行できます。再試行に失敗した場合は、「Beats シッパーのインストールの失敗」に記載されている手順に従って問題のトラブルシューティングを行うことができます。
オプション:監視情報とダッシュボードを表示します。
[kibana 監視を有効にする] または [kibana ダッシュボードを有効にする] をシッパーの設定ステップで選択した場合は、シッパーの起動後に、送信先の Elasticsearch クラスタの Kibana コンソールで監視情報またはダッシュボードを表示できます。
[シッパーの管理] セクションで、新しく作成されたシッパーを見つけ、
[アクション] 列の にポインタを移動し、 を選択します。
Kibana コンソールのログインページで、ユーザー名とパスワードを入力し、[ログイン] をクリックします。
左側のナビゲーションペインで、[ダッシュボード] をクリックし、ダッシュボードを表示するメトリックをクリックします。その後、メトリックのダッシュボードを表示できます。
左側のナビゲーションペインで、[監視] をクリックし、情報を表示する監視項目を選択します。その後、監視項目の情報を表示できます。
関連情報
シッパーを作成するための API 操作:CreateCollector
FAQ
Filebeat シッパーを使用して複数のディレクトリからログを収集するにはどうすればよいですか?
Filebeat シッパーの Filebeat ファイルパス パラメータを設定するときは、[追加] をクリックし、ログを収集するディレクトリを入力して、[シッパー YML 設定] の paths パラメータの値にディレクトリを追加します。
ECS インスタンスに Beats シッパーをインストールできない場合はどうすればよいですか?
「Beats シッパーのインストールの失敗」に記載されている手順に従って問題のトラブルシューティングを行ってください。