No commit activity in last 3 years
No release in over 3 years
outputs detail monitor informations for fluentd
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.0
~> 2.14
~> 11.0
~> 1.0
~> 0.7
~> 3.2
~> 0.3

Runtime

< 2, >= 0.14.0
 Project Readme

fluent-plugin-monitor-agent-detail

Fluentd plugin to monitor executing Fluentd plugins based in_monitor_agent plugin.

This plugin outputs below additional informations compared with in_monitor_agent.

  • buffer_total_queued_ratio
    • Calculated ratio (buffer_total_queued_size / total_limit_size)

Requirements

fluentd ruby
>= v0.14.0 >= 2.1

Installation

$ gem install fluent-plugin-monitor-agent-detail

Example Configuration

<source>
  @type monitor_agent_detail
  bind 0.0.0.0
  port 24220
</source>

This configuration launches HTTP server with 24220 port and get metrics like below:

$ curl http://host:24220/api/plugins.json

Parameters

Available parameters except @type are same as in_monitor_agent.

Output Example

Show output example with following configuration:

<source>
  @type monitor_agent_detail
  bind 0.0.0.0
  port 24220
</source>

<source>
  @type forward
  port  24224
</source>

<match **>
  @type                forward
  @id                  forward_to_aggregation
  require_ack_response true
  <buffer tag>
    @type                       file
    path                        "/var/log/td-agent/buffer/forward_to_aggregation.*.log"
    flush_mode                  interval
    total_limit_size            10m
    flush_interval              1.0
    flush_thread_burst_interval 0.1
    flush_thread_count          1
    retry_forever               true
    retry_max_interval          30s
  </buffer>
  <server>
    name aggregation_process01
    host 127.0.0.1
    port 24321
  </server>
  <server>
    name aggregation_process02
    host 127.0.0.1
    port 24322
  </server>
</match>

Basic response

{
  "plugins": [
    {
      "plugin_id": "object:3fc716c6ea54",
      "plugin_category": "input",
      "type": "monitor_agent_detail",
      "config": {
        "@type": "monitor_agent_detail",
        "bind": "0.0.0.0",
        "port": "24220"
      },
      "output_plugin": false,
      "retry_count": null
    },
    {
      "plugin_id": "object:3fc717453d14",
      "plugin_category": "input",
      "type": "forward",
      "config": {
        "@type": "forward",
        "port": "24224"
      },
      "output_plugin": false,
      "retry_count": null
    },
    {
      "plugin_id": "forward_to_aggregation",
      "plugin_category": "output",
      "type": "forward",
      "config": {
        "@type": "forward",
        "require_ack_response": "true"
      },
      "output_plugin": true,
      "buffer_queue_length": 1,
      "buffer_total_queued_size": 3643,
      "buffer_total_queued_ratio": 0.0003,
      "retry_count": 0,
      "retry": {}
    }
  ]
}

In retry

{
  "plugins": [
    {
      "plugin_id": "object:3fc716c6ea54",
      "plugin_category": "input",
      "type": "monitor_agent_detail",
      "config": {
        "@type": "monitor_agent_detail",
        "bind": "0.0.0.0",
        "port": "24220"
      },
      "output_plugin": false,
      "retry_count": null
    },
    {
      "plugin_id": "object:3fc717453d14",
      "plugin_category": "input",
      "type": "forward",
      "config": {
        "@type": "forward",
        "port": "24224"
      },
      "output_plugin": false,
      "retry_count": null
    },
    {
      "plugin_id": "forward_to_aggregation",
      "plugin_category": "output",
      "type": "forward",
      "config": {
        "@type": "forward",
        "require_ack_response": "true"
      },
      "output_plugin": true,
      "buffer_queue_length": 1204,
      "buffer_total_queued_size": 7836254,
      "buffer_total_queued_ratio": 0.7473,
      "retry_count": 976,
      "retry": {
        "start": "2018-05-23 09:45:56 +0900",
        "steps": 975,
        "next_time": "2018-05-23 12:11:14 +0900"
      }
    }
  ]
}

Usage example

get_max_queued_ratio.rb shows response parse example.

$ ruby get_max_queued_ratio.rb localhost 24220
0.7473

License

  • License: Apache License, Version 2.0