XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Blocker Blocker
    • None
    • None
    • Log Collection
    • None
    • False
    • None
    • False
    • NEW
    • OBSDA-498 - Enable OpenTelemetry in Cluster Logging Operator
    • NEW
    • Log Collection - Sprint 254, Log Collection - Sprint 255, Log Collection - Sprint 256

      Existing config for vector journal logs:

      [sources.input_infrastructure_journal]
      type = "journald"
      journal_directory = "/var/log/journal"
      
      [transforms.input_infrastructure_journal_drop]
      type = "filter"
      inputs = ["input_infrastructure_journal"]
      condition = '''
      .PRIORITY != "7" && .PRIORITY != 7
      '''
      
      [transforms.input_infrastructure_journal_viaq]
      type = "remap"
      inputs = ["input_infrastructure_journal_drop"]
      source = '''
        .openshift.cluster_id = "${OPENSHIFT_CLUSTER_ID:-}"
        .tag = ".journal.system"
        del(.source_type)
        del(._CPU_USAGE_NSEC)
        del(.__REALTIME_TIMESTAMP)
        del(.__MONOTONIC_TIMESTAMP)
        del(._SOURCE_REALTIME_TIMESTAMP)
        del(.JOB_RESULT)
        del(.JOB_TYPE)
        del(.TIMESTAMP_BOOTTIME)
        del(.TIMESTAMP_MONOTONIC)
        if .PRIORITY == "8" || .PRIORITY == 8 {
        	.level = "trace"
        } else {
        	priority = to_int!(.PRIORITY)
        	.level, err = to_syslog_level(priority)
        	if err != null {
        		log("Unable to determine level from PRIORITY: " + err, level: "error")
        		log(., level: "error")
        		.level = "unknown"
        	} else {
        		del(.PRIORITY)
        	}
        }
        .hostname = del(.host)
        # systemd’s kernel-specific metadata.
        # .systemd.k = {}
        if exists(.KERNEL_DEVICE) { .systemd.k.KERNEL_DEVICE = del(.KERNEL_DEVICE) }
        if exists(.KERNEL_SUBSYSTEM) { .systemd.k.KERNEL_SUBSYSTEM = del(.KERNEL_SUBSYSTEM) }
        if exists(.UDEV_DEVLINK) { .systemd.k.UDEV_DEVLINK = del(.UDEV_DEVLINK) }
        if exists(.UDEV_DEVNODE) { .systemd.k.UDEV_DEVNODE = del(.UDEV_DEVNODE) }
        if exists(.UDEV_SYSNAME) { .systemd.k.UDEV_SYSNAME = del(.UDEV_SYSNAME) }
        # trusted journal fields, fields that are implicitly added by the journal and cannot be altered by client code.
        .systemd.t = {}
        if exists(._AUDIT_LOGINUID) { .systemd.t.AUDIT_LOGINUID = del(._AUDIT_LOGINUID) }
        if exists(._BOOT_ID) { .systemd.t.BOOT_ID = del(._BOOT_ID) }
        if exists(._AUDIT_SESSION) { .systemd.t.AUDIT_SESSION = del(._AUDIT_SESSION) }
        if exists(._CAP_EFFECTIVE) { .systemd.t.CAP_EFFECTIVE = del(._CAP_EFFECTIVE) }
        if exists(._CMDLINE) { .systemd.t.CMDLINE = del(._CMDLINE) }
        if exists(._COMM) { .systemd.t.COMM = del(._COMM) }
        if exists(._EXE) { .systemd.t.EXE = del(._EXE) }
        if exists(._GID) { .systemd.t.GID = del(._GID) }
        if exists(._HOSTNAME) { .systemd.t.HOSTNAME = .hostname }
        if exists(._LINE_BREAK) { .systemd.t.LINE_BREAK = del(._LINE_BREAK) }
        if exists(._MACHINE_ID) { .systemd.t.MACHINE_ID = del(._MACHINE_ID) }
        if exists(._PID) { .systemd.t.PID = del(._PID) }
        if exists(._SELINUX_CONTEXT) { .systemd.t.SELINUX_CONTEXT = del(._SELINUX_CONTEXT) }
        if exists(._SOURCE_REALTIME_TIMESTAMP) { .systemd.t.SOURCE_REALTIME_TIMESTAMP = del(._SOURCE_REALTIME_TIMESTAMP) }
        if exists(._STREAM_ID) { .systemd.t.STREAM_ID = ._STREAM_ID }
        if exists(._SYSTEMD_CGROUP) { .systemd.t.SYSTEMD_CGROUP = del(._SYSTEMD_CGROUP) }
        if exists(._SYSTEMD_INVOCATION_ID) {.systemd.t.SYSTEMD_INVOCATION_ID = ._SYSTEMD_INVOCATION_ID}
        if exists(._SYSTEMD_OWNER_UID) { .systemd.t.SYSTEMD_OWNER_UID = del(._SYSTEMD_OWNER_UID) }
        if exists(._SYSTEMD_SESSION) { .systemd.t.SYSTEMD_SESSION = del(._SYSTEMD_SESSION) }
        if exists(._SYSTEMD_SLICE) { .systemd.t.SYSTEMD_SLICE = del(._SYSTEMD_SLICE) }
        if exists(._SYSTEMD_UNIT) { .systemd.t.SYSTEMD_UNIT = del(._SYSTEMD_UNIT) }
        if exists(._SYSTEMD_USER_UNIT) { .systemd.t.SYSTEMD_USER_UNIT = del(._SYSTEMD_USER_UNIT) }
        if exists(._TRANSPORT) { .systemd.t.TRANSPORT = del(._TRANSPORT) }
        if exists(._UID) { .systemd.t.UID = del(._UID) }
        # fields that are directly passed from clients and stored in the journal.
        .systemd.u = {}
        if exists(.CODE_FILE) { .systemd.u.CODE_FILE = del(.CODE_FILE) }
        if exists(.CODE_FUNC) { .systemd.u.CODE_FUNCTION = del(.CODE_FUNC) }
        if exists(.CODE_LINE) { .systemd.u.CODE_LINE = del(.CODE_LINE) }
        if exists(.ERRNO) { .systemd.u.ERRNO = del(.ERRNO) }
        if exists(.MESSAGE_ID) { .systemd.u.MESSAGE_ID = del(.MESSAGE_ID) }
        if exists(.SYSLOG_FACILITY) { .systemd.u.SYSLOG_FACILITY = del(.SYSLOG_FACILITY) }
        if exists(.SYSLOG_IDENTIFIER) { .systemd.u.SYSLOG_IDENTIFIER = del(.SYSLOG_IDENTIFIER) }
        if exists(.SYSLOG_PID) { .systemd.u.SYSLOG_PID = del(.SYSLOG_PID) }
        if exists(.RESULT) { .systemd.u.RESULT = del(.RESULT) }
        if exists(.UNIT) { .systemd.u.UNIT = del(.UNIT) }
        .time = format_timestamp!(.timestamp, format: "%FT%T%:z")
        ts = del(.timestamp); if !exists(."@timestamp") {."@timestamp" = ts}
      '''
      

              cahartma@redhat.com Casey Hartman
              jcantril@redhat.com Jeffrey Cantrill
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: