Healthchecks.io request body empty starting with version 2.X #1085

Closed
opened 2025-04-25 05:47:54 +00:00 by mrclschstr · 4 comments

What I'm trying to do and why

I upgraded to borgmatic v2.X over the weekend and noticed that the request body (aka the logs) in the healthecks.io pings are empty. With v1.X the logs were definitely there and I didn't change anything in the configuration.

Steps to reproduce

To configure the healthcecks I simply use in the config:

healthchecks:
  ping_url: https://hc-ping.com/XXX

Unfortunately the logs are empty as you can see in the screenshot.

Actual behavior

According to the borgmatic application logs, the hooks are called correctly:

/etc/borgmatic/config.yaml: Calling healthchecks hook function ping_monitor
/etc/borgmatic/config.yaml: Pinging Healthchecks log
/etc/borgmatic/config.yaml: Using Healthchecks ping URL https://hc-ping.com/XXX/log
/etc/borgmatic/config.yaml: Calling healthchecks hook function ping_monitor
/etc/borgmatic/config.yaml: Pinging Healthchecks finish
/etc/borgmatic/config.yaml: Using Healthchecks ping URL https://hc-ping.com/XXX
/etc/borgmatic/config.yaml: Calling healthchecks hook function destroy_monitor

Expected behavior

The logs should be available at healthchecks.io.

Other notes / implementation ideas

No response

borgmatic version

2.0.4

borgmatic installation method

pip install

Borg version

borg 1.4.1

Python version

Python 3.10.12

Database version (if applicable)

No response

Operating system and version

Ubuntu 22.04.5 LTS

### What I'm trying to do and why I upgraded to borgmatic v2.X over the weekend and noticed that the request body (aka the logs) in the healthecks.io pings are empty. With v1.X the logs were definitely there and I didn't change anything in the configuration. ### Steps to reproduce To configure the healthcecks I simply use in the config: ```yaml healthchecks: ping_url: https://hc-ping.com/XXX ``` Unfortunately the logs are empty as you can see in the screenshot. ### Actual behavior According to the borgmatic application logs, the hooks are called correctly: ``` /etc/borgmatic/config.yaml: Calling healthchecks hook function ping_monitor /etc/borgmatic/config.yaml: Pinging Healthchecks log /etc/borgmatic/config.yaml: Using Healthchecks ping URL https://hc-ping.com/XXX/log /etc/borgmatic/config.yaml: Calling healthchecks hook function ping_monitor /etc/borgmatic/config.yaml: Pinging Healthchecks finish /etc/borgmatic/config.yaml: Using Healthchecks ping URL https://hc-ping.com/XXX /etc/borgmatic/config.yaml: Calling healthchecks hook function destroy_monitor ``` ### Expected behavior The logs should be available at healthchecks.io. ### Other notes / implementation ideas _No response_ ### borgmatic version 2.0.4 ### borgmatic installation method pip install ### Borg version borg 1.4.1 ### Python version Python 3.10.12 ### Database version (if applicable) _No response_ ### Operating system and version Ubuntu 22.04.5 LTS
Owner

Thanks for filing this and providing all the details. I realize that you didn't change anything in your configuration, but what's your monitoring verbosity set to?

Thanks for filing this and providing all the details. I realize that you didn't change anything in your configuration, but what's your monitoring verbosity set to?
Author

My (sanitized) config looks like this:

source_directories:
  - /backup/path/one
  - /backup/path/two

repositories:
  - path: XXX
    label: hetzner

encryption_passphrase: XXX
ssh_command: ssh -p 23 -i /root/.ssh/id_ed25519

keep_within: 24H
keep_daily: 14
keep_weekly: 10

checks:
  - name: repository
    frequency: 23 hours
  - name: archives
    frequency: 23 hours

commands:
  - before: action
    when:
      - create
    run:
      - 'echo "Hook: Command 1"'
      - 'echo "Hook: Command 2"'
      - 'echo "Hook: Command 3"'

healthchecks:
  ping_url: https://hc-ping.com/XXX

My backups are executed using the following command:

borgmatic --stats --verbosity 1

So I think the monitoring_verbosity defaults to 1.

My (sanitized) config looks like this: ```yaml source_directories: - /backup/path/one - /backup/path/two repositories: - path: XXX label: hetzner encryption_passphrase: XXX ssh_command: ssh -p 23 -i /root/.ssh/id_ed25519 keep_within: 24H keep_daily: 14 keep_weekly: 10 checks: - name: repository frequency: 23 hours - name: archives frequency: 23 hours commands: - before: action when: - create run: - 'echo "Hook: Command 1"' - 'echo "Hook: Command 2"' - 'echo "Hook: Command 3"' healthchecks: ping_url: https://hc-ping.com/XXX ``` My backups are executed using the following command: ``` borgmatic --stats --verbosity 1 ``` So I think the `monitoring_verbosity` defaults to `1`.
Owner

Yup, you are correct! Except it looks like that default was regressed, probably in borgmatic 2.0. The good news is that I just tracked down the problem and fixed it in main. It'll be part of the next release. Thanks again for bringing this to my attention!

Yup, you are correct! Except it looks like that default was regressed, probably in borgmatic 2.0. The good news is that I just tracked down the problem and fixed it in main. It'll be part of the next release. Thanks again for bringing this to my attention!
witten 2025-04-25 06:28:06 +00:00
  • closed this issue
  • added the
    bug
    label
Owner

Released in borgmatic 2.0.5!

Released in borgmatic 2.0.5!
Sign in to join this conversation.
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
borgmatic-collective/borgmatic#1085
No description provided.