From 9c7eb7b1e73576f4930fb94bfcf81ac0a88d37de Mon Sep 17 00:00:00 2001 From: Ben Goldberg Date: Wed, 28 May 2025 14:29:11 -0400 Subject: [PATCH 1/3] fix invalid code blocks --- ibm_mq/README.md | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/ibm_mq/README.md b/ibm_mq/README.md index 1dc0bbe2a2cb0..a6de6ffdb4839 100644 --- a/ibm_mq/README.md +++ b/ibm_mq/README.md @@ -141,10 +141,10 @@ There are many ways to set up permissions in IBM MQ. Depending on how your setup The example below sets the required permissions on the queue manager `QM1` for the `mqclient` group, the group the `datadog` user is using to execute commands. You can use wildcards to grant permissions to many queues at once. -{{< code-block lang="shell" >}} +```shell setmqaut -m QM1 -n SYSTEM.ADMIN.COMMAND.QUEUE -t queue -g mqclient +dsp +inq +get +put setmqaut -m QM1 -n SYSTEM.MQEXPLORER.REPLY.MODEL -t queue -g mqclient +dsp +inq +get +put -{{< /code-block >}} +``` **Note**: "Queue Monitoring" must be enabled on the MQ server and set to at least "Medium". This can be done using the MQ UI or with an `mqsc` command in the server's host: @@ -184,15 +184,15 @@ To configure this check for an Agent running on a host: - `port`: The port that IBM MQ has exposed - `convert_endianness`: You need to enable this if your MQ server is running on AIX or IBM i - If you are using a username and password setup, you can set the `username` and `password`. If no username is set, the Agent process owner (`dd-agent`) is used. + If you are using a username and password setup, you can set the `username` and `password`. If no username is set, the Agent process owner (`dd-agent`) is used. - **Note**: The check only monitors the queues you have set with the `queues` parameter + **Note**: The check only monitors the queues you have set with the `queues` parameter - ```yaml - queues: - - APP.QUEUE.1 - - ADMIN.QUEUE.1 - ``` + ```yaml + queues: + - APP.QUEUE.1 + - ADMIN.QUEUE.1 + ``` 2. [Restart the Agent][6]. @@ -271,6 +271,7 @@ See [service_checks.json][11] for a list of service checks provided by this inte ## Troubleshooting ### Reset queue statistics MQRC_NOT_AUTHORIZED permission warning + If you are getting the following warning: ``` @@ -278,33 +279,35 @@ Warning: Error getting pcf queue reset metrics for SAMPLE.QUEUE.1: MQI Error. Co ``` This is due to the `datadog` user not having the `+chg` permission to collect reset queue metrics. To fix this, you can either give `+chg` permissions to the `datadog` user [using `setmqaut`][15] and collect queue reset metrics, or you can disable the `collect_reset_queue_metrics`: + ```yaml - collect_reset_queue_metrics: false +collect_reset_queue_metrics: false ``` ### High resource utilization + The IBM MQ check performs queries on the server, sometimes these queries can be expensive and cause a degradation on the check. If you observe that the check is taking a long time to execute or that is consuming many resources on your host, you can potentially reduce the scope of the check by trying the following: -* If you are using `auto_discover_queues`, try using `queue_patterns` or `queue_regex` instead to only discover certain queues. This is particularly relevant if your system creates dynamic queues. -* If you are autodiscovering queues with `queue_patterns` or `queue_regex`, try tightening the pattern or regex so it matches _less_ queues. -* Disable `auto_discover_channels` if you have too many channels. -* Disable `collect_statistics_metrics`. +- If you are using `auto_discover_queues`, try using `queue_patterns` or `queue_regex` instead to only discover certain queues. This is particularly relevant if your system creates dynamic queues. +- If you are autodiscovering queues with `queue_patterns` or `queue_regex`, try tightening the pattern or regex so it matches _less_ queues. +- Disable `auto_discover_channels` if you have too many channels. +- Disable `collect_statistics_metrics`. ### Errors in the logs -* `Unpack for type ((67108864,)) not implemented`: If you're seeing errors like this, and your MQ server is running on a IBM OS, enable `convert_endianness` and restart your Agent. + +- `Unpack for type ((67108864,)) not implemented`: If you're seeing errors like this, and your MQ server is running on a IBM OS, enable `convert_endianness` and restart your Agent. ### Warnings in the logs -* `Error getting [...]: MQI Error. Comp: 2, Reason 2085: FAILED: MQRC_UNKNOWN_OBJECT_NAME`: If you're seeing messages like this, it is because the integration is trying to collect metrics from a queue that doesn't exist. This can be either due to misconfiguration or, if you're using `auto_discover_queues`, the integration can discover a [dynamic queue][16] and then, when it tries to gather its metrics, the queue no longer exists. In this case you can mitigate the issue by providing a stricter `queue_patterns` or `queue_regex`, or just ignore the warning. +- `Error getting [...]: MQI Error. Comp: 2, Reason 2085: FAILED: MQRC_UNKNOWN_OBJECT_NAME`: If you're seeing messages like this, it is because the integration is trying to collect metrics from a queue that doesn't exist. This can be either due to misconfiguration or, if you're using `auto_discover_queues`, the integration can discover a [dynamic queue][16] and then, when it tries to gather its metrics, the queue no longer exists. In this case you can mitigate the issue by providing a stricter `queue_patterns` or `queue_regex`, or just ignore the warning. ### Other Need help? Contact [Datadog support][12]. - ## Further Reading Additional helpful documentation, links, and articles: From 6f0e5f15b75d2bf1482d8e9d1cede5943fe6ac16 Mon Sep 17 00:00:00 2001 From: Ben Goldberg Date: Wed, 28 May 2025 15:26:39 -0400 Subject: [PATCH 2/3] fix invalid tag blocks --- kube_apiserver_metrics/README.md | 36 +++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/kube_apiserver_metrics/README.md b/kube_apiserver_metrics/README.md index 666010c30310b..8efbb46b91a1e 100644 --- a/kube_apiserver_metrics/README.md +++ b/kube_apiserver_metrics/README.md @@ -36,8 +36,9 @@ You can review all available configuration options in the [kube_apiserver_metric You can annotate the kubernetes service in your `default` namespace with the following: -{{< tabs >}} -{{% tab "Annotations v2 (for Datadog Agent v7.36+)" %}} + + + ```yaml ad.datadoghq.com/endpoints.checks: | @@ -49,11 +50,12 @@ ad.datadoghq.com/endpoints.checks: | } ] } - } - + } ``` -{{% /tab %}} -{{% tab "Annotations v1 (for Datadog Agent < v7.36)" %}} + + + + ```yaml annotations: @@ -62,8 +64,9 @@ annotations: ad.datadoghq.com/endpoints.instances: '[{ "prometheus_url": "https://%%host%%:%%port%%/metrics"}]' ``` -{{% /tab %}} -{{< /tabs >}} + + + Then the Datadog Cluster Agent schedules the check(s) for each endpoint onto Datadog Agent(s). @@ -75,8 +78,10 @@ You can also run the check by configuring the endpoints directly in the `kube_ap Provide a [configuration][13] to your Cluster Agent to setup a Cluster Check: -{{< tabs >}} -{{% tab "Helm" %}} + + + + ```yaml clusterAgent: confd: @@ -90,9 +95,10 @@ clusterAgent: instances: - prometheus_url: "https://%%host%%:%%port%%/metrics" ``` -{{% /tab %}} -{{% tab "Operator" %}} + + + ```yaml spec: @@ -111,8 +117,10 @@ spec: instances: - prometheus_url: "https://%%host%%:%%port%%/metrics" ``` -{{% /tab %}} -{{< /tabs >}} + + + + These configurations trigger the Agent to make a request to the `kubernetes` service in the `default` namespace at its defined Endpoint IP Addresses and defined port. From b06c986b087b53443c9699a67724ce3503c8d8e1 Mon Sep 17 00:00:00 2001 From: hestonhoffman Date: Thu, 29 May 2025 10:37:45 -0700 Subject: [PATCH 3/3] Fix tabs --- kube_apiserver_metrics/README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/kube_apiserver_metrics/README.md b/kube_apiserver_metrics/README.md index 8efbb46b91a1e..9568b1ad9cca5 100644 --- a/kube_apiserver_metrics/README.md +++ b/kube_apiserver_metrics/README.md @@ -37,8 +37,7 @@ You can review all available configuration options in the [kube_apiserver_metric You can annotate the kubernetes service in your `default` namespace with the following: - - + ```yaml ad.datadoghq.com/endpoints.checks: | @@ -55,7 +54,7 @@ ad.datadoghq.com/endpoints.checks: | - + ```yaml annotations: @@ -80,7 +79,7 @@ Provide a [configuration][13] to your Cluster Agent to setup a Cluster Check: - + ```yaml clusterAgent: @@ -98,7 +97,7 @@ clusterAgent: - + ```yaml spec: