Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

CloudWatch Referensi agen log - CloudWatch Log Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CloudWatch Referensi agen log

penting

Bagian ini adalah referensi bagi mereka yang menggunakan agen Log usang. CloudWatch Jika menggunakan Instance Metadata Service Version 2 (IMDSv2), Anda harus menggunakan agen terpadu CloudWatch yang baru. Namun, meskipun Anda tidak menggunakan IMDSv2, kami sangat menyarankan untuk menggunakan CloudWatch agen terpadu yang lebih baru daripada agen Log yang tidak digunakan lagi. CloudWatch Untuk informasi tentang CloudWatch agen terpadu yang lebih baru, lihat Mengumpulkan metrik dan log dari EC2 instans Amazon dan server lokal dengan agen. CloudWatch Untuk informasi tentang migrasi dari agen CloudWatch Log yang tidak digunakan lagi ke agen terpadu, Buat file konfigurasi CloudWatch agen dengan wizard.

Agen CloudWatch Log menyediakan cara otomatis untuk mengirim data log ke CloudWatch Log dari EC2 instans Amazon. Agen meliputi komponen berikut:

  • Plug-in untuk AWS CLI yang mendorong data log ke CloudWatch Log.

  • Skrip (daemon) yang memulai proses untuk mendorong data ke Log. CloudWatch

  • Tugas cron yang memastikan bahwa daemon selalu berjalan.

File konfigurasi agen

File konfigurasi agen CloudWatch Log menjelaskan informasi yang dibutuhkan oleh agen CloudWatch Log. Bagian [general] file konfigurasi agen mendefinisikan konfigurasi umum yang berlaku untuk semua pengaliran log. Bagian [logstream] menentukan informasi yang diperlukan untuk mengirim file lokal ke pengaliran log jarak jauh. Anda dapat memiliki lebih dari satu bagian [logstream], tetapi masing-masing harus memiliki nama yang unik dalam file konfigurasi, misalnya [logstream1], [logstream2], dan seterusnya. Nilai [logstream] beserta baris pertama data dalam berkas log akan menentukan identitas berkas log.

[general] state_file = value logging_config_file = value use_gzip_http_content_encoding = [true | false] [logstream1] log_group_name = value log_stream_name = value datetime_format = value time_zone = [LOCAL|UTC] file = value file_fingerprint_lines = integer | integer-integer multi_line_start_pattern = regex | {datetime_format} initial_position = [start_of_file | end_of_file] encoding = [ascii|utf_8|..] buffer_duration = integer batch_count = integer batch_size = integer [logstream2] ...
state_file

Menentukan tempat file state disimpan.

logging_config_file

