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

[RabbitMQ] Update metrictype for fields of rabbitmq queue datastream. #5670

Merged
merged 5 commits into from
Apr 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions packages/rabbitmq/changelog.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
- version: "1.8.7"
changes:
- description: Added metrictype for the fields of queue datastream.
type: enhancement
link: https://github.com/elastic/integrations/pull/5670
- version: "1.8.6"
changes:
- description: Add metric_type for the fields of node datastream.
Expand Down
13 changes: 13 additions & 0 deletions packages/rabbitmq/data_stream/queue/fields/fields.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,55 +25,68 @@
The state of the queue. Normally 'running', but may be `"{syncing, MsgCount}"` if the queue is synchronising. Queues which are located on cluster nodes that are currently down will be shown with a status of 'down'.
- name: arguments.max_priority
type: long
metric_type: gauge
description: |
Maximum number of priority levels for the queue to support.
- name: consumers.count
type: long
metric_type: gauge
description: |
Number of consumers.
- name: consumers.utilisation.pct
type: long
format: percent
metric_type: gauge
description: |
Fraction of the time (between 0.0 and 1.0) that the queue is able to immediately deliver messages to consumers. This can be less than 1.0 if consumers are limited by network congestion or prefetch count.
- name: messages.total.count
type: long
metric_type: gauge
description: |
Sum of ready and unacknowledged messages (queue depth).
- name: messages.total.details.rate
type: float
metric_type: gauge
description: |
How much the queue depth has changed per second in the most recent sampling interval.
- name: messages.ready.count
type: long
metric_type: gauge
description: |
Number of messages ready to be delivered to clients.
- name: messages.ready.details.rate
type: float
metric_type: gauge
description: |
How much the count of messages ready has changed per second in the most recent sampling interval.
- name: messages.unacknowledged.count
type: long
metric_type: gauge
description: |
Number of messages delivered to clients but not yet acknowledged.
- name: messages.unacknowledged.details.rate
type: float
metric_type: gauge
description: |
How much the count of unacknowledged messages has changed per second in the most recent sampling interval.
- name: messages.persistent.count
type: long
metric_type: gauge
description: |
Total number of persistent messages in the queue (will always be 0 for transient queues).
- name: memory.bytes
type: long
format: bytes
metric_type: gauge
description: |
Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures.
- name: disk.reads.count
type: long
metric_type: counter
description: |
Total number of times messages have been read from disk by this queue since it started.
- name: disk.writes.count
type: long
metric_type: counter
description: |
Total number of times messages have been written to disk by this queue since it started.
122 changes: 61 additions & 61 deletions packages/rabbitmq/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -591,64 +591,64 @@ An example event for `queue` looks as following:

**Exported fields**

