Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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 each destination in a Prometheus alert-rule annotation, then render the annotation in the Alertmanager receiver that sends the notification. Use .CommonAnnotations when every alert in a notification group shares the same link; iterate through .Alerts and use each alert’s .Annotations when links differ. The annotation-to-template handoff is universal; the format of a logs or traces URL is not. Construct those URLs for the observability system you actually use.

How the link handoff works

There are two separate template stages. Prometheus evaluates annotation templates while processing an alert rule. Its alert variables, such as $labels and $value, let a rule build an annotation value from alert context. Alertmanager then receives those annotations as notification data. The receiver’s notification template decides which values to include in the outgoing message.

  1. Prometheus creates the values. An alert rule defines annotations such as runbook_url, logs_url, and traces_url. An annotation can be a fixed URL or a URL constructed from alert variables, provided the destination supports the resulting URL format.
  2. Alertmanager groups alerts. A notification can contain more than one alert. Some annotation values may be common to the whole group; others may vary for each alert.
  3. The receiver formats the message. A Slack, email, or other receiver template renders the values into the format that its destination accepts. A generic webhook instead receives a structured notification payload that its recipient can transform or display.

Annotations are the right place for this handoff: Prometheus documents them for longer informational content, including descriptions and runbook links. Adding an annotation does not create a dashboard, query, or trace. It only stores the value that a later notification template can render.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Think of the annotation as the bridge between the alert rule and the notification, not as a command to the observability product. The rule supplies a destination string; the product’s UI determines what that destination opens. If a link needs a service name, query, or time range, the annotation must contain a URL that the product recognizes with that context. If the product has no documented deep-link format for a view, Alertmanager cannot supply one on its behalf.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • 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:Upgraded 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.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Add destinations to a Prometheus alert rule

Choose stable annotation keys and use them consistently across rules. The following shows the shape of a rule; the host, route, and query parameters are illustrative. Replace them with real destinations and the URL format documented by your logs or tracing system.

- alert: ApiHighErrorRate
  expr: ...
  annotations:
    summary: "High error rate for {{ $labels.service }}"
    runbook_url: "https://ops.example.com/runbooks/api-high-error-rate"
    logs_url: "https://observability.example.com/logs?service={{ $labels.service }}"
    traces_url: "https://observability.example.com/traces?service={{ $labels.service }}"

Keep the rule’s responsibilities narrow: it can select a destination using labels and values, but it is not a universal URL builder for every observability product. The product-specific part is the destination’s supported URL syntax and the context its page requires, such as a service, query, or time range. Do not assume that a path or parameter accepted by one stack will work in another.

Use a fixed link when the destination is shared

A service’s runbook is often stable across alert instances, so a fixed URL can be clearer and less fragile than a constructed one. If every alert in a group points to the same runbook or landing page, the receiver can render that shared annotation directly.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A static destination is especially useful when the best next step is a general procedure rather than a pre-filtered diagnostic view. It also reduces the number of assumptions embedded in a rule: the runbook remains the destination even when the values or labels associated with an individual alert change. Review the destination as part of runbook maintenance so that a moved page does not leave notifications pointing to an obsolete location.

Template a link only when alert context adds value

Prometheus can evaluate rule annotations with alert variables such as $labels and $value. This can produce a destination keyed to a service or other alert label, but it does not guarantee that the resulting URL is valid for the target system. Check the product’s documented deep-link format and encode variable values appropriately for its URL rules. Avoid placing complex query construction in the alert rule; Prometheus’s template examples point toward linking to a console for more complicated needs.

Keep the rendered URL readable and test it with representative label values, including values with spaces, slashes, ampersands, or other characters that may need encoding. A link that works for a simple service name may break when a real label contains reserved URL characters.

