borgmatic

Watchgoose

πŸ”

New in version 2.1.7 Watchgoose is a service that "watches your cron jobs, backups, queues, and scripts" and alerts you "the second one goes late or down." borgmatic has built-in integration with it. Once you create a Watchgoose account and project on their site, all you need to do is configure borgmatic with the unique "Ping URL" for your project. Here's an example:

watchgoose:
    ping_url: https://watchgoose.com/addffa72-da17-40ae-be9c-ff591afb942a

With this configuration, borgmatic pings your Watchgoose project when a backup begins, ends, or errors, but only when any of the create, prune, compact, or check actions are run.

You can configure Watchgoose to notify you by a variety of mechanisms when backups fail or it doesn't hear from borgmatic for a certain period of time.

Sending logs

If the actions complete successfully, borgmatic can notify Watchgoose of the success and includes borgmatic logs in the payload data sent to Watchgoose. This means that borgmatic logs can show up in the Watchgoose UI, although be aware that Watchgoose currently has a 10,000 byte limit for the logs in each ping.

Log sending is disabled by default to avoid revealing private log information to a third-party service. But to enable the feature, use the send_logs option:

watchgoose:
    ping_url: https://watchgoose.com/addffa72-da17-40ae-be9c-ff591afb942a
    send_logs: true

If an error occurs during any action or hook, borgmatic notifies Watchgoose, also tacking on logs including the error itself. But the logs are only included for errors that occur when a create, prune, compact, or check action is run.

You can customize the verbosity of the logs that are sent to Watchgoose with borgmatic's --monitoring-verbosity flag. The --list and --stats flags may also be of use. See create action documentation for more information.

Set the defaults for these flags in your borgmatic configuration via the monitoring_verbosity, list, and statistics options.

Full configuration

Here's an example configuration with all of the available options for this feature in the most recent version of borgmatic. If you're using an older version, some of these options may not work, and you should instead generate a sample configuration file specific to your borgmatic version.

# Configuration for a monitoring integration with Watchgoose. Create
# an account at https://watchgoose.com if you'd like to use this
# service. See borgmatic monitoring documentation for details.
watchgoose:
    # Watchgoose ping URL or UUID to notify when a backup
    # begins, ends, errors, or to send only logs.
    ping_url: https://watchgoose.com/your-uuid-here

    # Verify the TLS certificate of the ping URL host. Defaults to
    # true.
    verify_tls: false

    # Send borgmatic logs to Watchgoose as part of the "finish",
    # "fail", and "log" states. Defaults to false.
    send_logs: true

    # Number of bytes of borgmatic logs to send to Watchgoose. Set
    # to 0 to send all logs and disable this truncation on the
    # client. Defaults to 10000, Watchgoose's current server-side
    # limit.
    ping_body_limit: 0

    # List of one or more monitoring states to ping for: "start",
    # "finish", "fail", and/or "log". Defaults to pinging for all
    # states.
    states:
        - finish

    # Create the check if it does not exist. Only works with the
    # slug URL scheme (https://watchgoose.com/<ping-key>/<slug> as
    # opposed to https://watchgoose.com/<uuid>). Defaults to
    # false.
    create_slug: true

Improve this documentation

Have an idea on how to make this documentation even better? Use our issue tracker to send your feedback!