This library is a tool for writing netdata plugins.
We strongly believe that custom plugins are very important and they must be easy to write.
plugin orchestrators are external plugins that do not collect any data by themselves. Instead they support data collection modules written in the language of the orchestrator. Usually the orchestrator provides a higher level abstraction, making it ideal for writing new data collection modules with the minimum of code.
plugin is a set of data collection modules.
module is a data collector. It collects, processes and returns processed data to the orchestrator.
job is a module instance with specific settings.
- CLI parser
- plugin orchestrator (loads configurations, creates and serves jobs)
You are responsible only for creating modules.
Custom plugin example
How to write a Module
Module is responsible for charts creating and data collecting. Implement Module interface and that is it.
How to write a Plugin
Since plugin is a set of modules all you need is:
- write module(s)
- add module(s) to the plugins registry
- start the plugin
How to integrate your plugin into Netdata
Three simple steps:
- move the plugin to the
- add plugin configuration file to the
- add modules configuration files to the
Configurations are written in YAML.
- plugin configuration:
- module configuration
yaml.Unmarshal to add configuration parameters to the module. Please use
Specific module debug:
<plugin_name> to your plugin name and
<module_name> to the module name you want to debug.