全部产品
Search
文档中心

Simple Log Service:Kumpulkan log jurnal systemd

更新时间:Nov 09, 2025

Logtail mengumpulkan log jurnal systemd Linux dari file biner. Topik ini menjelaskan cara membuat konfigurasi Logtail di Konsol Simple Log Service untuk mengumpulkan log jurnal systemd.

Prasyarat

Logtail versi 0.16.18 atau lebih baru telah terinstal pada Server Linux. Untuk informasi lebih lanjut, lihat Instal Logtail pada Server Linux.

Pengenalan

systemd adalah sistem dan manajer layanan untuk sistem operasi Linux. Saat berjalan sebagai proses init (PID=1), ia bertindak sebagai sistem inisialisasi yang memulai dan mempertahankan layanan ruang pengguna. systemd secara terpusat mengelola log semua unit, termasuk log kernel dan aplikasi. File konfigurasinya biasanya adalah /etc/systemd/journald.conf.

Catatan

Sistem operasi harus mendukung format log jurnal.

Fitur

  • Anda dapat menetapkan posisi pengumpulan awal. Checkpoint otomatis disimpan untuk pengumpulan data selanjutnya, dan proses ini tidak terpengaruh oleh restart aplikasi.

  • Anda dapat menyaring unit tertentu.

  • Anda dapat mengumpulkan log kernel.

  • Tingkat log secara otomatis diurai.

  • Anda dapat mengumpulkan log jurnal dari host dalam kontainer. Fitur ini berguna dalam skenario Docker dan Kubernetes.

Skenario

  • Monitor peristiwa kernel dan otomatis picu peringatan untuk pengecualian.

  • Kumpulkan semua log sistem untuk penyimpanan jangka panjang dan kurangi penggunaan ruang disk.

  • Kumpulkan log keluaran dari perangkat lunak (unit) untuk analisis atau peringatan.

  • Kumpulkan semua log jurnal untuk dengan cepat mengambil log atau mencari kata kunci. Ini secara signifikan meningkatkan efisiensi kueri dibandingkan dengan journalctl.

