From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id 7F43A1FF140 for ; Fri, 24 Apr 2026 14:51:12 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 0C16819889; Fri, 24 Apr 2026 14:51:11 +0200 (CEST) From: Christian Ebner To: pbs-devel@lists.proxmox.com Subject: [PATCH proxmox-backup 1/3] docs: describe s3 request notifications and threshold reset schedule Date: Fri, 24 Apr 2026 14:50:24 +0200 Message-ID: <20260424125027.804185-2-c.ebner@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260424125027.804185-1-c.ebner@proxmox.com> References: <20260424125027.804185-1-c.ebner@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1777034945692 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.330 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: N5T7NWYPWWTOWY4DXPM2YNELKL6E4RFL X-Message-ID-Hash: N5T7NWYPWWTOWY4DXPM2YNELKL6E4RFL X-MailFrom: c.ebner@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Backup Server development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Add a section describing the counter, how they can be used to trigger notifications and how to periodically reset them. Signed-off-by: Christian Ebner --- docs/notifications.rst | 47 ++++++++++++++++++++++++++++++++++++++++++ docs/storage.rst | 4 ++++ 2 files changed, 51 insertions(+) diff --git a/docs/notifications.rst b/docs/notifications.rst index 992ef152e..440c700a4 100644 --- a/docs/notifications.rst +++ b/docs/notifications.rst @@ -371,3 +371,50 @@ The template files follow the naming convention of ``gc-err-body.txt.hbs`` contains the template for rendering notifications for garbage collection errors, while ``package-updates-subject.txt.hbs`` is used to render the subject line of notifications for available package updates. + +.. _s3_notification_thresholds: + +Notification Thresholds and Reset Schedule (S3 Datastores Only) +--------------------------------------------------------------- + +Datastores of type S3 keep track of the number of requests being send to the +corresponding S3 endpoint and the amount of data being send. Proxmox Backup +Server allows to configure threshold for these request and traffic counters to +send out notifications if one of the set threshold values is exceeded. + +The notification threshold value can be set individually by request method or +traffic volume. Notifications will be send out only once per threshold when the +threshold has been exceeded. A counter reset is required to bring it below the +threshold again in order to get further notifications. Therefore, it is possible +to define a threshold reset schedule so request and traffic counters get +periodically reset. + +Per datastore notification thresholds and their reset schedule are configurable +in the :ref:`Datastore Options ` for S3 backed datastores. + +The following counters thresholds are available for configuration: + +==================== ========================================================== +Counter Threshold Description and Usage +==================== ========================================================== +``s3-get`` Number of ``GET`` requests: Mainly used for download of + data and metadata among the following operations: restore, + verification, S3 refresh, garbage collection. +``s3-put`` Number of ``PUT`` requests: Mainly used for upload of data + and metadata among the following operations: backup, syncs, + metadata changes, content moves. +``s3-post`` Number of ``POST`` requests: Mainly used for modification + of data and metadata among the following operations: bulk + deletion during garbage collection, content moves. +``s3-head`` Number of ``HEAD`` requests: Mainly used to check for + access and existence among which the following operations: + checking bucket access, fetching of metadata. +``s3-delete`` Number of ``DELETE`` requests: Mainly used for deleting + single objects by the following operations: garbage + collection, content moves. +``s3-upload`` Amount of bytes uploaded to the S3 endpoint, independent of + request method. +``s3-download`` Amount of bytes downloaded from the S3 endpoint, + independent of request method. +==================== ========================================================== + diff --git a/docs/storage.rst b/docs/storage.rst index c24051941..e096d47e6 100644 --- a/docs/storage.rst +++ b/docs/storage.rst @@ -593,6 +593,7 @@ Required privileges: - ``move-namespace``: ``DATASTORE_MODIFY`` on the parent of both the source and the target namespace. +.. _datastore_options: Options ~~~~~~~ @@ -606,6 +607,9 @@ There are a few per-datastore options: * :ref:`Notification mode and legacy notification settings ` * :ref:`Maintenance Mode ` +* :ref:`Maintenance Mode ` +* :ref:`Notification Thresholds (S3 datastores only) ` +* :ref:`Threshold Reset Schedule (S3 datastores only) ` * Verification of incoming backups .. _datastore_tuning_options: -- 2.47.3