Skip to content
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
2 changes: 1 addition & 1 deletion .in-toto/tag.ec45eb9d.link

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ services:
- "464:8464"

web:
image: kerberos-nginx:1.17.3
image: kerberos-nginx:1.20.2
build: ./kerberos-nginx
environment:
KRB5_KEYTAB: ${KRB5_KEYTAB}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM nginx:1.17.3
FROM nginx:1.20.2

ENV DEBIAN_FRONTEND=noninteractive

Expand All @@ -15,7 +15,7 @@ RUN apt-get update -y -qq && apt-get install -y --no-install-recommends \
git

RUN cd /usr/src && mkdir nginx \
&& curl -kfSL https://nginx.org/download/nginx-1.17.3.tar.gz -o nginx.tar.gz \
&& curl -kfSL https://nginx.org/download/nginx-1.20.2.tar.gz -o nginx.tar.gz \
&& tar -xzf nginx.tar.gz -C nginx --strip-components=1

RUN cd /usr/src/nginx \
Expand Down
2 changes: 1 addition & 1 deletion datadog_checks_base/tests/compose/kerberos/kerberos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ services:
- "464:8464"

web:
image: kerberos-nginx:1.17.3
image: kerberos-nginx:1.20.2
build: ./kerberos-nginx
container_name: kerberos-nginx
environment:
Expand Down
10 changes: 10 additions & 0 deletions datadog_checks_dev/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

<!-- towncrier release notes start -->

## 35.1.2 / 2025-07-14

***Fixed***:

