Skip to content

Commit 920a4f2

Browse files
author
leonardo-albertovich
authored
out_opentelemetry: initial commit (#709)
Signed-off-by: Leonardo Alminana <[email protected]>
1 parent 3092e8c commit 920a4f2

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

SUMMARY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
* [Parser](concepts/data-pipeline/parser.md)
1919
* [Filter](concepts/data-pipeline/filter.md)
2020
* [Buffer](concepts/data-pipeline/buffer.md)
21-
* [Router](concepts/data-pipeline/router.md)
21+
* [Router](concepts/data-pipeline/router.md)3
2222
* [Output](concepts/data-pipeline/output.md)
2323

2424
## Installation
@@ -128,6 +128,7 @@
128128
* [Throttle](pipeline/filters/throttle.md)
129129
* [Tensorflow](pipeline/filters/tensorflow.md)
130130
* [Outputs](pipeline/outputs/README.md)
131+
* [OpenTelemetry](pipeline/outputs/opentelemetry.md)
131132
* [Prometheus Exporter](pipeline/outputs/prometheus-exporter.md)
132133
* [Prometheus Remote Write](pipeline/outputs/prometheus-remote-write.md)
133134
* [Amazon CloudWatch](pipeline/outputs/cloudwatch.md)

pipeline/inputs/fluentbit-metrics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: >-
77

88
Fluent Bit exposes its [own metrics](../../administration/monitoring.md) to allow you to monitor the internals of your pipeline.
99
The collected metrics can be processed similarly to those from the [Prometheus Node Exporter input plugin](node-exporter-metrics.md).
10-
They can be sent to output plugins including [Prometheus Exporter](../outputs/prometheus-exporter.md) or [Prometheus Remote Write](../outputs/prometheus-remote-write.md).
10+
They can be sent to output plugins including [Prometheus Exporter](../outputs/prometheus-exporter.md), [Prometheus Remote Write](../outputs/prometheus-remote-write.md) or [OpenTelemetry](../outputs/opentelemetry.md)..
1111

1212
**Important note:** Metrics collected with Node Exporter Metrics flow through a separate pipeline from logs and current filters do not operate on top of metrics.
1313

pipeline/outputs/opentelemetry.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
description: An output plugin to submit Metrics to an OpenTelemetry endpoint
3+
---
4+
5+
# OpenTelemetry
6+
7+
The OpenTelemetry plugin allows you to take metrics from Fluent Bit and submit them to an OpenTelemetry HTTP endpoint.
8+
9+
Important Note: At the moment only HTTP endpoints are supported.
10+
11+
| Key | Description | Default |
12+
| -------------------- | ------------------------------------------------------------ | --------- |
13+
| host | IP address or hostname of the target HTTP Server | 127.0.0.1 |
14+
| http_user | Basic Auth Username | |
15+
| http_passwd | Basic Auth Password. Requires HTTP_user to be set | |
16+
| port | TCP port of the target HTTP Server | 80 |
17+
| proxy | Specify an HTTP Proxy. The expected format of this value is `http://HOST:PORT`. Note that HTTPS is **not** currently supported. It is recommended not to set this and to configure the [HTTP proxy environment variables](https://docs.fluentbit.io/manual/administration/http-proxy) instead as they support both HTTP and HTTPS. | |
18+
| uri | Specify an optional HTTP URI for the target web server, e.g: /something | / |
19+
| header | Add a HTTP header key/value pair. Multiple headers can be set. | |
20+
| log_response_payload | Log the response payload within the Fluent Bit log | false |
21+
| add_label | This allows you to add custom labels to all metrics exposed through the OpenTelemetry exporter. You may have multiple of these fields | |
22+
23+
## Getting Started
24+
25+
The OpenTelemetry plugin only works with metrics collected by one of the from metric input plugins. In the following example, host metrics are collected by the node exporter metrics plugin and then delivered by the OpenTelemetry output plugin.
26+
27+
```
28+
# Node Exporter Metrics + OpenTelemetry output plugin
29+
# -------------------------------------------
30+
# The following example collects host metrics on Linux and delivers
31+
# them through the OpenTelemetry plugin to a local collector :
32+
#
33+
[SERVICE]
34+
Flush 1
35+
Log_level info
36+
37+
[INPUT]
38+
Name node_exporter_metrics
39+
Tag node_metrics
40+
Scrape_interval 2
41+
42+
[OUTPUT]
43+
Name opentelemetry
44+
Match node_metrics
45+
Host localhost
46+
Port 443
47+
Uri /v1/metrics
48+
Log_response_payload True
49+
Tls On
50+
Tls.verify Off
51+
# add user-defined labels
52+
add_label app fluent-bit
53+
add_label color blue
54+
```

0 commit comments

Comments
 (0)