Use a templated destination when the additional context makes the responder’s first step meaningfully faster—for example, opening a view already scoped to the alert’s service. Before adopting that pattern, check that the referenced label is present and has the intended value for every alert produced by the rule. A missing or unexpected label can leave a URL incomplete or point it at the wrong view. Keep the rule annotation simple enough that an operator can inspect the rendered result without having to reverse-engineer a large expression.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Static and templated URLs are complementary, not competing standards. A stable runbook may use a fixed URL while logs or trace views are parameterized. Choose each annotation independently based on whether the destination is constant and whether alert context is useful to the target product.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • 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

Render shared annotation values in a notification

Alertmanager’s notification data exposes annotations common to a notification group through .CommonAnnotations. A receiver can render those fields when the values truly are shared. For example, a Slack receiver’s message field can be written like this:

receivers:
- name: service-alerts
  slack_configs:
  - channel: '#alerts'
    text: >-
      {{ .CommonAnnotations.summary }}
      Runbook: {{ .CommonAnnotations.runbook_url }}
      Logs: {{ .CommonAnnotations.logs_url }}
      Traces: {{ .CommonAnnotations.traces_url }}

This is a configuration shape, not a tested drop-in configuration. Confirm the receiver field and formatting against the deployed Alertmanager version and destination. In particular, a receiver may display a URL as plain text rather than as a clickable link, or may have its own formatting requirements.

Know when a common value is absent

.CommonAnnotations contains the values shared across the group. When alerts have different values for a key, that key is not a reliable place to retrieve a per-alert destination. Do not use a shared-value template on the assumption that every alert in the group has identical runbook, logs, or trace links. Either arrange grouping so the values are common, or render each alert separately.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Common rendering is the compact option: one summary and one set of destinations can serve a group when those values genuinely apply to all its alerts. But grouping is not proof that the links are interchangeable. A group might contain alerts for different services, each with its own logs view or runbook. Decide based on the actual annotation values in the group, not merely on the fact that the alerts arrived in one notification.

Render different links for each alert

When the alerts in a notification have distinct annotation values, iterate through .Alerts and print each alert’s own annotations alongside identifying labels. Alertmanager’s notification examples use this pattern to show per-alert annotations.

{{ range .Alerts }}
Alert: {{ .Labels.alertname }}
Service: {{ .Labels.service }}
Runbook: {{ .Annotations.runbook_url }}
Logs: {{ .Annotations.logs_url }}
Traces: {{ .Annotations.traces_url }}
{{ end }}

Choose the fields that help the recipient distinguish alerts; a service label is only useful if your rules actually set it. If one notification contains many alerts, include enough context to map each set of links to its alert, rather than printing a block of URLs with no identifiers. A per-alert template is also useful when a single group legitimately includes several services.

Per-alert output trades brevity for precision. It may repeat a shared runbook link alongside several alert-specific log or trace links, but it avoids implying that one alert’s destination is appropriate for its neighbors. If the receiver’s message format supports sections or clear separators, use them to make each alert and its links easy to scan. The essential requirement is that every destination remain visibly associated with the alert labels that explain what it concerns.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Approach Use it when Trade-off
.CommonAnnotations The destination value is shared by all alerts in the notification group. Concise message, but it cannot preserve links that differ among alerts.
Range over .Alerts Each alert may have its own annotation values. Preserves alert-specific links, but the message needs enough structure to associate links with the right alert.

Use a reusable template or webhook when formatting grows

A short message can be rendered directly in a receiver field. For longer or repeated formatting, Alertmanager can load reusable templates through its templates configuration and a receiver field can invoke a named template. The receiver’s text field can call a named template with the notification data, for example:

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【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.
templates:
  - 'templates/notifications.tmpl'

receivers:
- name: service-alerts
  slack_configs:
  - channel: '#alerts'
    text: '{{ template "service-alerts" . }}'

The file path and template name above are illustrative configuration values. Define the named template in the configured file using Alertmanager’s supported template syntax, and pass the notification data (shown as .) so the template can access common annotations or individual alerts. This separates message layout from receiver configuration and makes it easier to keep a consistent format across receivers.

