diff --git a/docs/widgets/services/grafana.md b/docs/widgets/services/grafana.md
index bfdebb2c..14897a6e 100644
--- a/docs/widgets/services/grafana.md
+++ b/docs/widgets/services/grafana.md
@@ -3,7 +3,9 @@ title: Grafana
description: Grafana Widget Configuration
---
-Allowed fields: `["dashboards", "datasources", "totalalerts", "alertstriggered"]`.
+Allowed fields: `["dashboards", "datasources", "totalalerts", "alertstriggered", "alertmanager"]`.
+
+`alertmanager` is for the new grafana alerts api since the api used by `alertstriggered` has been deprecated. If `alertstriggered` does not work, try `alertmanager`.
```yaml
widget:
diff --git a/public/locales/en/common.json b/public/locales/en/common.json
index aa4ef1e5..7bf2b434 100644
--- a/public/locales/en/common.json
+++ b/public/locales/en/common.json
@@ -662,7 +662,8 @@
"dashboards": "Dashboards",
"datasources": "Data Sources",
"totalalerts": "Total Alerts",
- "alertstriggered": "Alerts Triggered"
+ "alertstriggered": "Alerts Triggered",
+ "alertmanager": "Alerts Triggered"
},
"nextcloud": {
"cpuload": "Cpu Load",
@@ -755,7 +756,7 @@
"ping": "Ping"
},
"urbackup": {
- "ok" : "Ok",
+ "ok": "Ok",
"errored": "Errors",
"noRecent": "Out of Date",
"totalUsed": "Used Storage"
@@ -795,4 +796,4 @@
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
}
-}
+}
\ No newline at end of file
diff --git a/src/widgets/grafana/component.jsx b/src/widgets/grafana/component.jsx
index 32d2a98e..a8ff5bfc 100755
--- a/src/widgets/grafana/component.jsx
+++ b/src/widgets/grafana/component.jsx
@@ -10,18 +10,20 @@ export default function Component({ service }) {
const { widget } = service;
const { data: statsData, error: statsError } = useWidgetAPI(widget, "stats");
const { data: alertsData, error: alertsError } = useWidgetAPI(widget, "alerts");
+ const { data: alertmanagerData, error: alertmanagerError } = useWidgetAPI(widget, "alertmanager");
- if (statsError || alertsError) {
+ if (statsError || alertsError || alertmanagerError) {
return ;
}
- if (!statsData || !alertsData) {
+ if (!statsData || !alertsData || !alertmanagerData) {
return (
+
);
}
@@ -35,6 +37,10 @@ export default function Component({ service }) {
label="grafana.alertstriggered"
value={t("common.number", { value: alertsData.filter((a) => a.state === "alerting").length })}
/>
+
);
}
diff --git a/src/widgets/grafana/widget.js b/src/widgets/grafana/widget.js
index af3e56ea..36656ccd 100755
--- a/src/widgets/grafana/widget.js
+++ b/src/widgets/grafana/widget.js
@@ -8,6 +8,9 @@ const widget = {
alerts: {
endpoint: "alerts",
},
+ alertmanager: {
+ endpoint: "alertmanager/grafana/api/v2/alerts"
+ },
stats: {
endpoint: "admin/stats",
validate: ["dashboards"],