2022-06-03 08:09:47 -06:00
|
|
|
|
# Main
|
|
|
|
|
|
enabled = True
|
2023-08-01 13:13:58 +08:00
|
|
|
|
title = "Alertmanager"
|
2022-06-03 08:09:47 -06:00
|
|
|
|
slug = "alertmanager"
|
2024-04-24 16:02:51 +08:00
|
|
|
|
short_description = "Connect external Alertmanager or Grafana Alerting from other Grafana instance"
|
2022-06-03 08:09:47 -06:00
|
|
|
|
is_displayed_on_web = True
|
2024-04-24 16:02:51 +08:00
|
|
|
|
is_featured = True
|
2022-06-03 08:09:47 -06:00
|
|
|
|
is_able_to_autoresolve = True
|
|
|
|
|
|
is_demo_alert_enabled = True
|
2023-06-13 15:10:38 +08:00
|
|
|
|
description = None
|
2023-08-01 12:18:52 +08:00
|
|
|
|
based_on_alertmanager = True
|
2024-04-24 16:02:51 +08:00
|
|
|
|
featured_tag_name = "Prometheus"
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-01 12:18:52 +08:00
|
|
|
|
# Behaviour
|
2024-09-11 21:24:17 +08:00
|
|
|
|
source_link = "{{ payload.alerts[0].generatorURL }}"
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-01 12:18:52 +08:00
|
|
|
|
grouping_id = "{{ payload.groupKey }}"
|
|
|
|
|
|
|
|
|
|
|
|
resolve_condition = """{{ payload.status == "resolved" }}"""
|
|
|
|
|
|
|
|
|
|
|
|
acknowledge_condition = None
|
|
|
|
|
|
|
2023-08-01 13:13:58 +08:00
|
|
|
|
# Web
|
2023-08-01 12:18:52 +08:00
|
|
|
|
web_title = """\
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set groupLabels = payload.get("groupLabels", {}).copy() -%}
|
|
|
|
|
|
{% if "labels" in payload -%}
|
|
|
|
|
|
{# backward compatibility with legacy alertmanager integration -#}
|
|
|
|
|
|
{% set alertname = payload.get("labels", {}).get("alertname", "") -%}
|
|
|
|
|
|
{% else -%}
|
|
|
|
|
|
{% set alertname = groupLabels.pop("alertname", "") -%}
|
|
|
|
|
|
{% endif -%}
|
|
|
|
|
|
|
2024-11-22 11:45:03 +08:00
|
|
|
|
{{ alertname }} {% if groupLabels | length > 0 %}({{ groupLabels.values()|join(", ") }}){% endif %}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
""" # noqa
|
|
|
|
|
|
|
|
|
|
|
|
web_message = """\
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set annotations = payload.get("commonAnnotations", {}).copy() -%}
|
|
|
|
|
|
{% set groupLabels = payload.get("groupLabels", {}) -%}
|
|
|
|
|
|
{% set commonLabels = payload.get("commonLabels", {}) -%}
|
|
|
|
|
|
{% set severity = groupLabels.severity -%}
|
|
|
|
|
|
{% set legacyLabels = payload.get("labels", {}) -%}
|
|
|
|
|
|
{% set legacyAnnotations = payload.get("annotations", {}) -%}
|
|
|
|
|
|
|
|
|
|
|
|
{% if severity -%}
|
|
|
|
|
|
{% set severity_emoji = {"critical": ":rotating_light:", "warning": ":warning:" }[severity] | default(":question:") -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
Severity: {{ severity }} {{ severity_emoji }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set status = payload.get("status", "Unknown") -%}
|
|
|
|
|
|
{% set status_emoji = {"firing": ":fire:", "resolved": ":white_check_mark:"}[status] | default(":warning:") -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
Status: {{ status }} {{ status_emoji }} (on the source)
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if status == "firing" and payload.numFiring -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
Firing alerts – {{ payload.numFiring }}
|
|
|
|
|
|
Resolved alerts – {{ payload.numResolved }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
|
|
|
|
|
{% if "runbook_url" in annotations -%}
|
|
|
|
|
|
[:book: Runbook:link:]({{ annotations.runbook_url }})
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set _ = annotations.pop('runbook_url') -%}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if "runbook_url_internal" in annotations -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
[:closed_book: Runbook (internal):link:]({{ annotations.runbook_url_internal }})
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set _ = annotations.pop('runbook_url_internal') -%}
|
|
|
|
|
|
{% endif %}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{%- if groupLabels | length > 0 %}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
GroupLabels:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in groupLabels.items() -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if commonLabels | length > 0 -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
CommonLabels:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in commonLabels.items() -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
|
|
|
|
|
{% if annotations | length > 0 -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
Annotations:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in annotations.items() -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{# backward compatibility with legacy alertmanager integration -#}
|
|
|
|
|
|
{% if legacyLabels | length > 0 -%}
|
|
|
|
|
|
Labels:
|
|
|
|
|
|
{% for k, v in legacyLabels.items() -%}
|
|
|
|
|
|
- {{ k }}: {{ v }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
|
|
|
|
|
|
|
|
|
|
|
{% if legacyAnnotations | length > 0 -%}
|
|
|
|
|
|
Annotations:
|
|
|
|
|
|
{% for k, v in legacyAnnotations.items() -%}
|
|
|
|
|
|
- {{ k }}: {{ v }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
[View in AlertManager]({{ source_link }})
|
|
|
|
|
|
"""
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
2023-08-01 13:13:58 +08:00
|
|
|
|
# Slack
|
2022-06-03 08:09:47 -06:00
|
|
|
|
slack_title = """\
|
2023-08-01 12:18:52 +08:00
|
|
|
|
*<{{ grafana_oncall_link }}|#{{ grafana_oncall_incident_id }} {{ web_title }}>* via {{ integration_name }}
|
2024-09-23 16:45:32 +08:00
|
|
|
|
{% if source_link and (source_link[:8] == "https://" or source_link[:7] == "http://") %}
|
2022-06-03 08:09:47 -06:00
|
|
|
|
(*<{{ source_link }}|source>*)
|
|
|
|
|
|
{%- endif %}
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
2023-05-23 09:56:33 +08:00
|
|
|
|
# default slack message template is identical to web message template, except urls
|
|
|
|
|
|
# It can be based on web message template (see example), but it can affect existing templates
|
|
|
|
|
|
# slack_message = """
|
|
|
|
|
|
# {% set mkdwn_link_regex = "\[([\w\s\d:]+)\]\((https?:\/\/[\w\d./?=#]+)\)" %}
|
|
|
|
|
|
# {{ web_message
|
|
|
|
|
|
# | regex_replace(mkdwn_link_regex, "<\\2|\\1>")
|
|
|
|
|
|
# }}
|
|
|
|
|
|
# """
|
|
|
|
|
|
|
2022-06-03 08:09:47 -06:00
|
|
|
|
slack_message = """\
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set annotations = payload.get("commonAnnotations", {}).copy() -%}
|
|
|
|
|
|
{% set groupLabels = payload.get("groupLabels", {}) -%}
|
|
|
|
|
|
{% set commonLabels = payload.get("commonLabels", {}) -%}
|
|
|
|
|
|
{% set severity = groupLabels.severity -%}
|
|
|
|
|
|
{% set legacyLabels = payload.get("labels", {}) -%}
|
|
|
|
|
|
{% set legacyAnnotations = payload.get("annotations", {}) -%}
|
|
|
|
|
|
|
|
|
|
|
|
{% if severity -%}
|
|
|
|
|
|
{% set severity_emoji = {"critical": ":rotating_light:", "warning": ":warning:" }[severity] | default(":question:") -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
Severity: {{ severity }} {{ severity_emoji }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set status = payload.get("status", "Unknown") -%}
|
|
|
|
|
|
{% set status_emoji = {"firing": ":fire:", "resolved": ":white_check_mark:"}[status] | default(":warning:") -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
Status: {{ status }} {{ status_emoji }} (on the source)
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if status == "firing" and payload.numFiring -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
Firing alerts – {{ payload.numFiring }}
|
|
|
|
|
|
Resolved alerts – {{ payload.numResolved }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
|
|
|
|
|
{% if "runbook_url" in annotations -%}
|
|
|
|
|
|
<{{ annotations.runbook_url }}|:book: Runbook:link:>
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set _ = annotations.pop('runbook_url') -%}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if "runbook_url_internal" in annotations -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
<{{ annotations.runbook_url_internal }}|:closed_book: Runbook (internal):link:>
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set _ = annotations.pop('runbook_url_internal') -%}
|
|
|
|
|
|
{% endif %}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{%- if groupLabels | length > 0 %}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
GroupLabels:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in groupLabels.items() -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if commonLabels | length > 0 -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
CommonLabels:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in commonLabels.items() -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
|
2023-05-23 09:56:33 +08:00
|
|
|
|
{% if annotations | length > 0 -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
Annotations:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in annotations.items() -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
|
|
|
|
|
|
|
|
|
|
|
{# backward compatibility with legacy alertmanager integration -#}
|
|
|
|
|
|
{% if legacyLabels | length > 0 -%}
|
|
|
|
|
|
Labels:
|
|
|
|
|
|
{% for k, v in legacyLabels.items() -%}
|
|
|
|
|
|
- {{ k }}: {{ v }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
|
|
|
|
|
|
|
|
|
|
|
{% if legacyAnnotations | length > 0 -%}
|
|
|
|
|
|
Annotations:
|
|
|
|
|
|
{% for k, v in legacyAnnotations.items() -%}
|
|
|
|
|
|
- {{ k }}: {{ v }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"""
|
|
|
|
|
|
# noqa: W291
|
|
|
|
|
|
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
2023-05-23 09:56:33 +08:00
|
|
|
|
slack_image_url = None
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
2023-08-01 12:18:52 +08:00
|
|
|
|
web_image_url = None
|
|
|
|
|
|
|
2023-08-01 13:13:58 +08:00
|
|
|
|
# SMS
|
2023-05-23 09:56:33 +08:00
|
|
|
|
sms_title = web_title
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
2023-08-01 13:13:58 +08:00
|
|
|
|
# Phone
|
2023-08-17 15:52:05 +08:00
|
|
|
|
phone_call_title = """{{ payload.get("groupLabels", {}).values() |join(", ") }}"""
|
2023-08-01 12:18:52 +08:00
|
|
|
|
|
2023-08-01 13:13:58 +08:00
|
|
|
|
# Telegram
|
2023-05-23 09:56:33 +08:00
|
|
|
|
telegram_title = web_title
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
|
|
|
|
|
telegram_message = """\
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set annotations = payload.get("commonAnnotations", {}).copy() -%}
|
|
|
|
|
|
{% set groupLabels = payload.get("groupLabels", {}) -%}
|
|
|
|
|
|
{% set commonLabels = payload.get("commonLabels", {}) -%}
|
|
|
|
|
|
{% set severity = groupLabels.severity -%}
|
|
|
|
|
|
{% set legacyLabels = payload.get("labels", {}) -%}
|
|
|
|
|
|
{% set legacyAnnotations = payload.get("annotations", {}) -%}
|
|
|
|
|
|
|
|
|
|
|
|
{% if severity -%}
|
|
|
|
|
|
{% set severity_emoji = {"critical": ":rotating_light:", "warning": ":warning:" }[severity] | default(":question:") -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
Severity: {{ severity }} {{ severity_emoji }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endif -%}
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set status = payload.get("status", "Unknown") -%}
|
|
|
|
|
|
{% set status_emoji = {"firing": ":fire:", "resolved": ":white_check_mark:"}[status] | default(":warning:") -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
Status: {{ status }} {{ status_emoji }} (on the source)
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if status == "firing" and payload.numFiring -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
Firing alerts – {{ payload.numFiring }}
|
|
|
|
|
|
Resolved alerts – {{ payload.numResolved }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
|
|
|
|
|
{% if "runbook_url" in annotations -%}
|
|
|
|
|
|
<a href='{{ annotations.runbook_url }}'>:book: Runbook:link:</a>
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set _ = annotations.pop('runbook_url') -%}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if "runbook_url_internal" in annotations -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
<a href='{{ annotations.runbook_url_internal }}'>:closed_book: Runbook (internal):link:</a>
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% set _ = annotations.pop('runbook_url_internal') -%}
|
|
|
|
|
|
{% endif %}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{%- if groupLabels | length > 0 %}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
GroupLabels:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in groupLabels.items() -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% if commonLabels | length > 0 -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
CommonLabels:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in commonLabels.items() -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
|
2023-05-23 09:56:33 +08:00
|
|
|
|
{% if annotations | length > 0 -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
Annotations:
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% for k, v in annotations.items() -%}
|
2023-05-23 09:56:33 +08:00
|
|
|
|
- {{ k }}: {{ v }}
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
|
2023-08-17 15:52:05 +08:00
|
|
|
|
{# backward compatibility with legacy alertmanager integration -#}
|
|
|
|
|
|
{% if legacyLabels | length > 0 -%}
|
|
|
|
|
|
Labels:
|
|
|
|
|
|
{% for k, v in legacyLabels.items() -%}
|
|
|
|
|
|
- {{ k }}: {{ v }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
|
|
|
|
|
|
|
|
|
|
|
{% if legacyAnnotations | length > 0 -%}
|
|
|
|
|
|
Annotations:
|
|
|
|
|
|
{% for k, v in legacyAnnotations.items() -%}
|
|
|
|
|
|
- {{ k }}: {{ v }}
|
|
|
|
|
|
{% endfor %}
|
|
|
|
|
|
{% endif -%}
|
2023-08-01 12:18:52 +08:00
|
|
|
|
<a href='{{ source_link }}'>View in AlertManager</a>
|
|
|
|
|
|
"""
|
2023-05-23 09:56:33 +08:00
|
|
|
|
|
|
|
|
|
|
telegram_image_url = None
|
2022-06-03 08:09:47 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
example_payload = {
|
|
|
|
|
|
"alerts": [
|
|
|
|
|
|
{
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"endsAt": "0001-01-01T00:00:00Z",
|
|
|
|
|
|
"labels": {
|
|
|
|
|
|
"job": "node",
|
|
|
|
|
|
"group": "production",
|
|
|
|
|
|
"instance": "localhost:8081",
|
|
|
|
|
|
"severity": "critical",
|
|
|
|
|
|
"alertname": "InstanceDown",
|
|
|
|
|
|
},
|
2022-06-03 08:09:47 -06:00
|
|
|
|
"status": "firing",
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"startsAt": "2023-06-12T08:24:38.326Z",
|
2023-05-23 09:56:33 +08:00
|
|
|
|
"annotations": {
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"title": "Instance localhost:8081 down",
|
|
|
|
|
|
"description": "localhost:8081 of job node has been down for more than 1 minute.",
|
2022-06-03 08:09:47 -06:00
|
|
|
|
},
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"fingerprint": "f404ecabc8dd5cd7",
|
|
|
|
|
|
"generatorURL": "",
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
2022-06-03 08:09:47 -06:00
|
|
|
|
"endsAt": "0001-01-01T00:00:00Z",
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"labels": {
|
|
|
|
|
|
"job": "node",
|
|
|
|
|
|
"group": "canary",
|
|
|
|
|
|
"instance": "localhost:8082",
|
|
|
|
|
|
"severity": "critical",
|
|
|
|
|
|
"alertname": "InstanceDown",
|
|
|
|
|
|
},
|
|
|
|
|
|
"status": "firing",
|
|
|
|
|
|
"startsAt": "2023-06-12T08:24:38.326Z",
|
|
|
|
|
|
"annotations": {
|
|
|
|
|
|
"title": "Instance localhost:8082 down",
|
|
|
|
|
|
"description": "localhost:8082 of job node has been down for more than 1 minute.",
|
|
|
|
|
|
},
|
|
|
|
|
|
"fingerprint": "f8f08d4e32c61a9d",
|
2022-06-03 08:09:47 -06:00
|
|
|
|
"generatorURL": "",
|
2023-08-01 12:18:52 +08:00
|
|
|
|
},
|
2022-06-03 08:09:47 -06:00
|
|
|
|
],
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"status": "firing",
|
2022-06-03 08:09:47 -06:00
|
|
|
|
"version": "4",
|
2023-08-01 12:18:52 +08:00
|
|
|
|
"groupKey": '{}:{alertname="InstanceDown"}',
|
|
|
|
|
|
"receiver": "combo",
|
|
|
|
|
|
"numFiring": 2,
|
|
|
|
|
|
"externalURL": "",
|
|
|
|
|
|
"groupLabels": {"alertname": "InstanceDown"},
|
|
|
|
|
|
"numResolved": 0,
|
|
|
|
|
|
"commonLabels": {"job": "node", "severity": "critical", "alertname": "InstanceDown"},
|
|
|
|
|
|
"truncatedAlerts": 0,
|
|
|
|
|
|
"commonAnnotations": {},
|
2022-06-03 08:09:47 -06:00
|
|
|
|
}
|