An inline template is convenient while the message is small and unique to one receiver. A named template is a better fit when the same layout is reused or when a long body would make receiver configuration difficult to maintain. In either case, the template still needs to make the same choice between group-common values and per-alert values; moving the formatting into a file does not change the notification data or its grouping behavior.

For a generic webhook, Alertmanager sends a structured notification payload, including annotation data and backlink fields. The webhook consumer can render or transform that payload for its destination. Use a webhook when the recipient needs structured data or custom transformation; it adds a consumer-side step that a built-in receiver’s template may avoid.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A built-in receiver is usually the simpler route when its configuration can produce the required message. A webhook can be appropriate when another system must interpret the structured fields or apply custom presentation, but it shifts responsibility to that consumer. Confirm that the receiving service expects the payload shape and that its transformation preserves the relationship between each alert and its own annotations.

Method Good fit What to account for
Inline receiver template A small, receiver-specific message. Formatting lives in the receiver configuration and may be repeated.
Named template file Longer or reusable notification layouts. Configure and maintain the template file and invoke the correct named template.
Generic webhook A recipient needs the structured payload or custom formatting. The webhook consumer must interpret and present the fields appropriately.

Keep alert links distinct from Alertmanager backlinks

Alertmanager exposes ExternalURL and GeneratorURL, but they serve different purposes from the annotations described above. ExternalURL is a backlink to the Alertmanager instance. GeneratorURL identifies the entity that generated the alert. Neither is automatically a link to an operational runbook, a logs view, or an application trace.

Include those built-in links when they help a recipient navigate to Alertmanager or the alert’s origin, but do not label them as runbook, logs, or trace destinations. Keep the three kinds of destination explicit in your annotation keys and message labels so an on-call reader knows what each link opens.

This distinction matters when a notification already contains a link labeled “source” or a backlink supplied by Alertmanager. Such a link can be useful for investigating the alert’s origin, but it is not interchangeable with an operational procedure or a product-specific diagnostic view. If responders need all of these destinations, render each under an accurate label rather than expecting one built-in URL to stand in for the others.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not confuse application trace links with Alertmanager tracing

Alertmanager also has an optional tracing configuration for instrumenting Alertmanager’s own distributed tracing. Its settings concern how Alertmanager emits or transports its own trace data, including endpoint, sampling fraction, transport, TLS, compression, and timeout.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【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.

That configuration does not inject a link to an application trace into an alert notification. To give responders an application trace destination, put the URL in an alert annotation and render that annotation in the receiver template. The distinction is about what is being traced: Alertmanager’s processing versus the application activity that prompted an alert.

Validate the notification before relying on it

Prometheus rule annotations and Alertmanager notification templates run in different contexts, so validate both sides. A syntactically valid rule can still generate an unusable URL, and a correctly rendered annotation can still be omitted or displayed poorly by a receiver.

  1. Check the rule values. Confirm that the alert rule defines the expected annotation keys and that any templated labels or values resolve for the alert. Inspect the generated destination with representative label values.
  2. Check the grouping behavior. Determine whether alerts arriving together share each destination. Use common annotation rendering only for values that are common; otherwise use the per-alert form.
  3. Check the receiver output. Confirm that the message includes the intended annotation values, associates per-alert links with the right alert, and renders URLs in a usable way for the target channel.
  4. Check destination access. Open the links from the environment and account the intended recipients will use. Internal systems may be inaccessible to people outside the network or without the necessary permissions.
  5. Check changes through your normal operations process. Alertmanager documentation describes configuration reload through SIGHUP or an HTTP POST to /-/reload. Verify that the deployed version supports the method you intend to use and follow the production change process before reloading.

Test both a notification where all relevant values are common and one where at least one value varies, if both patterns can occur in your alert groups. This catches a subtle failure: a template may appear correct with a single alert, then omit or misassociate links when grouping combines alerts with different annotations. Also check the actual message in the destination channel, since template output and receiver rendering are separate parts of the delivery path.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Alertmanager configuration reload options and operational procedures can vary with the deployed setup. The documented SIGHUP and /-/reload mechanisms are not a substitute for checking the version and the organization’s rollout process. Treat a notification template change like any other production configuration change: verify the intended output and use the supported reload path.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common failures and how to correct them

