使用 Logstash 將資料載入至 Amazon Ser OpenSearch vice - Amazon OpenSearch Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Logstash 將資料載入至 Amazon Ser OpenSearch vice

Logstash 的開放原始碼版本 (Logstash OSS) 提供便利的方法來使用大量 API 將資料上傳到您的 Amazon Ser OpenSearch vice 網域。此服務支援所有標準 Logstash 輸入外掛程式,包括 Amazon S3 輸入外掛程式。 OpenSearch Service 可支援基本身分驗證和 IAM 憑證。logstash-output-opensearch該外掛程式可與 Logstash OSS 的 8.1 版及較低版本搭配使用。

組態

Logstash 組態會依據網域使用的身分驗證類型而有所不同。

無論您使用哪種身分驗證方法,都必須在組態檔案的輸出部分中將 ecs_compatibility 設定為 disabled。Logstash 8.0 引入了一個突破性的變更,其中所有外掛程式都以預設 ECS 相容模式執行。您必須覆寫預設值才能保持舊式行為。

精細存取控制組態

如果您的 OpenSearch Service 網域搭配使用精細存取控制與 HTTP 基本身分驗證,則組態類似於任何其他 OpenSearch 叢集。此組態檔案範例會從 Filebeat 的開源版本 (Filebeat OSS) 取得輸入:

input { beats { port => 5044 } } output { opensearch { hosts => "https://domain-endpoint:443" user => "my-username" password => "my-password" index => "logstash-logs-%{+YYYY.MM.dd}" ecs_compatibility => disabled ssl_certificate_verification => false } }

組態因 Beats 應用程式和使用案例而異,但您的 Filebeat OSS 組態可能如下所示:

filebeat.inputs: - type: log enabled: true paths: - /path/to/logs/dir/*.log filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.ilm.enabled: false setup.ilm.check_exists: false setup.template.settings: index.number_of_shards: 1 output.logstash: hosts: ["logstash-host:5044"]

IAM 組態

如果您的網域使用以 IAM 為基礎的網域存取政策或精細存取控制搭配主要使用者,您必須使用 IAM 憑證簽署所有針對 OpenSearch Service 的請求。以下身分型政策會授予對您網域的子資源的 HTTP 請求。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:region:aws-account-id:domain/domain-name/*" } ] }

若要設定 Logstash 組態,請變更您的組態檔案以將外掛程式用於其輸出。此組態檔案範例會從 S3 儲存貯體中的檔案取得輸入:

input { s3 { bucket => "my-s3-bucket" region => "us-east-1" } } output { opensearch { hosts => ["domain-endpoint:443"] auth_type => { type => 'aws_iam' aws_access_key_id => 'your-access-key' aws_secret_access_key => 'your-secret-key' region => 'us-east-1' } index => "logstash-logs-%{+YYYY.MM.dd}" ecs_compatibility => disabled } }

如果您不想在組態檔案中提供 IAM 憑證,則您可以將其匯出 (或執行 aws configure):

export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_SESSION_TOKEN="your-session-token"

如果您的 OpenSearch Service 網域位於 VPC 中,則 Logstash OSS 機器必須能夠連線到 VPC 並可透過 VPC 安全群組存取該網域。如需詳細資訊,請參閱 關於VPC網域上的存取政策