Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[O11y][Traefik] Add metric_type for health datastream #7768

Merged
5 changes: 5 additions & 0 deletions packages/traefik/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
- version: "1.9.1"
changes:
- description: Add metric_type mapping for `health` datastream.
type: enhancement
link: https://github.com/elastic/integrations/pull/7768
- version: "1.9.0"
changes:
- description: Add dimension mapping for `health` datastream.
Expand Down
6 changes: 6 additions & 0 deletions packages/traefik/data_stream/health/fields/fields.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,24 @@
type: long
description: |
Uptime of Traefik instance in seconds
metric_type: gauge
- name: response
type: group
fields:
- name: count
type: long
description: |
Number of responses
metric_type: counter
- name: avg_time.us
type: long
description: |
Average response time in microseconds
metric_type: gauge
- name: status_codes.*
harnish-elastic marked this conversation as resolved.
Show resolved Hide resolved
type: object
object_type: double
object_type_mapping_type: "*"
metric_type: counter
description: |-
Number of responses per status code
48 changes: 24 additions & 24 deletions packages/traefik/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -279,28 +279,28 @@ An example event for `health` looks as following:

**Exported fields**

| Field | Description | Type |
|---|---|---|
| @timestamp | Event timestamp. | date |
| agent.id | Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id. | keyword |
| cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword |
| cloud.availability_zone | Availability zone in which this host, resource, or service is located. | keyword |
| cloud.instance.id | Instance ID of the host machine. | keyword |
| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword |
| cloud.region | Region in which this host, resource, or service is located. | keyword |
| container.id | Unique container id. | keyword |
| data_stream.dataset | Data stream dataset. | constant_keyword |
| data_stream.namespace | Data stream namespace. | constant_keyword |
| data_stream.type | Data stream type. | constant_keyword |
| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword |
| event.dataset | Event dataset | constant_keyword |
| event.module | Event module | constant_keyword |
| host.name | Name of the host. It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword |
| service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword |
| service.name | Name of the service data is collected from. The name of the service is normally user given. This allows for distributed services that run on multiple hosts to correlate the related instances based on the name. In the case of Elasticsearch the `service.name` could contain the cluster name. For Beats the `service.name` is by default a copy of the `service.type` field if no name is specified. | keyword |
| service.type | The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, `service.type` would be `elasticsearch`. | keyword |
| traefik.health.response.avg_time.us | Average response time in microseconds | long |
| traefik.health.response.count | Number of responses | long |
| traefik.health.response.status_codes.\* | Number of responses per status code | object |
| traefik.health.uptime.sec | Uptime of Traefik instance in seconds | long |
| Field | Description | Type | Metric Type |
|---|---|---|---|
| @timestamp | Event timestamp. | date | |
| agent.id | Unique identifier of this agent (if one exists). Example: For Beats this would be beat.id. | keyword | |
| cloud.account.id | The cloud account or organization id used to identify different entities in a multi-tenant environment. Examples: AWS account id, Google Cloud ORG Id, or other unique identifier. | keyword | |
| cloud.availability_zone | Availability zone in which this host, resource, or service is located. | keyword | |
| cloud.instance.id | Instance ID of the host machine. | keyword | |
| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | |
| cloud.region | Region in which this host, resource, or service is located. | keyword | |
| container.id | Unique container id. | keyword | |
| data_stream.dataset | Data stream dataset. | constant_keyword | |
| data_stream.namespace | Data stream namespace. | constant_keyword | |
| data_stream.type | Data stream type. | constant_keyword | |
| ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | |
| event.dataset | Event dataset | constant_keyword | |
| event.module | Event module | constant_keyword | |
| host.name | Name of the host. It can contain what `hostname` returns on Unix systems, the fully qualified domain name, or a name specified by the user. The sender decides which value to use. | keyword | |
| service.address | Address where data about this service was collected from. This should be a URI, network address (ipv4:port or [ipv6]:port) or a resource path (sockets). | keyword | |
| service.name | Name of the service data is collected from. The name of the service is normally user given. This allows for distributed services that run on multiple hosts to correlate the related instances based on the name. In the case of Elasticsearch the `service.name` could contain the cluster name. For Beats the `service.name` is by default a copy of the `service.type` field if no name is specified. | keyword | |
| service.type | The type of the service data is collected from. The type can be used to group and correlate logs and metrics from one service type. Example: If logs or metrics are collected from Elasticsearch, `service.type` would be `elasticsearch`. | keyword | |
| traefik.health.response.avg_time.us | Average response time in microseconds | long | gauge |
| traefik.health.response.count | Number of responses | long | counter |
| traefik.health.response.status_codes.\* | Number of responses per status code | object | counter |
| traefik.health.uptime.sec | Uptime of Traefik instance in seconds | long | gauge |

4 changes: 2 additions & 2 deletions packages/traefik/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: traefik
title: Traefik
version: "1.9.0"
version: "1.9.1"
release: ga
description: Collect logs and metrics from Traefik servers with Elastic Agent.
type: integration
Expand All @@ -14,7 +14,7 @@ license: basic
categories:
- observability
conditions:
kibana.version: "^8.0.0"
kibana.version: "^8.9.0"
screenshots:
- src: /img/kibana-traefik.png
title: kibana traefik
Expand Down