From 9d9f326be565cdebdd0205fb8fca60551f4588cb Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Wed, 1 Sep 2021 19:03:02 -0700 Subject: [PATCH 1/5] Output Vector internal logs and metrics to DD backend Signed-off-by: Luc Perkins --- datadog-observability/docker-compose.yml | 10 +++++++ datadog-observability/vector/vector.toml | 33 ++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 datadog-observability/docker-compose.yml create mode 100644 datadog-observability/vector/vector.toml diff --git a/datadog-observability/docker-compose.yml b/datadog-observability/docker-compose.yml new file mode 100644 index 0000000..c744bb3 --- /dev/null +++ b/datadog-observability/docker-compose.yml @@ -0,0 +1,10 @@ +version: '3.9' +services: + vector: + image: timberio/vector:0.16.1-alpine + ports: + - 8686:8686 + environment: + - DD_API_KEY + volumes: + - ./vector:/etc/vector:ro diff --git a/datadog-observability/vector/vector.toml b/datadog-observability/vector/vector.toml new file mode 100644 index 0000000..8333362 --- /dev/null +++ b/datadog-observability/vector/vector.toml @@ -0,0 +1,33 @@ +[api] +enabled = true +address = "0.0.0.0:8686" +playground = true + +[sources.generator] +type = "generator" +format = "json" +interval = 0.5 + +[sinks.stdout] +type = "console" +inputs = ["generator"] +target = "stdout" + +[sinks.stdout.encoding] +codec = "json" + +[sources.vector_logs] +type = "internal_logs" + +[sources.vector_metrics] +type = "internal_metrics" + +[sinks.datadog_logs] +type = "datadog_logs" +inputs = ["vector_logs"] +default_api_key = "${DD_API_KEY}" + +[sinks.datadog_metrics] +type = "datadog_metrics" +inputs = ["vector_metrics"] +api_key = "${DD_API_KEY}" From b5ff49b98b3368de2f7a1b03cfbc7b8437ca4e01 Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Wed, 1 Sep 2021 19:08:13 -0700 Subject: [PATCH 2/5] Set Vector logging to debug Signed-off-by: Luc Perkins --- datadog-observability/docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/datadog-observability/docker-compose.yml b/datadog-observability/docker-compose.yml index c744bb3..d3dfa8f 100644 --- a/datadog-observability/docker-compose.yml +++ b/datadog-observability/docker-compose.yml @@ -6,5 +6,6 @@ services: - 8686:8686 environment: - DD_API_KEY + - LOG=debug volumes: - ./vector:/etc/vector:ro From 2a5961319b3b055b0532d2c0d9ca6f766dc5b7ba Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Wed, 1 Sep 2021 19:30:37 -0700 Subject: [PATCH 3/5] Add basic README plus tagging Signed-off-by: Luc Perkins --- datadog-agent/vector/vector.toml | 2 +- datadog-observability/README.md | 19 +++++++++++++++++++ datadog-observability/docker-compose.yml | 2 +- datadog-observability/vector/vector.toml | 18 +++++++++++++++++- 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 datadog-observability/README.md diff --git a/datadog-agent/vector/vector.toml b/datadog-agent/vector/vector.toml index 76209f2..754c557 100644 --- a/datadog-agent/vector/vector.toml +++ b/datadog-agent/vector/vector.toml @@ -33,4 +33,4 @@ codec = "json" timestamp_format = "rfc3339" [sinks.datadog.healthcheck] -enabled = true \ No newline at end of file +enabled = true diff --git a/datadog-observability/README.md b/datadog-observability/README.md new file mode 100644 index 0000000..6cedad9 --- /dev/null +++ b/datadog-observability/README.md @@ -0,0 +1,19 @@ +# Send Vector logs and metrics to Datadog + +In this demo, Vector is running a simple topology in which the `generator` source emits random JSON +logs twice per second and sends those logs off to stdout via the `console` sink. But even this +simple pipeline is enough to generate internal logs and metrics for Vector (via the eponymous +sources). + +To run this scenario, make sure you have the `DD_API_KEY` environment variable set to your Datadog +API key and then run: + +```bash +docker compose up --detach --remove-orphans +``` + +Once Vector is up and running, check out the [Logs exporer][logs] and this simple +[Metrics dashboard][metrics]. + +[logs]: https://app.datadoghq.com/logs?query=%40tag%3Avector +[metrics]: https://app.datadoghq.com/metric/explorer?live=true&tile_size=m&exp_metric=vector.events_in_total&exp_agg=avg&exp_row_type=metric diff --git a/datadog-observability/docker-compose.yml b/datadog-observability/docker-compose.yml index d3dfa8f..45221ac 100644 --- a/datadog-observability/docker-compose.yml +++ b/datadog-observability/docker-compose.yml @@ -6,6 +6,6 @@ services: - 8686:8686 environment: - DD_API_KEY - - LOG=debug + - LOG=info volumes: - ./vector:/etc/vector:ro diff --git a/datadog-observability/vector/vector.toml b/datadog-observability/vector/vector.toml index 8333362..b4ee52e 100644 --- a/datadog-observability/vector/vector.toml +++ b/datadog-observability/vector/vector.toml @@ -22,12 +22,28 @@ type = "internal_logs" [sources.vector_metrics] type = "internal_metrics" +[transforms.tag_vector_logs] +type = "remap" +inputs = ["vector_logs"] +source = ''' +.tag = "vector" +''' + [sinks.datadog_logs] type = "datadog_logs" -inputs = ["vector_logs"] +inputs = ["tag_vector_logs"] default_api_key = "${DD_API_KEY}" +[sinks.datadog_logs.healthcheck] +enabled = true + +[sinks.datadog_logs.encoding] +codec = "json" + [sinks.datadog_metrics] type = "datadog_metrics" inputs = ["vector_metrics"] api_key = "${DD_API_KEY}" + +[sinks.datadog_metrics.healthcheck] +enabled = true From 38be32185af31bfbf58b8b13d8015de98f842823 Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Wed, 1 Sep 2021 19:35:07 -0700 Subject: [PATCH 4/5] Update tag Signed-off-by: Luc Perkins --- datadog-observability/README.md | 2 +- datadog-observability/vector/vector.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/datadog-observability/README.md b/datadog-observability/README.md index 6cedad9..d3759f7 100644 --- a/datadog-observability/README.md +++ b/datadog-observability/README.md @@ -15,5 +15,5 @@ docker compose up --detach --remove-orphans Once Vector is up and running, check out the [Logs exporer][logs] and this simple [Metrics dashboard][metrics]. -[logs]: https://app.datadoghq.com/logs?query=%40tag%3Avector +[logs]: https://app.datadoghq.com/logs?query=%40tag%3Avector_internal [metrics]: https://app.datadoghq.com/metric/explorer?live=true&tile_size=m&exp_metric=vector.events_in_total&exp_agg=avg&exp_row_type=metric diff --git a/datadog-observability/vector/vector.toml b/datadog-observability/vector/vector.toml index b4ee52e..e8df80d 100644 --- a/datadog-observability/vector/vector.toml +++ b/datadog-observability/vector/vector.toml @@ -26,7 +26,7 @@ type = "internal_metrics" type = "remap" inputs = ["vector_logs"] source = ''' -.tag = "vector" +.tag = "vector_internal" ''' [sinks.datadog_logs] From 3db17144bd444f1bdd91c9febce1c3f4989486b4 Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Thu, 2 Sep 2021 13:36:13 -0700 Subject: [PATCH 5/5] Remove --remove-orphans flag from README command Signed-off-by: Luc Perkins --- datadog-observability/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datadog-observability/README.md b/datadog-observability/README.md index d3759f7..04d80b5 100644 --- a/datadog-observability/README.md +++ b/datadog-observability/README.md @@ -9,7 +9,7 @@ To run this scenario, make sure you have the `DD_API_KEY` environment variable s API key and then run: ```bash -docker compose up --detach --remove-orphans +docker compose up --detach ``` Once Vector is up and running, check out the [Logs exporer][logs] and this simple