* Allow HTTPS requests to use `tls_ciphers` parameter ([#20179](https://github.com/DataDog/integrations-core/pull/20179))
* Use non-dot-prefixed JUnit XML path to avoid ddtrace import errors ([#20435](https://github.com/DataDog/integrations-core/pull/20435))
* Remove relative imports for non parent modules ([#20646](https://github.com/DataDog/integrations-core/pull/20646))
* [MINPROC-2319] remove the integration exception mapper ([#20697](https://github.com/DataDog/integrations-core/pull/20697))
* Update new integration readme template. ([#20749](https://github.com/DataDog/integrations-core/pull/20749))

## 35.1.1 / 2025-06-04

***Fixed***:
Expand Down
1 change: 0 additions & 1 deletion datadog_checks_dev/changelog.d/20179.fixed

This file was deleted.

1 change: 0 additions & 1 deletion datadog_checks_dev/changelog.d/20435.fixed

This file was deleted.

1 change: 0 additions & 1 deletion datadog_checks_dev/changelog.d/20646.fixed

This file was deleted.

1 change: 0 additions & 1 deletion datadog_checks_dev/changelog.d/20697.fixed

This file was deleted.

1 change: 0 additions & 1 deletion datadog_checks_dev/changelog.d/20749.fixed

This file was deleted.

2 changes: 1 addition & 1 deletion datadog_checks_dev/datadog_checks/dev/__about__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# (C) Datadog, Inc. 2018-present
# All rights reserved
# Licensed under a 3-clause BSD style license (see LICENSE)
__version__ = '35.1.1'
__version__ = '35.1.2'
13 changes: 13 additions & 0 deletions ddev/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@

<!-- towncrier release notes start -->

## 12.1.0 / 2025-07-15

***Added***:

* Add back F401 rule to the linter ([#20661](https://github.com/DataDog/integrations-core/pull/20661))
* Update ci validation command to account for the new ddev test skip params ([#20705](https://github.com/DataDog/integrations-core/pull/20705))
* Add the skip-ddev option to ci validation script ([#20708](https://github.com/DataDog/integrations-core/pull/20708))

***Fixed***:

* Add rule to lint for relative imports from non parent packages ([#20646](https://github.com/DataDog/integrations-core/pull/20646))
* [MINPROC-2319] remove the integration exception mapper ([#20697](https://github.com/DataDog/integrations-core/pull/20697))

## 12.0.0 / 2025-07-01

***Changed***:
Expand Down
1 change: 0 additions & 1 deletion ddev/changelog.d/20646.fixed

This file was deleted.

1 change: 0 additions & 1 deletion ddev/changelog.d/20661.added

This file was deleted.

1 change: 0 additions & 1 deletion ddev/changelog.d/20697.fixed

This file was deleted.

1 change: 0 additions & 1 deletion ddev/changelog.d/20705.added

This file was deleted.

1 change: 0 additions & 1 deletion ddev/changelog.d/20708.added

This file was deleted.

13 changes: 10 additions & 3 deletions falco/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,10 @@ After configuration, verify that Falco metrics are being ingested by Datadog. Yo
json_output: true
http_output:
enabled: true
url: <DATADOG_WEBHOOK_URL> # such as https://http-intake.logs.datadoghq.com/api/v2/logs?dd-api-key=<DD_API_KEY>&ddsource=falco
url: <DATADOG_WEBHOOK_URL>
```

**Note:** Replace `<DATADOG_WEBHOOK_URL>` with the correct intake URL for your [Datadog site][7], such as `https://http-intake.logs.us3.datadoghq.com/api/v2/logs?dd-api-key=<dd-api-key>&ddsource=falco` for US3.

- Restart the Falco using below command:

Expand All @@ -85,11 +87,13 @@ After configuration, verify that Falco metrics are being ingested by Datadog. Yo
```bash
helm upgrade -i falco falcosecurity/falco \
--set falco.http_output.enabled=true \
--set falco.http_output.url="https://http-intake.logs.datadoghq.com/api/v2/logs?dd-api-key=<dd-api-key>&ddsource=falco" \
--set falco.http_output.url="<DATADOG_WEBHOOK_URL>" \
--set falco.json_output=true \
--set json_include_output_property=true
```

**Note:** Replace `<DATADOG_WEBHOOK_URL>` with the correct intake URL for your [Datadog site][7], such as `https://http-intake.logs.us3.datadoghq.com/api/v2/logs?dd-api-key=<dd-api-key>&ddsource=falco` for US3.

<!-- xxz tab xxx -->
<!-- xxx tab "Agent" xxx -->
##### Agent
Expand All @@ -116,6 +120,7 @@ After configuration, verify that Falco metrics are being ingested by Datadog. Yo
**Note**: Ensure the `datadog-agent` user has read and execute access to tail the log files you want to collect from.
<!-- xxz tab xxx -->
<!-- xxz tabs xxx -->
>>>>>>> master

## Data Collected

Expand All @@ -140,4 +145,6 @@ For further assistance, contact [Datadog Support][2].
[3]: https://github.com/DataDog/integrations-core/blob/master/falco/metadata.csv
[4]: https://github.com/DataDog/integrations-core/blob/master/falco/datadog_checks/falco/data/conf.yaml.example
[5]: https://docs.datadoghq.com/agent/configuration/agent-commands/#start-stop-and-restart-the-agent
[6]: https://docs.datadoghq.com/containers/kubernetes/integrations/
[6]: https://docs.datadoghq.com/containers/kubernetes/integrations/
[7]: https://docs.datadoghq.com/getting_started/site/#access-the-datadog-site

1 change: 1 addition & 0 deletions mysql/changelog.d/20759.fixed
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed an issue where reading cardinality from `BTREE` indexes on `MEMORY` tables could raise an error. These indexes may not report cardinality due to a known MySQL bug ([#58520](https://bugs.mysql.com/bug.php?id=58520)). The value will now default to 0.
5 changes: 4 additions & 1 deletion mysql/datadog_checks/mysql/databases_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,10 @@ def _populate_with_index_data(self, table_name_to_table_index, table_list, table

# Update index-level info
index_data["name"] = index_name
index_data["cardinality"] = int(row["cardinality"])

# in-memory table BTREE indexes have no cardinality apparently, so we default to 0
# https://bugs.mysql.com/bug.php?id=58520
index_data["cardinality"] = int(row["cardinality"]) if row["cardinality"] is not None else 0
index_data["index_type"] = str(row["index_type"])
index_data["non_unique"] = bool(row["non_unique"])
if row["expression"]:
Expand Down
1 change: 1 addition & 0 deletions proxmox/changelog.d/20763.added
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add HA metrics.
17 changes: 17 additions & 0 deletions proxmox/datadog_checks/proxmox/check.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,22 @@ def _get_vm_hostname(self, vm_id, vm_name, node):
hostname = hostname_json.get("data", {}).get("result", {}).get("host-name", vm_name)
return hostname

def _collect_ha_metrics(self):
ha_response = self.http.get(f"{self.config.proxmox_server}/cluster/ha/status/current")
ha_response_json = ha_response.json()
ha_statuses = ha_response_json.get('data', [])
for ha_status in ha_statuses:
if not ha_status.get('type') == 'quorum':
continue
status = ha_status.get('status')
quorate = ha_status.get('quorate')
status_value = status == "OK"
node = ha_status.get('node')
tags = [f'node_status:{status}']
self.gauge('ha.quorum', status_value, hostname=node, tags=tags)
if isinstance(quorate, int):
self.gauge('ha.quorate', quorate, hostname=node, tags=tags)

def _collect_performance_metrics(self):
metrics_response = self.http.get(f"{self.config.proxmox_server}/cluster/metrics/export")
metrics_response_json = metrics_response.json()
Expand Down Expand Up @@ -173,3 +189,4 @@ def check(self, _):

self._collect_resource_metrics()
self._collect_performance_metrics()
self._collect_ha_metrics()
2 changes: 2 additions & 0 deletions proxmox/metadata.csv
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ proxmox.disk.read,count,,,,,0,proxmox,disk read,,
proxmox.disk.total,gauge,,,,,0,proxmox,disk total,,
proxmox.disk.used,gauge,,,,,0,proxmox,disk used,,
proxmox.disk.write,count,,,,,0,proxmox,disk write,,
proxmox.ha.quorate,gauge,,,,Whether or not the cluster is in quorate,0,proxmox,ha quorate,,
proxmox.ha.quorum,gauge,,,,Whether or not the node is in quorum,0,proxmox,ha quorum,,
proxmox.mem,gauge,,,,,0,proxmox,mem,,
proxmox.mem.max,gauge,,,,,0,proxmox,max mem,,
proxmox.mem.total,gauge,,,,,0,proxmox,mem total,,
Expand Down
4 changes: 3 additions & 1 deletion proxmox/tests/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
'proxmox.swap.used',
]

HA_METIRCS = ['proxmox.ha.quorate', 'proxmox.ha.quorum']

NODE_RESOURCE_METRICS = set(RESOURCE_METRICS) - {
'proxmox.diskread',
'proxmox.diskwrite',
Expand Down Expand Up @@ -77,4 +79,4 @@

STORAGE_PERF_METRICS = {'proxmox.disk.total', 'proxmox.disk.used'}

ALL_METRICS = BASE_METRICS + RESOURCE_METRICS + PERF_METRICS
ALL_METRICS = BASE_METRICS + RESOURCE_METRICS + PERF_METRICS + HA_METIRCS
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"data": [
{
"status": "OK",
"type": "quorum",
"node": "ip-122-82-3-112",
"quorate": 1,
"id": "quorum"
},
{
"status": "OK",
"type": "lrm",
"node": "ip-122-82-3-112",
"id": "lrm"
},
{
"status": "OK",
"type": "quorum",
"node": "ip-122-82-3-112",
"id": "quorum"
}
]
}
8 changes: 8 additions & 0 deletions proxmox/tests/test_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -474,3 +474,11 @@ def test_perf_metrics_error(dd_run_check, caplog, instance):
caplog.set_level(logging.DEBUG)
dd_run_check(check)
assert "Invalid metric entry found; metric name: disk.used, resource id: storage/ip-122-82-3-112" in caplog.text


@pytest.mark.usefixtures('mock_http_get')
def test_ha_metrics(dd_run_check, aggregator, instance):
check = ProxmoxCheck('proxmox', {}, [instance])
dd_run_check(check)
aggregator.assert_metric('proxmox.ha.quorum', hostname='ip-122-82-3-112', tags=['node_status:OK'])
aggregator.assert_metric('proxmox.ha.quorate', hostname='ip-122-82-3-112', tags=['node_status:OK'])
Loading