Free tools Windows power users keep installed
One-click scans. No signup required.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Put context in the Prometheus alert rule first, not in the webhook. Use labels for short, stable fields that Alertmanager may route or group on, and annotations for human-readable explanations such as summaries, descriptions, and runbook references. Use an Alertmanager webhook to deliver that already-authored context to an external system, or to transform it when the destination has no native integration.
A webhook is therefore usually a delivery and transformation layer, not a competing authoring location. Writing the same context separately in a webhook makes maintenance harder and can produce inconsistent notifications.
What is different about the two choices?
Native labels and annotations are fields on a Prometheus alerting rule. Prometheus evaluates the rule expression, creates an alert when the condition is true, and evaluates any templates in those fields. The resulting alert is sent to Alertmanager with its labels and annotations.
An Alertmanager webhook is a receiver. Alertmanager accepts alerts from Prometheus, groups and routes them, deduplicates notifications, renders a notification payload, and sends that payload to an HTTP endpoint. The standard webhook envelope contains group-level data and the original fields for each alert. A custom payload can reshape that data, but it does not remove the need to author useful labels and annotations in the rule.
#1 Best Overall
- Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
- With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
- Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
- Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
- Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.
| Decision axis | Native labels and annotations | Alertmanager webhook |
|---|---|---|
| Main role | Author context with the alert rule. | Deliver grouped alert data to an HTTP receiver and optionally transform it. |
| Evaluation stage | Prometheus rule evaluation. | Alertmanager notification rendering and delivery. |
| Routing and grouping | Labels are available for route matchers and can be included in grouping. | Receives the grouping and routing result after Alertmanager processes the alerts. |
| Best content | Severity, team, service, environment, summary, description, and links to operational documentation. | Fields required by an incident, ticketing, chat, or automation endpoint. |
| Operational burden | Keep names stable and values purposeful; keep prose out of labels. | Maintain endpoint compatibility, authentication, JSON validity, and downstream handling. |
Choose the field before choosing the receiver
Use labels for compact, structured metadata
Labels identify the alert in a machine-readable way. Typical values include severity, team, service, cluster, and environment. Alertmanager can match routes on these values, and a route can group alerts by selected labels. Because labels participate in alert identity and processing, changing a label can change routing, grouping, deduplication, and the apparent identity of an alert.
Keep label values stable enough to support those operations. A label should answer a routing or classification question, not carry a paragraph. Do not put a changing explanation, stack trace, or incident narrative in a label.
Use annotations for explanations people read
Annotations are intended for additional information. A summary can be a short sentence suitable for a notification title; a description can explain what was measured and where; a runbook or dashboard reference can tell the responder what to open next. Annotations are not the usual basis for Alertmanager grouping or route matching, so changing explanatory wording does not have the same identity effect as changing a label.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Long text belongs here because annotations remain available to notification templates and to the webhook payload. If a receiver needs a field called message or details, map the annotation into that receiver field rather than duplicating the wording in a second configuration file.
How context travels through the alerting pipeline
- Prometheus evaluates the rule. The expression is evaluated on each rule interval. For a firing alert, Prometheus evaluates templates in the rule’s label and annotation values. Rule templates can use alert labels and the evaluated value.
- Prometheus sends the alert object. The alert contains its labels, annotations, start and end state information, and other alert metadata.
- Alertmanager groups and routes. Alertmanager uses route matchers and the configured grouping labels to decide which notification group a firing alert belongs to. It also deduplicates notifications and handles resolved alerts according to receiver settings.
- Alertmanager renders the notification. A built-in integration can render a message from Alertmanager notification templates. A generic webhook renders the standard webhook envelope unless you configure a custom payload.
- The receiver processes the HTTP request. The external service receives grouped fields such as
groupLabels,commonLabels, andcommonAnnotations, plus a per-alert object containing that alert’s labels and annotations.
This sequence explains why a webhook is rarely the right place to invent basic context. By the time the webhook runs, Alertmanager has already made grouping and routing decisions using the alert’s labels.
Authoring a useful Prometheus alert rule
A practical rule layout
The following pattern separates routing data from responder-facing text. The expression is illustrative; adapt metric names and thresholds to your own workload.
Rank #2
- Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
- Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
- Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
- Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
- Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
groups:
- name: api
rules:
- alert: ApiErrorRateHigh
expr: rate(http_requests_total{job='api',status=~'5..'}[5m]) / rate(http_requests_total{job='api'}[5m]) > 0.05
for: 10m
labels:
severity: page
team: payments
service: api
environment: production
annotations:
summary: 'API error rate is high on {{ $labels.instance }}'
description: 'The measured 5xx ratio for {{ $labels.instance }} is {{ $value }}.'
The labels are short and useful to a route or grouping policy. The annotations explain the condition and can be rendered in a human-facing notification. Add a runbook or dashboard annotation when you have a real destination for it; keep that link in the annotation rather than embedding it in a label.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Templates run in Prometheus first
Prometheus alert-field templates use the rule-evaluation context. Common variables include $labels for labels from the expression and $value for the evaluated result. A template that is valid in a Prometheus rule is not automatically valid in an Alertmanager notification template.
Keep these expressions lightweight. Prometheus evaluates alert-field templates during every rule iteration for each firing alert. For complicated investigation or presentation, link to a console or dashboard and let the responder obtain the richer view there instead of constructing a large string on every evaluation.
Configuring a webhook without losing native context
Use the standard webhook envelope first
The generic webhook is intended for notification mechanisms that Alertmanager does not support natively. It is also useful when a separate incident or automation system needs the complete grouped alert data. Start with the standard payload; it already carries the information most receivers need.
A minimal receiver can keep the endpoint in a protected file and request resolved notifications as well as firing notifications:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
route:
group_by: ['alertname', 'cluster', 'service']
receiver: 'ops-webhook'
receivers:
- name: 'ops-webhook'
webhook_configs:
- url_file: '/etc/alertmanager/webhook-url'
send_resolved: true
If you configure the endpoint directly instead of using url_file, use the HTTPS address and the authentication settings required by the receiver. The exact available options depend on the Alertmanager version deployed; check that version’s configuration reference before rollout.
Rank #3
- 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
- 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
- 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
- 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
- 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.
Understand grouped and common fields
A webhook request represents a notification group, not necessarily one alert. Group-level fields describe the group and the labels shared by all alerts. The payload normally includes:
groupLabels: labels that define the group according to the route.commonLabels: labels shared by every alert in the notification.commonAnnotations: annotations shared by every alert in the notification.alerts: an array of individual alerts, each with its own status, labels, annotations, timestamps, and fingerprint.- Notification metadata such as the receiver name, status, group key, and Alertmanager’s external URL.
Read common fields for a concise group-level title, but iterate over the alerts array when every alert must be preserved. A group can contain alerts with different instances or other non-common labels, so a receiver that reads only commonLabels can silently discard important detail.
When a built-in integration is enough
If Alertmanager has a native integration for the destination, prefer it when its message format meets your needs. Native integrations use Alertmanager notification templates, which expose group and alert data after routing and grouping. You can render annotations without writing a second copy of the text.
{{ range .Alerts -}}
{{ .Labels.alertname }}: {{ .Annotations.summary }}
{{ end -}}
In this context, .Alerts is the group of alerts being notified, while .Labels and .Annotations belong to the current alert in the loop. Group-wide maps such as .CommonLabels and .CommonAnnotations are useful only when the value is genuinely common to the whole group.
When to customize the webhook payload
Use custom payloads for a contract, not for basic authoring
Some receivers require a different JSON shape, a fixed field name, or a reduced set of values. Alertmanager supports a custom payload template for that advanced case. The template can select common fields, iterate over alerts, and map native annotations into the receiver’s contract.
For example, a receiver might need one object per alert with a field called title sourced from the alert’s summary annotation. That mapping belongs in the webhook payload because it is a transport concern. The summary itself should still be authored once in the Prometheus rule.
Rank #4
- 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
- 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
- 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
- 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
- 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.
Validate the output yourself
Alertmanager does not validate that a custom payload is valid JSON or that it satisfies the receiver’s schema. Your configuration must therefore account for:
- JSON quoting and escaping when annotation text contains quotes, line breaks, or backslashes.
- Empty or missing labels and annotations.
- Groups containing multiple alerts rather than one fixed alert.
- Firing and resolved statuses, including timestamps and end-state values.
- Receiver limits on body size, field length, or number of alert objects.
- Authentication, TLS, retries, timeout behavior, and idempotent handling on the receiving side.
Test the rendered body against a JSON parser and the receiver’s schema before enabling it for production traffic. Keep the custom template small enough to review; complex transformation logic is usually easier to maintain in a dedicated adapter service.
Keep the two template contexts separate
| Question | Prometheus rule template | Alertmanager notification or webhook template |
|---|---|---|
| When does it run? | During rule evaluation for each firing alert. | When Alertmanager renders a notification group. |
| Typical label variable | $labels.instance |
.Labels.instance for the current alert or .CommonLabels.instance for a shared value. |
| Typical value variable | $value |
Read the value only if it was included as an alert label or annotation; the rule-evaluation variable is not automatically available. |
| Annotation access | Values are authored in the rule and can themselves contain templates. | .Annotations.summary, .CommonAnnotations.summary, or an iteration over .Alerts. |
| Main risk | Expensive or overly dynamic text is evaluated repeatedly. | Assuming one alert, using the wrong field scope, or emitting invalid custom JSON. |
Write each expression for the stage that evaluates it. Copying a Prometheus expression such as {{ $labels.instance }} into an Alertmanager template will not produce the intended value, and copying an Alertmanager expression such as {{ .CommonAnnotations.summary }} into a Prometheus rule is equally wrong.
A decision framework for common requirements
You need routing by severity or team
Put the value in a label. Alertmanager route matchers can then select the appropriate receiver, and grouping can include the label when separate notifications are required.
You need a responder-readable explanation
Put it in an annotation. Use a concise summary for the notification title and a description for the measured condition, affected scope, and useful next action.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsYou need the same context in several receivers
Author it once in the rule. Native integrations and the generic webhook can both read the annotation, avoiding divergent copies.
Best Value
- 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
- 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
- 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
- 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
- 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Your destination has no native integration
Use the generic webhook with its standard envelope. The receiver can consume labels and annotations directly, or an adapter can translate the envelope into the destination’s API.
Your destination demands a strict schema
Use a custom payload only for the required transformation. Keep the source meaning in labels and annotations, validate the generated JSON, and test groups containing multiple alerts.
Implementation procedure
- Inventory the context. List the fields the receiver and responders need. Mark each as structured routing data or explanatory text.
- Define stable labels. Choose names such as severity, team, service, cluster, and environment only when they have a clear routing or grouping purpose.
- Write annotations. Add summary and description text that remains useful in a notification, plus operational references where available.
- Check rule templates. Confirm that every Prometheus expression uses the rule context, including
$labelsand$value, and keep the rendering inexpensive. - Configure grouping deliberately. Set
group_byso alerts that should be notified together share the intended labels. Remember that grouping changes the shape of webhook requests. - Start with the standard receiver. Send the unmodified webhook envelope to a test endpoint and inspect both common fields and each alert object.
- Add transformation only if required. Introduce a custom payload for a documented receiver contract, not to compensate for missing rule annotations.
- Exercise state changes. Test firing, repeated notifications, multiple alerts in one group, and resolved notifications when
send_resolvedis enabled. - Monitor delivery. Check HTTP status handling, authentication failures, timeouts, retries, and downstream deduplication.
Troubleshooting by symptom
The webhook has no summary or description
Confirm that the text is under annotations, not labels, in the Prometheus rule. Then inspect the per-alert annotations object in the webhook payload. If it is present there but absent from the final message, the notification or custom payload template is selecting the wrong field.
A route stops matching after a rule edit
Compare the alert’s labels before and after the edit. A renamed label, changed value, or newly templated value can prevent a route matcher from matching. Restore the stable value or update the route intentionally; do not move the routing field into an annotation.
One notification unexpectedly contains many alerts
That is usually grouping behavior, not a webhook failure. Inspect groupLabels and the route’s group_by setting, then iterate over the alerts array in the receiver. If separate notifications are required, choose grouping labels that distinguish the alerts.
The custom receiver rejects the request as malformed JSON
Render the payload with representative annotation text, including quotes and line breaks, and run it through a JSON parser. Ensure commas are handled correctly when iterating over multiple alerts, and escape inserted values. Alertmanager will not certify the generated body for you.
The template prints an empty value
Check the evaluation stage and scope. Prometheus rule templates use dollar-prefixed variables; Alertmanager templates use dot-prefixed data such as .Alerts, .Labels, and .CommonAnnotations. Also verify whether the requested label is common to the group before reading it from a common-label map.
Recommended Free Tools
Notifications repeat after a label change
Because labels contribute to alert identity and Alertmanager processing, changing a label can make an alert appear new. Treat label names and values as an interface: change them only with a corresponding review of routes, grouping, dashboards, receivers, and downstream deduplication.
Operational checklist
- Labels contain concise, stable metadata that a machine may route or group.
- Annotations contain summaries, descriptions, and operational references intended for people.
- Rule templates use Prometheus variables and remain lightweight.
- Notification templates use Alertmanager variables and account for grouped alerts.
- The receiver reads per-alert fields when common fields are insufficient.
- A custom payload is used only when the destination requires a different contract.
- Custom output is valid JSON, handles empty values, and passes the receiver’s schema checks.
- Grouping, resolved notifications, authentication, timeouts, and retries are tested with the deployed Alertmanager version.
Bottom line
Author context once in the Prometheus rule: labels for structured routing and grouping metadata, annotations for explanatory text. Let Alertmanager carry those fields through its standard webhook envelope, and customize the payload only when an external receiver requires a different schema. This separation keeps alert identity predictable, messages consistent, and webhook integrations maintainable.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

