Outputs can be figured using a global scope or within a namespaced scope. Global scope allows for one instance of an output. Namespaced scope allows for multiple instances of an output.
Global Configuration
Global configuration only allows you to create a single instance of an output.
For example:
EF_OUTPUT_ELASTICSEARCH_ENABLE=true
The collector sends data to a single instance of an output.
Namespaces allow multiple instances of an output for flows to be sent.
To define a namespace, include the name of your namespace after EF_.
For example:
To namespace a configuration defined as EF_OUTPUT_ELASTICSEARCH_ENABLE. Add your namespace between EF_ and _OUTPUT_ELASTICSEARCH_ENABLE. As shown below:
EF_OUTPUT_ELASTICSEARCH_ENABLE=true # global configuration
EF_NAMESPACE1_OUTPUT_ELASTICSEARCH_ENABLE=true # namespace configuration
2022-07-07T08:27:39.536-0500 fatal flowcoll/main.go:108 exiting flowcoll because of invalid configuration {"code": "config/invalid", "reason": "both global and namespace environment variables cannot be used simultaneously"}
main.main
/go/src/elastiflow.com/flowcoll/cmd/flowcoll/main.go:108
runtime.main
/usr/local/go/src/runtime/proc.go:255
exit status 1