{"id":22712055,"url":"https://github.com/dynatrace-oss/fluent-plugin-dynatrace","last_synced_at":"2025-08-22T00:31:10.808Z","repository":{"id":41970526,"uuid":"323356128","full_name":"dynatrace-oss/fluent-plugin-dynatrace","owner":"dynatrace-oss","description":"A fluentd output plugin for sending logs to the Dynatrace Generic log ingest API v2.","archived":false,"fork":false,"pushed_at":"2024-10-04T13:41:17.000Z","size":75,"stargazers_count":6,"open_issues_count":2,"forks_count":7,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-12-10T13:09:10.076Z","etag":null,"topics":["dynatrace","fluent","fluentd","fluentd-plugin","logging","logs"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dynatrace-oss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-21T14:15:37.000Z","updated_at":"2024-10-04T13:41:22.000Z","dependencies_parsed_at":"2024-04-30T18:41:09.658Z","dependency_job_id":"1098fcd0-d1c1-415d-bb79-9426cb5bcdbf","html_url":"https://github.com/dynatrace-oss/fluent-plugin-dynatrace","commit_stats":{"total_commits":41,"total_committers":7,"mean_commits":5.857142857142857,"dds":0.3414634146341463,"last_synced_commit":"9e7b4c89926ac7f6ce4429d5667ceda152a3b98d"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynatrace-oss%2Ffluent-plugin-dynatrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynatrace-oss%2Ffluent-plugin-dynatrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynatrace-oss%2Ffluent-plugin-dynatrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dynatrace-oss%2Ffluent-plugin-dynatrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dynatrace-oss","download_url":"https://codeload.github.com/dynatrace-oss/fluent-plugin-dynatrace/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230542288,"owners_count":18242332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dynatrace","fluent","fluentd","fluentd-plugin","logging","logs"],"created_at":"2024-12-10T13:09:15.598Z","updated_at":"2024-12-20T06:06:34.500Z","avatar_url":"https://github.com/dynatrace-oss.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fluent-plugin-dynatrace, a plugin for [fluentd](https://www.fluentd.org/)\n\n\u003e This project is developed, maintained and supported by Dynatrace.\n\nA fluentd output plugin for sending logs to the Dynatrace [Generic log ingest API v2](https://docs.dynatrace.com/docs/shortlink/log-monitoring-log-data-ingestion).\nFor more information, see [the Dynatrace documentation on streaming logs with Fluentd](https://docs.dynatrace.com/docs/shortlink/log-monitoring-stream-logs-with-fluentd).\n\n## Requirements\n\n- An instance of fluentd \u003e= v1.0 from which logs should be exported\n- Ruby version \u003e= 2.7.0\n- An ActiveGate with the Generic log ingest API v2 enabled as described in the [Dynatrace documentation](https://docs.dynatrace.com/docs/shortlink/log-monitoring-log-data-ingestion)\n- A [Dynatrace API token](https://docs.dynatrace.com/docs/shortlink/api-authentication) with the `logs.ingest` (Ingest Logs) scope\n\n## Installation\n\nThe plugin is published on Rubygems at \u003chttps://rubygems.org/gems/fluent-plugin-dynatrace/\u003e.\n\nTo install it, run the following command:\n\n```sh\nfluent-gem install fluent-plugin-dynatrace\n```\n\nIf you are using `td-agent`, run:\n\n```sh\ntd-agent-gem install fluent-plugin-dynatrace\n```\n\n## Configuration options\n\nBelow is an example configuration which sends all logs with tags starting with `dt` to Dynatrace.\n\n```\n\u003cmatch dt.**\u003e\n  @type              dynatrace\n  active_gate_url    https://{your-environment-activegate}:8021/e/{your-tenant}/api/v2/logs/ingest\n  api_token          api_token\n  ssl_verify_none    false\n  inject_timestamp   false\n\u003c/match\u003e\n```\n\nIf configured with custom `\u003cbuffer\u003e` settings, it is recommended to set `flush_thread_count` to `1`.\nThe output plugin is limited to a single outgoing connection to Dynatrace and multiple export threads will have limited impact on export latency.\n\n### match directive\n\n- `required`\n\nThe `match` directive is required to use an output plugin and tells fluentd which tags should be sent to the output plugin. In the above example, any tag that starts with `dt.` will be sent to Dynatrace. For more information see [how do match patterns work?](https://docs.fluentd.org/configuration/config-file#how-do-the-match-patterns-work). \n\n### @type\n\n- `required`\n\nThe `@type` directive tells fluentd which plugin should be used for the corresponding match block. This should always be `dynatrace` when you want to use the Dynatrace output plugin.\n\n### `active_gate_url`\n\n- `required`\n\nThis is the full URL of the [Generic log ingest API v2](https://docs.dynatrace.com/docs/shortlink/log-monitoring-log-data-ingestion) endpoint on your ActiveGate.\n\n### `api_token`\n\n- `required`\n\nThis is the [Dynatrace API token](https://docs.dynatrace.com/docs/shortlink/api-authentication) which will be used to authenticate log ingest requests. It should be assigned only the `logs.ingest` (Ingest Logs) scope.\n\n### `ssl_verify_none`\n\n- `optional`\n- `default: false`\n\nIt is recommended to leave this optional configuration set to `false` unless absolutely required. Setting `ssl_verify_none` to `true` causes the output plugin to skip certificate verification when sending log ingest requests to SSL and TLS protected HTTPS endpoints. This option may be required if you are using a self-signed certificate, an expired certificate, or a certificate which was generated for a different domain than the one in use.\n\n### `inject_timestamp`\n\n- `optional`\n- `default: false`\n\nIf set to true, the timestamp of the log message will be injected into the body of the message in a format readable by Dynatrace.\n\n## Example\n\nAn full example demonstrating how to set up Fluentd on Kubernetes and export logs to Dynatrace can be found in the [example folder](./example).\n\n## Development\n\n`fluent-plugin-dynatrace` supports Ruby versions `\u003e= 2.7.0` but it is recommended that at least `2.7.2` is used for development. Ruby versions can be managed with tools like [chruby](https://github.com/postmodern/chruby) or [rbenv](https://github.com/rbenv/rbenv).\n\n### Install Dependencies\n\n```sh\nbundle install\n```\n\n### Run All Tests\n\n```sh\nrake test\n```\n\n### Run Specific Tests\n\n```sh\n# Run one test file\nrake test TEST=test/plugin/out_dynatrace_test.rb\n```\n\n### Code Style Checks\n\n```sh\n# Check for code style violations\nrake rubocop\n\n# Fix auto-fixable style violations\nrake rubocop:auto_correct\n```\n\n### Run all checks and build\n\n```sh\n# Runs rubocop, tests, and builds the gem\nrake check\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdynatrace-oss%2Ffluent-plugin-dynatrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdynatrace-oss%2Ffluent-plugin-dynatrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdynatrace-oss%2Ffluent-plugin-dynatrace/lists"}