Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memantau OpenSearch log dengan Amazon CloudWatch Logs
OpenSearch Layanan Amazon mengekspos OpenSearch log berikut melalui Amazon CloudWatch Logs:
-
Log kesalahan
Cari log lambat pecahan, pengindeksan log lambat pecahan, dan log kesalahan berguna untuk memecahkan masalah kinerja dan stabilitas. Log audit melacak aktivitas pengguna untuk tujuan kepatuhan. Semua log bersifat nonaktif secara default. Jika diaktifkan, CloudWatch harga standar
catatan
Log kesalahan hanya tersedia untuk OpenSearch dan Elasticsearch versi 5.1 dan yang lebih baru. Log lambat tersedia untuk semua OpenSearch dan versi Elasticsearch.
Untuk lognya, OpenSearch gunakan Apache Log4j 2TRACE
,,,DEBUG
, INFO
WARN
, ERROR
dan. FATAL
Jika Anda mengaktifkan log kesalahan, OpenSearch Layanan menerbitkan baris log dariWARN
,ERROR
, dan FATAL
ke CloudWatch. OpenSearch Layanan juga menerbitkan beberapa pengecualian dari DEBUG
tingkat, termasuk yang berikut:
-
org.opensearch.index.mapper.MapperParsingException
-
org.opensearch.index.query.QueryShardException
-
org.opensearch.action.search.SearchPhaseExecutionException
-
org.opensearch.common.util.concurrent.OpenSearchRejectedExecutionException
-
java.lang.IllegalArgumentException
Log kesalahan dapat membantu pemecahan masalah dalam banyak situasi, termasuk berikut ini:
-
Masalah kompilasi penulisan tanpa rasa sakit
-
Kueri tidak valid
-
Masalah pengindeksan
-
Kegagalan snapshot
-
Kegagalan migrasi Manajemen Negara Indeks
catatan
OpenSearch Layanan tidak mencatat semua kesalahan yang terjadi.
Topik
Mengaktifkan penerbitan log (konsol)
Konsol OpenSearch Layanan adalah cara paling sederhana untuk mengaktifkan penerbitan log ke CloudWatch.
Untuk mengaktifkan penerbitan log ke CloudWatch (konsol)
-
Masuk ke https://aws.amazon.com
, dan kemudian pilih Masuk ke Konsol. -
Di bawah Analytics, pilih OpenSearch Layanan Amazon.
-
Pilih domain yang ingin Anda perbarui.
-
Pada tab Log, pilih jenis log dan pilih Aktifkan.
-
Buat grup CloudWatch log baru atau pilih yang sudah ada.
catatan
Jika Anda berencana untuk mengaktifkan beberapa log, sebaiknya penerbitan masing-masing dilakukan ke grup log sendiri. Pemisahan ini membuat log lebih mudah untuk dipindai.
-
Pilih kebijakan akses yang berisi izin yang sesuai, atau buat kebijakan menggunakan JSON yang disediakan konsol:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": [ "logs:PutLogEvents", "logs:CreateLogStream" ], "Resource": "
cw_log_group_arn
:*" } ] }Kami menyarankan Anda menambahkan kunci
aws:SourceAccount
danaws:SourceArn
kondisi ke kebijakan untuk melindungi diri Anda dari masalah wakil yang membingungkan. Akun sumber adalah pemilik domain dan sumbernya ARN ARN adalah domain. Domain Anda harus berada di perangkat lunak layanan R20211203 atau yang lebih baru untuk menambahkan kunci kondisi ini.Misalnya, Anda dapat menambahkan blok kondisi berikut ke kebijakan:
"Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "ArnLike": { "aws:SourceArn": "arn:aws:es:region
:account-id
:domain/domain-name
" } }penting
CloudWatch Log mendukung 10 kebijakan sumber daya per Wilayah. Jika Anda berencana untuk mengaktifkan log untuk beberapa domain OpenSearch Layanan, Anda harus membuat dan menggunakan kembali kebijakan yang lebih luas yang mencakup beberapa grup log untuk menghindari mencapai batas ini. Untuk langkah-langkah memperbarui kebijakan, lihat Mengaktifkan penerbitan log (AWS CLI).
-
Pilih Aktifkan.
Status domain Anda berubah dari Aktif ke Pemrosesan. Status harus kembali ke Aktif sebelum penerbitan log diaktifkan. Perubahan ini umumnya memakan waktu 30 menit, tetapi dapat lebih lama tergantung pada konfigurasi domain Anda.
Jika Anda mengaktifkan salah satu log lambat pecahan, lihatMengatur ambang batas log lambat pecahan. Jika Anda mengaktifkan log audit, lihat Langkah 2: Aktifkan log audit di OpenSearch Dasbor. Jika Anda mengaktifkan log kesalahan saja, Anda tidak perlu melakukan langkah konfigurasi tambahan apa pun.
Mengaktifkan penerbitan log (AWS CLI)
Sebelum Anda dapat mengaktifkan penerbitan log, Anda memerlukan grup CloudWatch log. Jika Anda belum memilikinya, Anda dapat membuatnya dengan menggunakan perintah berikut:
aws logs create-log-group --log-group-name
my-log-group
Masukkan perintah berikutnya untuk menemukan grup logARN, dan kemudian buat catatan tentang itu:
aws logs describe-log-groups --log-group-name
my-log-group
Sekarang Anda dapat memberikan izin OpenSearch Layanan untuk menulis ke grup log. Anda harus memberikan grup log ARN di dekat akhir perintah:
aws logs put-resource-policy \ --policy-name my-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com"}, "Action":[ "logs:PutLogEvents","logs:CreateLogStream"],"Resource": "
cw_log_group_arn
:*"}]}'
penting
CloudWatch Log mendukung 10 kebijakan sumber daya per Wilayah. Jika Anda berencana untuk mengaktifkan log lambat pecahan untuk beberapa domain OpenSearch Layanan, Anda harus membuat dan menggunakan kembali kebijakan yang lebih luas yang mencakup beberapa grup log agar tidak mencapai batas ini.
Jika Anda perlu meninjau kebijakan ini di lain waktu, gunakan Perintah aws logs
describe-resource-policies
. Untuk memperbarui kebijakan, terbitkan perintah aws
logs put-resource-policy
yang sama dengan dokumen kebijakan baru.
Akhirnya, Anda dapat menggunakan opsi --log-publishing-options
untuk mengaktifkan penerbitan. Sintaks untuk opsi tersebut sama-sama digunakan untuk perintah create-domain
dan update-domain-config
.
Parameter | Nilai valid |
---|---|
--log-publishing-options |
SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn= |
INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn= |
|
ES_APPLICATION_LOGS={CloudWatchLogsLogGroupArn= |
|
AUDIT_LOGS={CloudWatchLogsLogGroupArn= |
catatan
Jika Anda berencana untuk mengaktifkan beberapa log, sebaiknya penerbitan masing-masing dilakukan ke grup log sendiri. Pemisahan ini membuat log lebih mudah untuk dipindai.
Contoh
Contoh berikut memungkinkan penerbitan pencarian dan pengindeksan shard log lambat untuk domain tertentu:
aws opensearch update-domain-config \ --domain-name my-domain \ --log-publishing-options "SEARCH_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-log-group,Enabled=true},INDEX_SLOW_LOGS={CloudWatchLogsLogGroupArn=arn:aws:logs:us-east-1:123456789012:log-group:my-other-log-group,Enabled=true}"
Untuk menonaktifkan penerbitan ke CloudWatch, jalankan perintah yang sama denganEnabled=false
.
Jika Anda mengaktifkan salah satu log lambat pecahan, lihatMengatur ambang batas log lambat pecahan. Jika Anda mengaktifkan log audit, lihat Langkah 2: Aktifkan log audit di OpenSearch Dasbor. Jika Anda mengaktifkan log kesalahan saja, Anda tidak perlu melakukan langkah konfigurasi tambahan apa pun.
Mengaktifkan penerbitan log ()AWS SDKs
Sebelum Anda dapat mengaktifkan penerbitan log, Anda harus terlebih dahulu membuat grup CloudWatch log, mendapatkannyaARN, dan memberikan izin OpenSearch Layanan untuk menulis kepadanya. Operasi yang relevan didokumentasikan dalam APIReferensi CloudWatch Log Amazon:
-
CreateLogGroup
-
DescribeLogGroup
-
PutResourcePolicy
Anda dapat mengakses operasi ini menggunakan AWS SDKs
AWS SDKs(kecuali Android dan iOSSDKs) mendukung semua operasi yang ditentukan dalam APIReferensi OpenSearch Layanan Amazon, termasuk --log-publishing-options
opsi untuk CreateDomain
danUpdateDomainConfig
.
Jika Anda mengaktifkan salah satu log lambat pecahan, lihatMengatur ambang batas log lambat pecahan. Jika Anda mengaktifkan log kesalahan saja, Anda tidak perlu melakukan langkah konfigurasi tambahan apa pun.
Mengaktifkan penerbitan log (CloudFormation)
Dalam contoh ini, kita gunakan CloudFormation untuk membuat grup log yang disebutopensearch-logs
, menetapkan izin yang sesuai, dan kemudian membuat domain dengan penerbitan log diaktifkan untuk log aplikasi, mencari log lambat pecahan, dan mengindeks log lambat.
Sebelum Anda dapat mengaktifkan penerbitan log, Anda perlu membuat grup CloudWatch log:
Resources: OpenSearchLogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName:
opensearch-logs
Outputs: Arn: Value: 'Fn::GetAtt': - OpenSearchLogGroup - Arn
Template menampilkan grup log. ARN Dalam kasus ini, ARN bernilai arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs
.
MenggunakanARN, buat kebijakan sumber daya yang memberikan izin OpenSearch Layanan untuk menulis ke grup log:
Resources: OpenSearchLogPolicy: Type: AWS::Logs::ResourcePolicy Properties: PolicyName:
my-policy
PolicyDocument: "{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Sid\": \"\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"es.amazonaws.com\"}, \"Action\":[ \"logs:PutLogEvents\",\"logs:CreateLogStream\"],\"Resource\": \"arn:aws:logs:us-east-1:123456789012:log-group:opensearch-logs:*\"}]}"
Terakhir, buat CloudFormation tumpukan berikut, yang menghasilkan domain OpenSearch Layanan dengan penerbitan log. Kebijakan akses memungkinkan pengguna untuk membuat semua HTTP permintaan ke domain. Akun AWS
Resources: OpenSearchServiceDomain: Type: "AWS::OpenSearchService::Domain" Properties: DomainName:
my-domain
EngineVersion: "OpenSearch_1.0" ClusterConfig: InstanceCount: 2 InstanceType: "r6g.xlarge.search" DedicatedMasterEnabled: true DedicatedMasterCount: 3 DedicatedMasterType: "r6g.xlarge.search" EBSOptions: EBSEnabled: true VolumeSize: 10 VolumeType: "gp2" AccessPolicies: Version: "2012-10-17" Statement: Effect: "Allow" Principal: AWS: "arn:aws:iam::123456789012
:user/es-user" Action: "es:*" Resource: "arn:aws:es:us-east-1:123456789012
:domain/my-domain
/*" LogPublishingOptions: ES_APPLICATION_LOGS: CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012
:log-group:opensearch-logs" Enabled: true SEARCH_SLOW_LOGS: CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012
:log-group:opensearch-logs" Enabled: true INDEX_SLOW_LOGS: CloudWatchLogsLogGroupArn: "arn:aws:logs:us-east-1:123456789012
:log-group:opensearch-logs" Enabled: true
Untuk mengetahui detail informasi sintaks, lihat opsi penerbitan log dalam AWS CloudFormation Panduan Pengguna.
Mengatur ambang batas log lambat permintaan pencarian
Log lambat permintaan pencarian
Anda dapat menentukan log lambat permintaan pencarian dengan pengaturan cluster. Ini berbeda dari shard slow logs, yang Anda aktifkan dengan pengaturan indeks. Misalnya, Anda dapat menentukan pengaturan berikut melalui OpenSearch RESTAPI:
PUT
domain-endpoint
/_cluster/settings { "transient": { "cluster.search.request.slowlog.threshold.warn": "5s", "cluster.search.request.slowlog.threshold.info": "2s" } }
Mengatur ambang batas log lambat pecahan
OpenSearch menonaktifkan shard slow log
Misalnya, Anda dapat menentukan pengaturan ini melalui OpenSearch RESTAPI:
PUT
domain-endpoint
/index
/_settings { "index.search.slowlog.threshold.query.warn": "5s", "index.search.slowlog.threshold.query.info": "2s" }
Menguji log lambat
Untuk menguji apakah permintaan pencarian dan log lambat pecahan berhasil diterbitkan, pertimbangkan untuk memulai dengan nilai yang sangat rendah untuk memverifikasi bahwa log muncul CloudWatch, dan kemudian tingkatkan ambang batas ke tingkat yang lebih berguna.
Jika log tidak muncul, periksa hal berikut ini:
-
Apakah grup CloudWatch log ada? Periksa CloudWatch konsol.
-
Apakah OpenSearch Layanan memiliki izin untuk menulis ke grup log? Periksa konsol OpenSearch Layanan.
-
Apakah domain OpenSearch Layanan dikonfigurasi untuk dipublikasikan ke grup log? Periksa konsol OpenSearch Layanan, gunakan AWS CLI
describe-domain-config
opsi, atau hubungiDescribeDomainConfig
menggunakan salah satuSDKs. -
Apakah ambang batas OpenSearch logging cukup rendah sehingga permintaan Anda melebihi mereka?
Untuk meninjau ambang batas log lambat permintaan pencarian untuk domain, gunakan perintah berikut:
GET
domain-endpoint
/_cluster/settings?flat_settingsUntuk meninjau ambang batas log lambat pecahan Anda untuk indeks, gunakan perintah berikut:
GET
domain-endpoint
/index
/_settings?pretty
Jika ingin menonaktifkan log lambat untuk indeks, kembalikan setiap ambang yang Anda ubah ke nilai default mereka yaitu -1
.
Menonaktifkan penerbitan untuk CloudWatch menggunakan konsol OpenSearch Layanan atau AWS CLI tidak berhenti OpenSearch membuat log; itu hanya menghentikan penerbitan log tersebut. Pastikan untuk memeriksa pengaturan indeks Anda jika Anda tidak lagi memerlukan log lambat pecahan, dan pengaturan domain Anda jika Anda tidak lagi memerlukan log lambat permintaan pencarian.
Melihat log
Melihat aplikasi dan log masuk CloudWatch lambat sama seperti melihat CloudWatch log lainnya. Untuk informasi selengkapnya, lihat Melihat Data Log di Panduan Pengguna CloudWatch Log Amazon.
Berikut adalah beberapa pertimbangan untuk melihat log:
-
OpenSearch Layanan hanya menerbitkan 255.000 karakter pertama dari setiap baris ke. CloudWatch Konten yang tersisa dipotong. Untuk log audit, tersedia 10.000 karakter per pesan.
-
Di CloudWatch, nama aliran log memiliki sufiks
-index-slow-logs
,,-search-slow-logs
-application-logs
, dan-audit-logs
untuk membantu mengidentifikasi isinya.