すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:systemd ジャーナルログの収集

最終更新日:Jun 04, 2026

Logtail は、バイナリファイルから Linux の systemd ジャーナルログを収集します。Log Service コンソールで Logtail 構成を作成し、これらのログを収集してください。

前提条件

ご利用のサーバーに Linux 向け Logtail 0.16.18 以降がインストールされている必要があります。Linux サーバーへの Logtail のインストールをご参照ください。

概要

systemd は Linux のシステムおよびサービスマネージャーです。PID 1 として実行される際、ユーザースペースのサービスを起動・維持し、カーネルログやアプリケーションログを含むすべてのユニットのログを一元管理します。設定ファイルは通常 /etc/systemd/journald.conf にあります。

説明

オペレーティングシステムはジャーナルログフォーマットをサポートしている必要があります。

機能

  • Logtail はチェックポイントを自動保存するため、再起動後に収集を再開します。

  • 指定されたユニットでログをフィルターできます。

  • カーネルログを収集できます。

  • ログレベルを自動的に解析します。

  • Docker や Kubernetes などのコンテナ化環境でホストのジャーナルログを収集できます。

ユースケース

  • カーネルイベントを監視し、例外が発生した際に自動的にアラートをトリガーします。

  • ディスク領域使用量を削減するために、すべてのシステムログを長期ストレージ用に収集します。

  • ソフトウェア (ユニット) の出力ログを分析またはアラート機能のために収集します。

  • journalctl よりも高速にジャーナルログをキーワードまたはエントリで検索します。

操作手順

  1. Simple Log Service コンソールにログインします。

  2. データの取り込み セクションで、カスタムデータプラグイン を選択します。

  3. 送信先のプロジェクトと Logstore を選択し、次へ をクリックします。

  4. マシングループの設定 ステップで、マシングループを設定します。

    1. 必要に応じて [シナリオ] および [インストール環境] パラメーターを設定します。

      重要

      マシングループが利用可能かどうかに関係なく、[シナリオ] および [インストール環境] パラメーターを必ず設定してください。パラメータ設定は後続の構成に影響します。

    2. 適用済みサーバーグループ セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。

      マシングループが利用可能

      ソースマシングループ セクションからマシングループを選択します。

      image

      マシングループが利用不可

      [マシングループの作成] をクリックします。マシングループの作成 パネルでパラメーターを設定します。[マシングループ識別子] パラメーターには IP アドレス または カスタム識別子 を設定できます。詳細については、「カスタム識別子ベースのマシングループの作成」または「IP アドレスベースのマシングループの作成」をご参照ください。

      重要

      マシングループを作成直後に適用すると、マシングループのハートビートステータスが FAIL になる場合があります。これは、マシングループが Simple Log Service に接続されていないために発生します。この問題を解決するには、[自動再試行] をクリックしてください。問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合はどうすればよいですか?」をご参照ください。

  5. データソース設定 タブで、構成名 および プラグイン設定 を設定し、[次へ] をクリックします。

    • inputs は必須項目で、Logtail 構成のデータソース設定を構成するために使用されます。

      重要

      inputs では、1 種類のデータソースのみを指定できます。

    • processors は任意項目で、Logtail 構成のデータ処理設定を構成し、データを解析するために使用されます。1 つ以上の処理方法を指定できます。

      inputs の設定のみではログを解析できない場合は、プラグイン設定 フィールドでプロセッサを設定し、データ処理用のプラグインを追加できます。たとえば、フィールドの抽出、ログ時間の抽出、データのマスク、ログのフィルターなどです。詳細については、「データ処理用の Logtail プラグイン」をご参照ください。

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

    パラメーター

    タイプ

    必須

    説明

    type

    文字列

    はい

    データソースのタイプ。service_journal を設定します。

    JournalPaths

    文字列の配列

    はい

    systemd ジャーナルディレクトリのパス。例:/var/log/journal

    SeekPosition

    文字列

    いいえ

    初期収集開始位置。有効な値:head および tail。デフォルト値:tail

    • head:既存のすべてのログデータを先頭から収集します。

    • tail:構成適用後に生成された新しいログデータのみを収集します。

    Kernel

    ブール値

    いいえ

    カーネルログを収集します。デフォルト:true

    Units

    文字列の配列

    いいえ

    ログを収集するユニット。空の場合、Logtail はすべてのユニットから収集します。

    ParseSyslogFacility

    ブール値

    いいえ

    syslog ログから facility フィールドを解析します。デフォルト:false

    ParsePriority

    ブール値

    いいえ

    Priority フィールドを解析します。デフォルト:false

    true に設定すると、Priority フィールドは次のようにマップされます。

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

    UseJournalEventTime

    ブール値

    いいえ

    ジャーナルログエントリのタイムスタンプをログ時間として使用します。デフォルト:false(収集時間を使用)。

    リアルタイム収集の場合、ジャーナルタイムスタンプと収集時間の差は通常 3 秒未満です。

  6. インデックスを作成し、データをプレビューしてから、[次へ] をクリックします。Simple Log Service では、デフォルトでフルテキストインデックスが有効になっています。収集されたログに対して手動でフィールドインデックスを作成することもできます。または、[自動インデックス生成] をクリックすると、Simple Log Service がフィールドインデックスを自動生成します。詳細については、「インデックスの作成」をご参照ください。

    重要

    ログ内のすべてのフィールドをクエリしたい場合は、フルテキストインデックスを使用することを推奨します。特定のフィールドのみをクエリしたい場合は、フィールドインデックスを使用することを推奨します。これにより、インデックストラフィックを削減できます。フィールドを分析する場合は、フィールドインデックスを作成する必要があります。分析を行うには、クエリ文に SELECT 文を含める必要があります。

  7. [クエリログ] をクリックします。すると、Logstore のクエリと分析ページにリダイレクトされます。

    インデックスが有効になるまで約 1 分お待ちください。その後、生ログ タブで収集されたログを表示できます。ログのクエリと分析方法の詳細については、「クエリと分析クイックスタート」をご参照ください。

使用例

  • 例 1

    デフォルトディレクトリ /var/log/journal からジャーナルログを収集します。次の構成を使用します。

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

    ログサンプル:

    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
  • 例 2

    説明

    コンテナからホストのジャーナルログを収集する際の制限事項:

    • systemd バージョン 247 以前のコンテナは、systemd バージョン 249 以降を実行するホストのジャーナルログを収集できません。

    • systemd バージョン 249 以降のコンテナは、新旧両方のフォーマットのログを読み取ることができます。

    Kubernetes 環境では、DaemonSet モードを使用してホストシステムログを収集します。処理プラグインを使用して重要なフィールドのみを保持します。構成例:

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

    ログサンプル:

    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

トラブルシューティング

Logtail を設定してログを収集した後、プレビューまたはクエリページにデータが表示されない場合は、「Logtail 収集失敗のトラブルシューティング」をご参照ください。