The notification shows a blank link

Check the annotation key spelling in both the alert rule and receiver template. Then check whether the template is reading a common value that is not shared across the group. If the value differs per alert, switch to iterating over .Alerts and reading .Annotations.

The link opens the wrong service or time window

Inspect the final rendered URL rather than only the template expression. The target observability product determines the correct query and time-window URL format; Alertmanager does not infer it. Adjust the URL construction to that product’s documented format and verify that its parameters use the intended alert context.

The link works for some label values but not others

Check URL encoding for the actual label contents. Characters that are harmless in a simple example can alter query parameters or paths when a real value is inserted. Encode values according to the destination’s URL requirements, and keep template logic simple enough that the final URL can be inspected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recipients cannot open an internal destination

Confirm that recipients have network access and authorization for the linked runbook, log system, or tracing system. If the alert is delivered to a broader audience, choose a destination available to that audience or make the access constraint clear in the notification. A clickable URL is not useful if the recipient cannot reach the system.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【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.

A URL is printed but is not clickable

This is a receiver-formatting issue, not an annotation issue. Review the destination’s message syntax and the receiver field’s escaping behavior. Alertmanager templates can be evaluated as text or HTML, which affects escaping; treat annotation content as supplied text and use the appropriate output context rather than assuming raw text is safe or automatically linkified.

Security and maintenance considerations

  • Treat annotation values as untrusted text. Values can originate in configuration or alert context. Consider escaping and the receiver’s rendering mode, especially if a message is interpreted as HTML.
  • Do not put secrets in query parameters. URLs may be visible to notification recipients or retained by systems that process the message. Use access controls at the destination rather than embedding credentials in the link.
  • Keep destinations maintainable. Prefer stable runbook URLs and a consistent annotation-key convention. If a product’s URL format changes, update and validate the rules that construct those links.
  • Match visibility to the audience. A notification sent outside the team’s trusted environment should not expose a private destination or sensitive query context unless recipients are authorized to see it.

There is no universal logs or traces link recipe established by the Prometheus and Alertmanager annotation mechanism. The reliable division of work is to define the destination according to the observability product, carry it as an alert annotation, and render it in the notification context that matches how alerts are grouped.

Frequently Asked Questions

How do I add a runbook link to an Alertmanager notification?

Add a runbook_url annotation to the Prometheus alert rule, then render it in the receiver template. Use .CommonAnnotations.runbook_url if the link is shared by the notification group, or each alert’s .Annotations.runbook_url inside a range over .Alerts if links differ.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I include logs and traces in Prometheus alerts?

Add log and trace destinations as alert-rule annotations, such as logs_url and traces_url, and include those values in the Alertmanager notification template. Construct each URL using the format supported by your observability product; the annotation mechanism does not create a query or trace view automatically.

How do I use alert annotations in a Slack notification?

In a Slack receiver’s message field, render the annotation values with Alertmanager template expressions. Use .CommonAnnotations for values shared by the group; otherwise range over .Alerts and print each alert’s labels and .Annotations so readers can tell which links go with which alert. Check Slack receiver formatting to confirm links display as intended.

What is the difference between ExternalURL and GeneratorURL?

ExternalURL is a backlink to the Alertmanager instance. GeneratorURL identifies the entity that generated the alert. Neither automatically points to a runbook, logs view, or application trace; add those destinations as alert annotations.

The Bottom Line

Put runbook, logs, and trace destinations in Prometheus alert annotations, then render them with the Alertmanager template that fits the grouping: common annotations for genuinely shared links, or per-alert annotations when destinations vary. Build diagnostic URLs for the observability product, and verify the rendered output, receiver formatting, and recipient access before relying on the links.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.