Logtail mengumpulkan log jurnal systemd Linux dari file biner. Buat konfigurasi Logtail di konsol Simple Log Service untuk mengumpulkan log ini.
Prasyarat
Logtail versi 0.16.18 atau yang lebih baru untuk Linux telah diinstal pada server Anda. Instal Logtail pada Server Linux.
Pendahuluan
systemd adalah manajer sistem dan layanan Linux. Saat berjalan sebagai PID 1, systemd memulai dan memelihara layanan user-space serta mengelola log secara terpusat untuk semua unit, termasuk log kernel dan aplikasi. File konfigurasinya biasanya berada di /etc/systemd/journald.conf.
Sistem operasi harus mendukung format log jurnal.
Fitur
-
Logtail menyimpan checkpoint secara otomatis sehingga pengumpulan dilanjutkan setelah restart.
-
Filter log berdasarkan unit tertentu.
-
Kumpulkan log kernel.
-
Urai tingkat log secara otomatis.
-
Kumpulkan log jurnal host di lingkungan terkontainerisasi seperti Docker dan Kubernetes.
Kasus Penggunaan
-
Monitor event kernel dan picu peringatan secara otomatis saat terjadi pengecualian.
-
Kumpulkan semua log sistem untuk penyimpanan jangka panjang guna mengurangi penggunaan ruang disk.
-
Kumpulkan log output dari perangkat lunak (unit) untuk analisis atau peringatan.
-
Cari log jurnal berdasarkan kata kunci atau entri lebih cepat daripada
journalctl.
Prosedur
Masuk ke Simple Log Service console.
-
Di bagian Import Data, pilih Custom Data Plug-in.
-
Pilih proyek dan Logstore tujuan, lalu klik Next.
Pada langkah Machine Group Configurations, konfigurasikan kelompok mesin.
Konfigurasikan parameter Scenario dan Installation Environment sesuai kebutuhan.
PentingAnda harus mengonfigurasi parameter Scenario dan Installation Environment terlepas dari apakah kelompok mesin tersedia atau tidak. Pengaturan parameter ini memengaruhi konfigurasi selanjutnya.
Pastikan kelompok mesin ditampilkan di bagian Applied Server Groups, lalu klik Next.
Machine group available
Pilih kelompok mesin dari bagian Source Machine Group.