| Field | Description | Type |
|---|---|---|
| @timestamp | Event timestamp. | date |
| agent.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 is running. | keyword |
| cloud.image.id | Image ID for the cloud instance. | keyword |
| cloud.instance.id | Instance ID of the host machine. | keyword |
| cloud.instance.name | Instance name of the host machine. | keyword |
| cloud.machine.type | Machine type of the host machine. | keyword |
| cloud.project.id | Name of the project in Google Cloud. | keyword |
| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword |
| cloud.region | Region in which this host is running. | keyword |
| container.id | Unique container id. | keyword |
| container.image.name | Name of the image the container was built on. | keyword |
| container.labels | Image labels. | object |
| container.name | Container name. | 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.architecture | Operating system architecture. | keyword |
| host.containerized | If the host is a container. | boolean |
| host.domain | Name of the domain of which the host is a member. For example, on Windows this could be the host's Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host's LDAP provider. | keyword |
| host.hostname | Hostname of the host. It normally contains what the `hostname` command returns on the host machine. | keyword |
| host.id | Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of `beat.name`. | keyword |
| host.ip | Host ip addresses. | ip |
| host.mac | Host mac addresses. | 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 |
| host.os.build | OS build information. | keyword |
| host.os.codename | OS codename, if any. | keyword |
| host.os.family | OS family (such as redhat, debian, freebsd, windows). | keyword |
| host.os.kernel | Operating system kernel version as a raw string. | keyword |
| host.os.name | Operating system name, without the version. | keyword |
| host.os.name.text | Multi-field of `host.os.name`. | text |
| host.os.platform | Operating system platform (such centos, ubuntu, windows). | keyword |
| host.os.version | Operating system version as a raw string. | keyword |
| host.type | Type of host. For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment. | keyword |
| rabbitmq.queue.arguments.max_priority | Maximum number of priority levels for the queue to support. | long |
| rabbitmq.queue.auto_delete | Whether the queue will be deleted automatically when no longer used. | boolean |
| rabbitmq.queue.consumers.count | Number of consumers. | long |
| rabbitmq.queue.consumers.utilisation.pct | Fraction of the time (between 0.0 and 1.0) that the queue is able to immediately deliver messages to consumers. This can be less than 1.0 if consumers are limited by network congestion or prefetch count. | long |
| rabbitmq.queue.disk.reads.count | Total number of times messages have been read from disk by this queue since it started. | long |
| rabbitmq.queue.disk.writes.count | Total number of times messages have been written to disk by this queue since it started. | long |
| rabbitmq.queue.durable | Whether or not the queue survives server restarts. | boolean |
| rabbitmq.queue.exclusive | Whether the queue is exclusive (i.e. has owner_pid). | boolean |
| rabbitmq.queue.memory.bytes | Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures. | long |
| rabbitmq.queue.messages.persistent.count | Total number of persistent messages in the queue (will always be 0 for transient queues). | long |
| rabbitmq.queue.messages.ready.count | Number of messages ready to be delivered to clients. | long |
| rabbitmq.queue.messages.ready.details.rate | How much the count of messages ready has changed per second in the most recent sampling interval. | float |
| rabbitmq.queue.messages.total.count | Sum of ready and unacknowledged messages (queue depth). | long |
| rabbitmq.queue.messages.total.details.rate | How much the queue depth has changed per second in the most recent sampling interval. | float |
| rabbitmq.queue.messages.unacknowledged.count | Number of messages delivered to clients but not yet acknowledged. | long |
| rabbitmq.queue.messages.unacknowledged.details.rate | How much the count of unacknowledged messages has changed per second in the most recent sampling interval. | float |
| rabbitmq.queue.name | The name of the queue with non-ASCII characters escaped as in C. | keyword |
| rabbitmq.queue.state | The state of the queue. Normally 'running', but may be `"\{syncing, MsgCount\}"` if the queue is synchronising. Queues which are located on cluster nodes that are currently down will be shown with a status of 'down'. | keyword |
| rabbitmq.vhost | Virtual host name with non-ASCII characters escaped as in C. | 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.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 |
| Field | Description | Type | Metric Type |
|---|---|---|---|
| @timestamp | Event timestamp. | date | |
| agent.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 is running. | keyword | |
| cloud.image.id | Image ID for the cloud instance. | keyword | |
| cloud.instance.id | Instance ID of the host machine. | keyword | |
| cloud.instance.name | Instance name of the host machine. | keyword | |
| cloud.machine.type | Machine type of the host machine. | keyword | |
| cloud.project.id | Name of the project in Google Cloud. | keyword | |
| cloud.provider | Name of the cloud provider. Example values are aws, azure, gcp, or digitalocean. | keyword | |
| cloud.region | Region in which this host is running. | keyword | |
| container.id | Unique container id. | keyword | |
| container.image.name | Name of the image the container was built on. | keyword | |
| container.labels | Image labels. | object | |
| container.name | Container name. | 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.architecture | Operating system architecture. | keyword | |
| host.containerized | If the host is a container. | boolean | |
| host.domain | Name of the domain of which the host is a member. For example, on Windows this could be the host's Active Directory domain or NetBIOS domain name. For Linux this could be the domain of the host's LDAP provider. | keyword | |
| host.hostname | Hostname of the host. It normally contains what the `hostname` command returns on the host machine. | keyword | |
| host.id | Unique host id. As hostname is not always unique, use values that are meaningful in your environment. Example: The current usage of `beat.name`. | keyword | |
| host.ip | Host ip addresses. | ip | |
| host.mac | Host mac addresses. | 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 | |
| host.os.build | OS build information. | keyword | |
| host.os.codename | OS codename, if any. | keyword | |
| host.os.family | OS family (such as redhat, debian, freebsd, windows). | keyword | |
| host.os.kernel | Operating system kernel version as a raw string. | keyword | |
| host.os.name | Operating system name, without the version. | keyword | |
| host.os.name.text | Multi-field of `host.os.name`. | text | |
| host.os.platform | Operating system platform (such centos, ubuntu, windows). | keyword | |
| host.os.version | Operating system version as a raw string. | keyword | |
| host.type | Type of host. For Cloud providers this can be the machine type like `t2.medium`. If vm, this could be the container, for example, or other information meaningful in your environment. | keyword | |
| rabbitmq.queue.arguments.max_priority | Maximum number of priority levels for the queue to support. | long | gauge |
| rabbitmq.queue.auto_delete | Whether the queue will be deleted automatically when no longer used. | boolean | |
| rabbitmq.queue.consumers.count | Number of consumers. | long | gauge |
| rabbitmq.queue.consumers.utilisation.pct | Fraction of the time (between 0.0 and 1.0) that the queue is able to immediately deliver messages to consumers. This can be less than 1.0 if consumers are limited by network congestion or prefetch count. | long | gauge |
| rabbitmq.queue.disk.reads.count | Total number of times messages have been read from disk by this queue since it started. | long | counter |
| rabbitmq.queue.disk.writes.count | Total number of times messages have been written to disk by this queue since it started. | long | counter |
| rabbitmq.queue.durable | Whether or not the queue survives server restarts. | boolean | |
| rabbitmq.queue.exclusive | Whether the queue is exclusive (i.e. has owner_pid). | boolean | |
| rabbitmq.queue.memory.bytes | Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures. | long | gauge |
| rabbitmq.queue.messages.persistent.count | Total number of persistent messages in the queue (will always be 0 for transient queues). | long | gauge |
| rabbitmq.queue.messages.ready.count | Number of messages ready to be delivered to clients. | long | gauge |
| rabbitmq.queue.messages.ready.details.rate | How much the count of messages ready has changed per second in the most recent sampling interval. | float | gauge |
| rabbitmq.queue.messages.total.count | Sum of ready and unacknowledged messages (queue depth). | long | gauge |
| rabbitmq.queue.messages.total.details.rate | How much the queue depth has changed per second in the most recent sampling interval. | float | gauge |
| rabbitmq.queue.messages.unacknowledged.count | Number of messages delivered to clients but not yet acknowledged. | long | gauge |
| rabbitmq.queue.messages.unacknowledged.details.rate | How much the count of unacknowledged messages has changed per second in the most recent sampling interval. | float | gauge |
| rabbitmq.queue.name | The name of the queue with non-ASCII characters escaped as in C. | keyword | |
| rabbitmq.queue.state | The state of the queue. Normally 'running', but may be `"\{syncing, MsgCount\}"` if the queue is synchronising. Queues which are located on cluster nodes that are currently down will be shown with a status of 'down'. | keyword | |
| rabbitmq.vhost | Virtual host name with non-ASCII characters escaped as in C. | 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.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 | |
4 changes: 2 additions & 2 deletions packages/rabbitmq/manifest.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
format_version: 1.0.0
name: rabbitmq
title: RabbitMQ Logs
version: 1.8.6
title: RabbitMQ Logs and Metrics
version: 1.8.7
license: basic
description: Collect and parse logs from RabbitMQ servers with Elastic Agent.
type: integration
Expand Down