Prosedur

  1. Masuk ke Konsol Simple Log Service.

  2. Di area Data Ingestion, pilih Custom Data Plugin.

  3. Pilih proyek dan penyimpanan log, lalu klik Next.

  4. Di langkah Machine Group Configurations, konfigurasikan kelompok mesin.

    1. Konfigurasikan parameter Skenario dan Lingkungan Instalasi sesuai kebutuhan.

      Penting

      Anda harus mengonfigurasi parameter Skenario dan Lingkungan Instalasi terlepas dari apakah kelompok mesin tersedia. Pengaturan parameter memengaruhi konfigurasi selanjutnya.

    2. Pastikan kelompok mesin ditampilkan di bagian Applied Server Groups, dan klik Next.

      Kelompok mesin tersedia

      Pilih kelompok mesin dari bagian Source Machine Group.

      image

      Tidak ada kelompok mesin tersedia

      Klik Create Machine Group. Di panel Create Machine Group, konfigurasikan parameter. Anda dapat menyetel parameter Pengenal Kelompok Mesin ke IP Address atau Custom Identifier. Untuk informasi lebih lanjut, lihat Buat kelompok mesin berbasis pengenal kustom atau Buat kelompok mesin berbasis alamat IP.

      Penting

      Jika Anda menerapkan kelompok mesin segera setelah membuat kelompok mesin, status detak jantung kelompok mesin mungkin menjadi FAIL. Masalah ini terjadi karena kelompok mesin belum terhubung ke Simple Log Service. Untuk menyelesaikan masalah ini, Anda dapat mengklik Automatic Retry. Jika masalah tetap ada, lihat Apa yang harus saya lakukan jika tidak ada koneksi detak jantung yang terdeteksi pada Logtail?

  5. Di tab Data Source Settings, atur Configuration Name dan Plugin Configuration, lalu klik Next.

      {
        "inputs": [
          {
            "detail": {
              "JournalPaths": [
                "/var/log/journal"
              ],
              "Kernel": true,
              "ParsePriority": true,
              "ParseSyslogFacility": true
            },
            "type": "service_journal"
          }
        ]
      }

      Parameter

      Tipe

      Diperlukan

      Deskripsi

      type

      string

      Ya

      Tipe sumber data. Atur ini ke service_journal.

      JournalPaths

      array string

      Ya

      Path log jurnal. Kami merekomendasikan Anda menyetel ini ke direktori tempat log jurnal disimpan, seperti /var/log/journal.

      SeekPosition

      string

      Tidak

      Posisi dari mana Logtail mulai mengumpulkan log untuk pertama kalinya. Anda dapat menyetel ini ke head atau tail. Nilai default adalah tail.

      • head: Mengumpulkan semua data yang ada.

      • tail: Hanya mengumpulkan data baru yang dihasilkan setelah konfigurasi Logtail diterapkan.

      Kernel

      boolean

      Tidak

      Menentukan apakah akan mengumpulkan log kernel. Nilai default adalah true, yang menunjukkan bahwa log kernel dikumpulkan.

      Units

      array string

      Tidak

      Daftar unit dari mana log akan dikumpulkan. Secara default, parameter ini kosong, yang menunjukkan bahwa log dari semua unit dikumpulkan.

      ParseSyslogFacility

      boolean

      Tidak

      Menentukan apakah akan mengurai bidang fasilitas syslog. Nilai default adalah false. Jika Anda tidak mengonfigurasi parameter ini, bidang tersebut tidak diurai.

      ParsePriority

      boolean

      Tidak

      Menentukan apakah akan mengurai bidang Priority. Nilai default adalah false. Jika Anda tidak mengonfigurasi parameter ini, bidang tersebut tidak diurai.

      Jika Anda menyetel ini ke true, bidang Priority diurai berdasarkan pemetaan berikut.

        "0": "emergency"
        "1": "alert"
        "2": "critical"
        "3": "error"
        "4": "warning"
        "5": "notice"
        "6": "informational"
        "7": "debug"

      UseJournalEventTime

      boolean

      Tidak

      Menentukan apakah akan menggunakan bidang dalam log jurnal sebagai waktu log. Nilai default adalah false. Jika Anda tidak mengonfigurasi parameter ini, waktu pengumpulan digunakan sebagai waktu log.

      Untuk pengumpulan log waktu nyata, selisih waktu biasanya dalam 3 detik.

    • Buat indeks dan pratinjau data, lalu klik Next. Secara default, pengindeksan teks penuh diaktifkan di Simple Log Service. Anda juga dapat secara manual membuat indeks bidang untuk log yang dikumpulkan atau klik Automatic Index Generation. Lalu, Simple Log Service menghasilkan indeks bidang. Untuk informasi lebih lanjut, lihat Buat indeks.

      Penting

      Jika Anda ingin menanyakan semua bidang dalam log, kami sarankan Anda menggunakan indeks teks penuh. Jika Anda hanya ingin menanyakan bidang tertentu, kami sarankan Anda menggunakan indeks bidang. Ini membantu mengurangi lalu lintas indeks. Jika Anda ingin menganalisis bidang, Anda harus membuat indeks bidang. Anda harus menyertakan pernyataan SELECT dalam pernyataan kueri Anda untuk analisis.

    • Klik Query Log. Lalu, Anda akan dialihkan ke halaman kueri dan analisis Logstore Anda.

      Anda harus menunggu sekitar 1 menit agar indeks berlaku. Lalu, Anda dapat melihat log yang dikumpulkan di tab Log Mentah. Untuk informasi lebih lanjut tentang cara menanyakan dan menganalisis log, lihat Panduan untuk kueri dan analisis log.

    Contoh

    • Contoh 1

      Kumpulkan log jurnal dari direktori /var/log/journal default. Konfigurasi pengumpulan adalah sebagai berikut:

      {
        "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

      Catatan

      Beberapa batasan berikut berlaku saat Anda mengumpulkan log jurnal dari host menggunakan kontainer:

      • Jika versi systemd dalam kontainer adalah 247 atau lebih lama, Anda tidak dapat mengumpulkan log jurnal yang dihasilkan oleh host dengan versi systemd 249 atau lebih baru.

      • Jika versi systemd dalam kontainer adalah 249 atau lebih baru, ia dapat membaca format lama dan baru.

      Dalam skenario Kubernetes, Anda dapat menggunakan mode DaemonSet untuk mengumpulkan log sistem dari host. Karena log berisi banyak bidang non-kritis, Anda dapat menggunakan plugin pemrosesan untuk memilih hanya bidang log penting. Konfigurasi pengumpulan adalah sebagai berikut:

      {
        "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 ditampilkan di halaman pratinjau atau halaman kueri setelah log dikumpulkan menggunakan Logtail, Anda dapat memecahkan kesalahan berdasarkan instruksi yang diberikan di Apa yang harus saya lakukan jika terjadi kesalahan saat saya menggunakan Logtail untuk mengumpulkan log?