No machine group available
Klik Create Machine Group. Di panel Create Machine Group, konfigurasikan parameter. Anda dapat mengatur parameter Machine Group Identifier menjadi IP Address atau Custom Identifier. Untuk informasi lebih lanjut, lihat Buat kelompok mesin berbasis pengenal kustom atau Buat kelompok mesin berbasis alamat IP.
PentingJika Anda menerapkan kelompok mesin segera setelah membuatnya, status heartbeat kelompok mesin mungkin menunjukkan FAIL. Masalah ini terjadi karena kelompok mesin belum terhubung ke Simple Log Service. Untuk mengatasinya, Anda dapat mengklik Automatic Retry. Jika masalah tetap berlanjut, lihat Apa yang harus saya lakukan jika tidak ada koneksi heartbeat yang terdeteksi pada Logtail?
-
Di tab Data Source Settings, atur Configuration Name dan Plug-in Configuration, lalu klik Next.
-
inputs wajib diisi dan digunakan untuk mengonfigurasi pengaturan sumber data pada konfigurasi Logtail.
PentingAnda hanya dapat menentukan satu jenis sumber data dalam inputs.
-
processors bersifat opsional dan digunakan untuk mengonfigurasi pengaturan pemrosesan data pada konfigurasi Logtail guna mengurai data. Anda dapat menentukan satu atau beberapa metode pemrosesan.
Jika log Anda tidak dapat diurai hanya berdasarkan pengaturan inputs, Anda dapat mengonfigurasi processor di kolom Plug-in Configuration untuk menambahkan plugin guna pemrosesan data. Misalnya, ekstraksi bidang, ekstraksi waktu log, masking data, dan filter log. Untuk informasi lebih lanjut, lihat Plugin Logtail untuk pemrosesan data.
{ "inputs": [ { "detail": { "JournalPaths": [ "/var/log/journal" ], "Kernel": true, "ParsePriority": true, "ParseSyslogFacility": true }, "type": "service_journal" } ] }Parameter
Tipe
Wajib
Deskripsi
type
String
Ya
Jenis sumber data. Atur ke
service_journal.JournalPaths
Array of strings
Ya
Jalur direktori jurnal systemd. Contoh: /var/log/journal.
SeekPosition
String
Tidak
Posisi awal pengumpulan. Nilai yang valid:
headdantail. Nilai default:tail.-
head: Kumpulkan semua data log yang sudah ada dari awal. -
tail: Kumpulkan hanya data log baru yang dihasilkan setelah konfigurasi diterapkan.
Kernel
Boolean
Tidak
Kumpulkan log kernel. Default:
true.Units
Array of strings
Tidak
Unit tempat log dikumpulkan. Jika kosong, Logtail mengumpulkan dari semua unit.
ParseSyslogFacility
Boolean
Tidak
Urai bidang
facilitydari log syslog. Default:false.ParsePriority
Boolean
Tidak
Urai bidang
Priority. Default:false.Jika diatur ke true, bidang Priority dipetakan sebagai berikut.
"0": "emergency" "1": "alert" "2": "critical" "3": "error" "4": "warning" "5": "notice" "6": "informational" "7": "debug"UseJournalEventTime
Boolean
Tidak
Gunakan timestamp entri log jurnal sebagai waktu log. Default:
false(menggunakan waktu pengumpulan).Untuk pengumpulan real-time, selisih antara timestamp jurnal dan waktu pengumpulan biasanya kurang dari 3 detik.
-
Buat indeks dan pratinjau data. Lalu, klik Next. Secara default, full-text indexing diaktifkan di Simple Log Service. Anda juga dapat membuat indeks bidang secara manual untuk log yang dikumpulkan atau klik Automatic Index Generation. Kemudian, Simple Log Service akan menghasilkan indeks bidang. Untuk informasi lebih lanjut, lihat Buat indeks.
PentingJika Anda ingin mengkueri semua bidang dalam log, kami merekomendasikan penggunaan full-text index. Jika Anda hanya ingin mengkueri bidang tertentu, kami merekomendasikan penggunaan field index. Hal ini membantu mengurangi traffic indeks. Jika Anda ingin menganalisis bidang, Anda harus membuat field index. Pernyataan kueri Anda harus mencakup pernyataan SELECT untuk analisis.
Klik Query Log. Anda akan diarahkan ke halaman kueri dan analisis Logstore Anda.
Anda harus menunggu sekitar 1 menit agar indeks berlaku. Setelah itu, Anda dapat melihat log yang dikumpulkan di tab Raw Logs. Untuk informasi lebih lanjut tentang cara mengkueri dan menganalisis log, lihat Panduan cepat kueri dan analisis.
Contoh
-
Contoh 1
Kumpulkan log jurnal dari direktori default
/var/log/journal. Konfigurasi berikut digunakan:{ "inputs": [ { "detail": { "JournalPaths": [ "/var/log/journal" ] }, "type": "service_journal" } ] }Contoh log:
MESSAGE: rejected connection from "192.168.0.250:43936" (error "EOF", ServerName "") PACKAGE: embed PRIORITY: 6 SYSLOG_IDENTIFIER: etcd _BOOT_ID: fe919cd1268f4721bd87b5c18afe59c3 _CAP_EFFECTIVE: 0 _CMDLINE: /usr/bin/etcd --election-timeout=3000 --heartbeat-interval=500 --snapshot-count=50000 --data-dir=data.etcd --name 192.168.0.251-name-3 --client-cert-auth --trusted-ca-file=/var/lib/etcd/cert/ca.pem --cert-file=/var/lib/etcd/cert/etcd-server.pem --key-file=/var/lib/etcd/cert/etcd-server-key.pem --peer-client-cert-auth --peer-trusted-ca-file=/var/lib/etcd/cert/peer-ca.pem --peer-cert-file=/var/lib/etcd/cert/192.168.0.251-name-3.pem --peer-key-file=/var/lib/etcd/cert/192.168.0.251-name-3-key.pem --initial-advertise-peer-urls https://192.168.0.251:2380 --listen-peer-urls https://192.168.0.251:2380 --advertise-client-urls https://192.168.0.251:2379 --listen-client-urls https://192.168.0.251:2379 --initial-cluster 192.168.0.249-name-1=https://192.168.0.249:2380,192.168.0.250-name-2=https://192.168.0.250:2380,192.168.0.251-name-3=https://192.168.0.251:2380 --initial-cluster-state new --initial-cluster-token abac64c8-baab-4ae6-8412-4253d3cfb0cf _COMM: etcd _EXE: /opt/etcd-v3.3.8/etcd _GID: 995 _HOSTNAME: iZbp1f7y2ikfe4l8nx95amZ _MACHINE_ID: f0f31005fb5a436d88e3c6cbf54e25aa _PID: 10926 _SOURCE_REALTIME_TIMESTAMP: 1546854068863857 _SYSTEMD_CGROUP: /system.slice/etcd.service _SYSTEMD_SLICE: system.slice _SYSTEMD_UNIT: etcd.service _TRANSPORT: journal _UID: 997 __source__: 172.16.1.4 __tag__:__hostname__: logtail-ds-8kqb9 __topic__: _monotonic_timestamp_: 1467135144311 _realtime_timestamp_: 1546854068864309 -
Contoh 2
CatatanBatasan dalam mengumpulkan log jurnal host dari kontainer:
-
Kontainer dengan systemd versi 247 atau lebih lama tidak dapat mengumpulkan log jurnal dari host yang menjalankan systemd versi 249 atau lebih baru.
-
Kontainer dengan systemd versi 249 atau lebih baru dapat membaca log dalam format lama maupun baru.
Di lingkungan Kubernetes, gunakan mode DaemonSet untuk mengumpulkan log sistem host. Gunakan plug-in pemrosesan untuk menyimpan hanya bidang penting. Contoh konfigurasi:
{ "inputs": [ { "detail": { "JournalPaths": [ "/logtail_host/var/log/journal" ], "ParsePriority": true, "ParseSyslogFacility": true }, "type": "service_journal" } ], "processors": [ { "detail": { "Exclude": { "UNIT": "^libcontainer.*test" } }, "type": "processor_filter_regex" }, { "detail": { "Include": [ "MESSAGE", "PRIORITY", "_EXE", "_PID", "_SYSTEMD_UNIT", "_realtime_timestamp_", "_HOSTNAME", "UNIT", "SYSLOG_FACILITY", "SYSLOG_IDENTIFIER" ] }, "type": "processor_pick_key" } ] }Contoh log:
MESSAGE: rejected connection from "192.168.0.251:48914" (error "EOF", ServerName "") PRIORITY: informational SYSLOG_IDENTIFIER: etcd _EXE: /opt/etcd-v3.3.8/etcd _HOSTNAME: iZbp1i0czq3zgvxlx7u8ueZ _PID: 10590 _SYSTEMD_UNIT: etcd.service __source__: 172.16.0.141 __tag__:__hostname__: logtail-ds-dp48x __topic__: _realtime_timestamp_: 1547975837008708 -
Pemecahan Masalah
Jika tidak ada data yang muncul di halaman pratinjau atau kueri setelah Anda mengonfigurasi Logtail untuk mengumpulkan log, lihat Pemecahan masalah kegagalan pengumpulan Logtail.