(Opsional) Menentukan lokasi file konfigurasi pencatatan agen. Jika Anda tidak menentukan file konfigurasi pencatatan agen di sini, file default awslogs.conf akan digunakan. Lokasi file default adalah /var/awslogs/etc/awslogs.conf jika Anda menginstal agen dengan skrip, dan /etc/awslogs/awslogs.conf jika Anda menginstal agen dengan rpm. File ini dalam format file konfigurasi Python (https://docs.pylogging-config-fileformatthon.org/2/library/logging.config.html#). Pencatat log dengan nama berikut dapat disesuaikan.

cwlogs.push cwlogs.push.reader cwlogs.push.publisher cwlogs.push.event cwlogs.push.batch cwlogs.push.stream cwlogs.push.watcher

Contoh di bawah ini mengubah tingkat pembaca dan penerbit menjadi WARNING sementara nilai default-nya adalah INFO.

[loggers] keys=root,cwlogs,reader,publisher [handlers] keys=consoleHandler [formatters] keys=simpleFormatter [logger_root] level=INFO handlers=consoleHandler [logger_cwlogs] level=INFO handlers=consoleHandler qualname=cwlogs.push propagate=0 [logger_reader] level=WARNING handlers=consoleHandler qualname=cwlogs.push.reader propagate=0 [logger_publisher] level=WARNING handlers=consoleHandler qualname=cwlogs.push.publisher propagate=0 [handler_consoleHandler] class=logging.StreamHandler level=INFO formatter=simpleFormatter args=(sys.stderr,) [formatter_simpleFormatter] format=%(asctime)s - %(name)s - %(levelname)s - %(process)d - %(threadName)s - %(message)s
use_gzip_http_content_encoding

Saat disetel ke true (default), aktifkan pengkodean konten http gzip untuk mengirim muatan terkompresi ke Log. CloudWatch Ini mengurangi penggunaan CPU, menurunkan NetworkOut, dan mengurangi latensi put. Untuk menonaktifkan fitur ini, tambahkan use_gzip_http_content_encoding = false ke bagian [umum] dari file konfigurasi agen Logs, lalu restart agen. CloudWatch

catatan

Pengaturan ini hanya tersedia di awscli-cwlogs versi 1.3.3 dan yang lebih baru.

log_group_name

Menentukan grup log tujuan. Jika belum ada, grup log akan dibuat secara otomatis. Nama grup log dapat berisi antara 1 dan 512 karakter. Karakter yang diperbolehkan meliputi a–z, A–Z, 0–9, '_' (garis bawah), '-' (tanda hubung), '/' (garis miring ), dan '.' (titik).

log_stream_name

Menentukan pengaliran log tujuan. Anda dapat menggunakan string literal atau variabel yang telah ditetapkan ({instance_id}, {hostname}, {ip_address}), atau kombinasi keduanya untuk menentukan nama pengaliran log. Jika belum ada, pengaliran log akan dibuat secara otomatis.

datetime_format

Menentukan bagaimana stempel waktu diekstraksi dari log. Stempel waktu digunakan untuk mengambil log acara dan menghasilkan metrik. Waktu saat ini akan digunakan untuk setiap log acara jika datetime_format tidak disediakan. Jika nilai datetime_format yang diberikan tidak valid untuk pesan log tertentu, stempel waktu dari log acara terakhir dengan stempel waktu yang berhasil diurai akan digunakan. Jika tidak ada log acara sebelumnya, waktu saat ini akan digunakan.

Kode datetime_format yang umum tercantum di bawah ini. Anda juga dapat menggunakan kode datetime_format yang didukung oleh Python, datetime.strptime(). Pengimbangan zona waktu (%z) juga didukung meskipun itu tidak didukung sebelum python 3.2, [+-]HHMM tanpa titik dua(:). Untuk informasi selengkapnya, lihat Perilaku strftime() dan strptime().

%y: Tahun tanpa abad sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 00, 01,..., 99

%Y: Tahun dengan abad sebagai angka desimal.1970, 1988, 2001, 2013

%b: Bulan sebagai nama singkat lokal. Jan, Feb, ..., Des (id_ID);

%B: Bulan sebagai nama lengkap lokal. Januari, Februari, ..., Desember (id_ID);

%m: Bulan sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 01, 02,..., 12

%d: Tanggal dalam bulan sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 01, 02,..., 31

%H: Jam (24 jam) sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 00, 01,..., 23

%I: Jam (12 jam) sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 01, 02,..., 12

%p: Istilah lokal yang setara dengan AM atau PM.

%M: Menit sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 00, 01,..., 59

%S: Detik sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 00, 01,..., 59

%f: Mikrosekon sebagai angka desimal yang ditambah angka nol di depan angka satu digit (zero-padded). 000000,..., 999999

%z: Pengimbangan UTC dalam bentuk +HHMM atau -HHMM. +0000, -0400, +1030

Contoh format:

Syslog: '%b %d %H:%M:%S', e.g. Jan 23 20:59:29

Log4j: '%d %b %Y %H:%M:%S', e.g. 24 Jan 2014 05:00:00

ISO8601: '%Y-%m-%dT%H:%M:%S%z', e.g. 2014-02-20T05:20:20+0000

time_zone

Menentukan zona stempel waktu log acara. Dua nilai yang didukung adalah UTC dan LOCAL. Default-nya adalah LOCAL, yang digunakan jika zona waktu tidak dapat disimpulkan berdasarkan datetime_format.

berkas

Menentukan file log yang ingin Anda push ke CloudWatch Log. File dapat menunjuk ke file tertentu atau beberapa file (menggunakan wildcard seperti/var/log/system.log*). Hanya file terbaru yang didorong ke CloudWatch Log berdasarkan waktu modifikasi file. Kami sarankan Anda menggunakan wildcard untuk menentukan serangkaian file dengan jenis yang sama, seperti access_log.2014-06-01-01, access_log.2014-06-01-02, dan seterusnya, tetapi bukan beberapa jenis file, seperti access_log_80 dan access_log_443. Untuk menentukan beberapa jenis file, tambahkan entri pengaliran log lain ke file konfigurasi agar setiap jenis berkas log pergi ke pengaliran log yang berbeda. File terkompresi tidak didukung.

file_fingerprint_lines

Menentukan rentang baris untuk mengidentifikasi file. Nilai yang valid adalah satu angka atau dua angka yang dibatasi dengan tanda hubung, seperti '1', '2-5'. Nilai default-nya adalah '1' sehingga baris pertama digunakan untuk menghitung sidik jari. Garis sidik jari tidak dikirim ke CloudWatch Log kecuali semua baris yang ditentukan tersedia.

multi_line_start_pattern

Menentukan pola untuk mengidentifikasi awal pesan log. Pesan log dibuat dari baris yang sesuai dengan pola dan baris berikutnya yang tidak cocok dengan pola. Nilai yang valid adalah ekspresi reguler atau {datetime_format}. Jika menggunakan {datetime_format}, pilihan datetime_format harus ditentukan. Nilai default-nya adalah '^[^\ s]' sehingga semua baris yang dimulai dengan karakter yang bukan merupakan spasi kosong akan menutup pesan log sebelumnya dan memulai pesan log baru.

initial_position

Menentukan tempat untuk memulai membaca data (start_of_file atau end_of_file). Default-nya adalah start_of_file. Ini hanya digunakan jika tidak ada keadaan yang dipertahankan untuk pengaliran log tersebut.

encoding

Menentukan pengodean berkas log agar file dapat dibaca dengan benar. Default-nya adalah utf_8. Pengodean yang didukung oleh Python codecs.decode() dapat digunakan di sini.

Awas

Jika Anda menentukan pengodean yang salah, mungkin akan ada kehilangan data karena karakter yang tidak dapat didekode diganti dengan karakter lain.

Berikut adalah beberapa pengodean umum:

ascii, big5, big5hkscs, cp037, cp424, cp437, cp500, cp720, cp737, cp775, cp850, cp852, cp855, cp856, cp857, cp858, cp860, cp861, cp862, cp863, cp864, cp865, cp866, cp869, cp874, cp875, cp932, cp949, cp950, cp1006, cp1026, cp1140, cp1250, cp1251, cp1252, cp1253, cp1254, cp1255, cp1256, cp1257, cp1258, euc_jp, euc_jis_2004, euc_jisx0213, euc_kr, gb2312, gbk, gb18030, hz, iso2022_jp, iso2022_jp_1, iso2022_jp_2, iso2022_jp_2004, iso2022_jp_3, iso2022_jp_ext, iso2022_kr, latin_1, iso8859_2, iso8859_3, iso8859_4, iso8859_5, iso8859_6, iso8859_7, iso8859_8, iso8859_9, iso8859_10, iso8859_13, iso8859_14, iso8859_15, iso8859_16, johab, koi8_r, koi8_u, mac_cyrillic, mac_greek, mac_iceland, mac_latin2, mac_roman, mac_turkish, ptcp154, shift_jis, shift_jis_2004, shift_jisx0213, utf_32, utf_32_be, utf_32_le, utf_16, utf_16_be, utf_16_le, utf_7, utf_8, utf_8_sig

buffer_duration

Menentukan durasi waktu untuk pembuatan batch log acara. Nilai minimumnya adalah 5000ms dan nilai default-nya adalah 5000ms.

batch_count

Menentukan jumlah maks log acara dalam batch, maksimum 10000. Nilai default-nya adalah 10000.

batch_size

Menentukan ukuran maks log acara dalam batch, dalam byte, maksimal 1048576 byte. Nilai default-nya adalah 1048576. Ukuran ini dihitung sebagai jumlah semua pesan kejadian dalam UTF-8, ditambah 26 byte untuk setiap log acara.

Menggunakan agen CloudWatch Log dengan proxy HTTP

Anda dapat menggunakan agen CloudWatch Log dengan proxy HTTP.

catatan

Proksi HTTP didukung awslogs-agent-setup dalam.py versi 1.3.8 atau yang lebih baru.

Untuk menggunakan agen CloudWatch Log dengan proxy HTTP
  1. Lakukan salah satu hal berikut ini:

    1. Untuk instalasi baru agen CloudWatch Log, jalankan perintah berikut:

      curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O
      sudo python awslogs-agent-setup.py --region us-east-1 --http-proxy http://your/proxy --https-proxy http://your/proxy --no-proxy 169.254.169.254

      Untuk mempertahankan akses ke layanan EC2 metadata Amazon pada EC2 instance, gunakan --no-proxy 169.254.169.254 (disarankan). Untuk informasi selengkapnya, lihat Metadata Instans dan Data Pengguna di EC2 Panduan Pengguna Amazon.

      Dalam nilai untuk http-proxy dan https-proxy, Anda menentukan seluruh URL.

    2. Untuk instalasi agen CloudWatch Log yang ada, edit/var/awslogs/etc/proxy.conf, dan tambahkan proxy Anda:

      HTTP_PROXY= HTTPS_PROXY= NO_PROXY=
  2. Restart agen agar perubahan diterapkan:

    sudo service awslogs restart

    Jika Anda menggunakan Amazon Linux 2, gunakan perintah berikut untuk me-restart agen:

    sudo service awslogsd restart

Membagi file konfigurasi agen CloudWatch Log

Jika Anda menggunakan awslogs-agent-setup .py versi 1.3.8 atau yang lebih baru dengan awscli-cwlogs 1.3.3 atau yang lebih baru, Anda dapat mengimpor konfigurasi aliran yang berbeda untuk berbagai komponen secara independen satu sama lain dengan membuat file konfigurasi tambahan di direktori//. var/awslogs/etc/config Ketika agen CloudWatch Log dimulai, itu mencakup konfigurasi aliran apa pun dalam file konfigurasi tambahan ini. Properti konfigurasi di bagian [umum] harus didefinisikan dalam file konfigurasi utama (/var/awslogs/etc/awslogs.conf) and are ignored in any additional configuration files found in /var/awslogs/etc/config/.

Jika Anda tidak memiliki direktori/var/awslogs/etc/config/karena Anda menginstal agen dengan rpm, Anda dapat menggunakan direktori/etc/awslogs/config/sebagai gantinya.

Restart agen agar perubahan diterapkan:

sudo service awslogs restart

Jika Anda menggunakan Amazon Linux 2, gunakan perintah berikut untuk me-restart agen:

sudo service awslogsd restart

CloudWatch FAQ agen log

Apa jenis rotasi file yang didukung?

Mekanisme rotasi file berikut didukung:

  • Mengganti nama berkas log yang ada dengan akhiran numerik, kemudian membuat ulang berkas log kosong asli. Misalnya,/var/log/syslog.log is renamed /var/log/syslog.log.1. If /var/log/syslog.log.1 already exists from a previous rotation, it is renamed /var/log/syslog.log.2.

  • Memotong berkas log asli di tempat setelah membuat salinan. Misalnya,/var/log/syslog.log is copied to /var/log/syslog.log.1 and /var/log/syslog.log terpotong. Mungkin akan ada kehilangan data untuk kasus ini, jadi berhati-hatilah dalam menggunakan mekanisme rotasi file ini.

  • Membuat file baru dengan pola umum seperti yang lama. Misalnya,/var/log/syslog.log.2014-01-01 remains and /var/log/syslog.log.2014-01-02 dibuat.

Sidik jari (ID sumber) file dihitung dengan hashing kunci pengaliran log dan baris pertama dari konten file. Untuk menggantikan perilaku ini, pilihan file_fingerprint_lines dapat digunakan. Ketika rotasi file terjadi, file baru seharusnya memiliki konten baru dan file lama tidak seharusnya memiliki tambahan konten; agen mendorong file baru setelah selesai membaca file lama.

Bagaimana cara menentukan versi agen yang saya gunakan?

Jika Anda menggunakan skrip penyiapan untuk menginstal agen CloudWatch Logs, Anda dapat menggunakan/var/awslogs/bin/awslogs-version.sh untuk memeriksa versi agen yang Anda gunakan. Versi agen dan dependensi utamanya akan dicetak. Jika Anda menggunakan yum untuk menginstal agen CloudWatch Log, Anda dapat menggunakan “yum info awslogs” dan “yum info aws-cli-plugin-cloudwatch -logs” untuk memeriksa versi agen dan plugin Logs. CloudWatch

Bagaimana entri log dikonversi menjadi log acara?

Log acara berisi dua properti: stempel waktu ketika peristiwa terjadi, dan pesan log mentah. Secara default, semua baris yang dimulai dengan karakter yang bukan spasi kosong akan menutup pesan log sebelumnya, jika ada, dan memulai pesan log baru. Untuk menggantikan perilaku ini, multi_line_start_pattern dapat digunakan dan setiap baris yang cocok dengan pola akan memulai pesan log baru. Pola bisa berupa regex atau '{datetime_format}'. Sebagai contoh, jika baris pertama dari setiap pesan log berisi stempel waktu, seperti '2014-01-02T13:13:01Z', multi_line_start_pattern dapat diatur ke '\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z'. Untuk menyederhanakan konfigurasi, variabel '{datetime_format}' dapat digunakan jika datetime_format option ditentukan. Untuk contoh yang sama, jika datetime_format diatur ke '%Y-%m-%dT%H:%M:%S%z', multi_line_start_pattern dapat berupa '{datetime_format}'.

Waktu saat ini akan digunakan untuk setiap log acara jika datetime_format tidak disediakan. Jika datetime_format yang diberikan tidak valid untuk pesan log tertentu, stempel waktu dari log acara terakhir dengan stempel waktu yang berhasil diurai akan digunakan. Jika tidak ada log acara sebelumnya, waktu saat ini akan digunakan. Pesan peringatan akan dicatat ketika peristiwa log kembali ke waktu saat ini atau waktu log acara sebelumnya.

Stempel waktu digunakan untuk mengambil log acara dan menghasilkan metrik, jadi jika Anda menentukan format yang salah, log acara mungkin tidak bisa diambil dan akan menghasilkan metrik yang salah.

Bagaimana batch log acara dibuat?

Suatu batch akan menjadi penuh dan dipublikasikan ketika salah satu dari persyaratan berikut terpenuhi:

  1. Parameter jumlah waktu buffer_duration telah berlalu sejak log acara pertama ditambahkan.

  2. Kurang dari batch_size log acara telah terakumulasi, tetapi menambahkan log acara baru akan melampaui batch_size.

  3. Jumlah log acara telah mencapai batch_count.

  4. Log acara dari batch tidak berlangsung lebih dari 24 jam, tetapi menambahkan log acara baru akan melampaui batas 24 jam.

Apa yang menyebabkan entri log, log acara, atau batch dilewati atau dipotong?

Untuk mematuhi batasan operasi PutLogEvents, masalah berikut dapat menyebabkan log acara atau batch dilewati.

catatan

Agen CloudWatch Logs menulis peringatan ke lognya saat data dilewati.

  1. Jika ukuran log acara melebihi 256 KB, log acara akan dilewati sepenuhnya.

  2. Jika stempel waktu log acara menyatakan waktu yang lebih dari 2 jam mendatang, log acara akan dilewati.

  3. Jika stempel waktu log acara menyatakan waktu yang lebih dari 14 hari yang lampau, log acara akan dilewati.

  4. Jika log acara lebih tua dari periode retensi grup log, seluruh batch akan dilewati.

  5. Jika batch log acara dalam satu permintaan PutLogEvents mencakup lebih dari 24 jam, operasi PutLogEvents akan gagal.

Apakah menghentikan agen akan menyebabkan kehilangan data/duplikat?

Tidak, selama file state tersedia dan tidak ada rotasi file yang terjadi sejak terakhir dijalankan. Agen CloudWatch Log dapat memulai dari tempat berhenti dan terus mendorong data log.

Dapatkah saya mengarahkan berkas log yang berbeda dari host yang sama atau berbeda ke pengaliran log yang sama?

Mengonfigurasi beberapa sumber log untuk mengirim data ke satu pengaliran log tidaklah didukung.

Panggilan API apa yang dilakukan agen (atau tindakan apa yang harus saya tambahkan ke kebijakan IAM saya)?

Agen CloudWatch Log membutuhkanCreateLogGroup,CreateLogStream,DescribeLogStreams, dan PutLogEvents operasi. Jika Anda menggunakan agen terbaru, DescribeLogStreams tidak diperlukan. Lihat contoh kebijakan IAM di bawah ini.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
Saya tidak ingin agen CloudWatch Log membuat grup log atau aliran log secara otomatis. Bagaimana cara mencegah agen membuat grup log dan pengaliran log?

Dalam kebijakan IAM, Anda dapat membatasi agen hanya ke operasi berikut: DescribeLogStreams, PutLogEvents.

Sebelum Anda mencabut izin CreateLogGroup dan CreateLogStream dari agen, pastikan untuk membuat grup log dan pengaliran log yang Anda inginkan untuk digunakan oleh agen. Agen log tidak dapat membuat pengaliran log dalam grup log yang telah Anda buat kecuali memiliki izin CreateLogGroup dan CreateLogStream.

Log apa yang harus saya lihat saat memecahkan masalah?

Log penginstalan agen berada di /var/log/awslogs-agent-setup.log dan log agen berada di /var/log/awslogs.log.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.