本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Logstash 將資料載入至 Amazon Ser OpenSearch vice
Logstash 的開放原始碼版本 (Logstash OSS) 提供便利的方法來使用大量 API 將資料上傳到您的 Amazon Ser OpenSearch vice 網域。此服務支援所有標準 Logstash 輸入外掛程式,包括 Amazon S3 輸入外掛程式。 OpenSearch Service 可支援基本身分驗證和 IAM 憑證。logstash-output-opensearch
組態
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網域上的存取政策。