Syslog NG - MacOS Testing
  • GSOC - Project Report
  • Testing Methodology
  • Testing Status
  • Installation
  • Modules
    • afsocket [17]
      • network() Source Driver
      • network() Destination Driver
      • syslog() Source/Destination Driver
      • unix-stream() Source Driver
      • unix-stream() Destination Driver
      • unix-dgram() Source/Destination Driver
      • TLS-Encryption
        • Using network()
        • Using syslog()
    • affile [6]
      • file() Source Driver
      • file() Destination Driver
      • pipe() Source Driver
      • pipe() Destination Driver
      • wildcard_file() Source Driver
      • stdin() Source Driver
    • afprog [2]
      • program() Source Driver
      • program() Destination Driver
    • system [1]
      • Collecting local logs pre macOS 10.15 Catalina
    • afuser [1]
    • pseudofile [1]
    • mod-python [7]
      • python() Source Driver
      • python-fetcher() Source Driver
      • python() Destination Driver*
    • afmongodb [1]
    • http [1]
    • riemann [1]
    • redis [1]
    • elasticsearch-http [1]
    • afsql [1]
    • afsmtp [1]
Powered by GitBook
On this page
  • Important Information
  • Status
  • How to Test
  • Proof

Was this helpful?

  1. Modules
  2. afsocket [17]

unix-dgram() Source/Destination Driver

The unix-dgram() source driver open an AF_UNIX socket and start listening on it for messages. Whereas unix-dgram() destination driver send messages to a UNIX domain socket.

Important Information

Unix-dgram() is used on BSDs and uses SOCK_DGRAM semantics: this may result in lost local messages if the system is overloaded.

In the official documentation, /dev/log is the default entry for system logging. This, in fact, is a socket, not a regular file or a pipe. MacOS, however, uses /var/run/syslog for the same. This needs to be kept in mind while referring to the documentation.

Status

x86

Works

ARM

Works

How to Test

To test the unix-dgram() drivers, we will run two instances of syslog-ng. One where we are transmitting data to a socket using the unix-dgram() destination driver that needs to be tested. And another that will listen for the data on the socket using the unix-stream() source driver.

Source Configuration File

@version: 3.31
@include "scl.conf"

options {
    stats-freq(10);
    time-reopen(10);
};

source s_dgram {
    unix-dgram("/var/run/syslog");
};

destination console{
    file(/dev/stdout);
};

log {
    source(s_dgram);
    destination(console);
};

Note: We need to run the source driver first as it will open the socket to which the destination driver connects to.

Destination Configuration File

@version: 3.31
@include "scl.conf"

options {
    stats-freq(10);
    time-reopen(10);
};

source custom {
    example-msg-generator(
        num(20)
        freq(5)
        template("Message to Default Socket")
    );
};

destination d_dgram {
    unix-dgram("/var/run/syslog");
};

log {
    source(custom);
    destination(d_dgram);
};

Proof

Previousunix-stream() Destination DriverNextTLS-Encryption

Last updated 1 year ago

Was this helpful?

unix-dgram() drivers tested on macOS (x86)
unix-dgram() drivers tested on macOS (ARM)