The project is in a healthy, maintained state
Fluentd input-/output plugin for nanomsg-ng.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 2.6.9
~> 13.3.1
~> 3.6.7
~> 3.1.0

Runtime

>= 0.14.10, < 2
~> 1.0.1
 Project Readme

fluent-plugin-nng

Fluentd input and output plugin for Nano Msg.

Installation

You can install this gem using the following command:

$ fluent-gem install fluent-plugin-nng

Configuration

nng_in configuration parameters:

Parameter Description Default
uri bind socket tcp://127.0.0.1:5555
recv_timeout Timeout for recv() 1.0
tag fluentd tag nng.input
cert Server certificate (PEM string, OpenSSL::X509::Certificate, or Pathname) nil
key Private key (PEM string, OpenSSL::PKey, or Pathname) nil
ca CA certificate for client verification (mutual TLS)
verify Require client certificates false
server_name Expected server CN/SAN calculated

nng_out configuration parameters:

Parameter Description Default
uri connect uri tcp://127.0.0.1:5555
max_retry Maximum reconnect 100
retry_time Retry connecting after timeout. In seconds 5
cert Server certificate (PEM string, OpenSSL::X509::Certificate, or Pathname) nil
key Private key (PEM string, OpenSSL::PKey, or Pathname) nil
ca CA certificate for client verification (mutual TLS)
verify Require client certificates false
server_name Expected server CN/SAN calculated
format Dataformat json

Example for input plugin

This example creates a listening nanomsg socket, reads data from it and parses the data using the fluentd-plugin fluent-plugin-parser-protobuf:

<source>
  @type nng_in
  @id input_nng
  <parse>
    @type protobuf
    class_file /opt/schemas_pb.rb
    class_name LogSchema
    protobuf_version protobuf3
  </parse>
  uri tcp://127.0.0.1:5557
</source>

<match nng.**>
  @type stdout
</match>

Example for output and formatter plugin

This example reads logs from a file(/var/log/some.log) and sends the data to a nano msg socket. It automatically formats the data using the detectmate LogSchema using fluent-plugin-detectmate.

<source>
  @type tail
  @id input_tail
  <parse>
    @type none
  </parse>
  path /var/log/some.log
  path_key logSource

  tag nng.*
</source>

<match nng.**>
  @type nng_out
  uri tcp://127.0.0.1:5557
  <inject>
    hostname_key hostname
    # overwrite hostname:
    # hostname somehost
  </inject>
  <buffer>
    flush_mode immediate
  </buffer>
  <format>
    @type detectmate
  </format>
</match>

Limitations

Currently only PAIR communication for nng is supported.

Copyright

  • Copyright(c) 2026- whotwagner
  • License
    • EUROPEAN UNION PUBLIC LICENCE, Version 1.2