SSR health alerts: mail texts in English
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8f8ae039d4
commit
be163a88c2
1 file changed
+38
-38
@@ -126,31 +126,31 @@ final class SsrHealthSampleCommand extends Command
|
|||||||
if ($prevOk !== null && $prevOk !== $row['ok']) {
|
if ($prevOk !== null && $prevOk !== $row['ok']) {
|
||||||
if ($row['ok'] === 1) {
|
if ($row['ok'] === 1) {
|
||||||
$this->sendAlert(
|
$this->sendAlert(
|
||||||
'[VITEC SSR] Entwarnung: SSR-Server wieder erreichbar',
|
'[VITEC SSR] Recovered: SSR server reachable again',
|
||||||
"Die 5-Minuten-Messung erreicht den SSR-Server wieder (Status ok).\n\n"
|
"The 5-minute health check reaches the SSR server again (status ok).\n\n"
|
||||||
. 'Zeitpunkt: ' . date('d.m.Y H:i:s') . "\n"
|
. 'Time: ' . date('d.m.Y H:i:s') . "\n"
|
||||||
. 'Release: ' . ($row['release_id'] ?: '-') . "\n"
|
. 'Release: ' . ($row['release_id'] ?: '-') . "\n"
|
||||||
. 'Antwortzeit: ' . $row['response_ms'] . " ms\n\n"
|
. 'Response time: ' . $row['response_ms'] . " ms\n\n"
|
||||||
. 'Aktueller Stand: Schalter vitec.ssr.enabled = '
|
. 'Current state: switch vitec.ssr.enabled = '
|
||||||
. ($this->flagService->isEnabledInSettings() ? 'AN' : 'AUS')
|
. ($this->flagService->isEnabledInSettings() ? 'ON' : 'OFF')
|
||||||
. ', Flag-Datei ' . ($this->flagService->isFlagSet() ? 'vorhanden (SSR aktiv)' : 'fehlt (SPA-Auslieferung)') . ".\n"
|
. ', flag file ' . ($this->flagService->isFlagSet() ? 'present (SSR active)' : 'missing (SPA delivery)') . ".\n"
|
||||||
. "Falls der Auto-Failover ausgelöst wurde, bleibt die Seite bewusst auf SPA.\n"
|
. "If the auto-failover was triggered, the site deliberately stays on SPA.\n"
|
||||||
. "Wieder einschalten: TYPO3-Backend > Site Management > Settings > SSR delivery auf AN,\n"
|
. "Re-enable: TYPO3 backend > Site Management > Settings > SSR delivery ON,\n"
|
||||||
. "danach Komplett-Purge (vendor/bin/typo3 vitec:ssr-purge --all).\n",
|
. "then a full purge (vendor/bin/typo3 vitec:ssr-purge --all).\n",
|
||||||
$output
|
$output
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
$this->sendAlert(
|
$this->sendAlert(
|
||||||
'[VITEC SSR] ALARM: SSR-Server antwortet nicht',
|
'[VITEC SSR] ALERT: SSR server not responding',
|
||||||
"Die 5-Minuten-Messung konnte den SSR-Server nicht erreichen\n"
|
"The 5-minute health check could not reach the SSR server\n"
|
||||||
. "(oder /__health meldete einen Fehler).\n\n"
|
. "(or /__health reported an error).\n\n"
|
||||||
. 'Zeitpunkt: ' . date('d.m.Y H:i:s') . "\n"
|
. 'Time: ' . date('d.m.Y H:i:s') . "\n"
|
||||||
. 'Endpoint: ' . $endpoint . "\n"
|
. 'Endpoint: ' . $endpoint . "\n"
|
||||||
. 'Antwortzeit: ' . $row['response_ms'] . " ms\n\n"
|
. 'Response time: ' . $row['response_ms'] . " ms\n\n"
|
||||||
. 'Solange die Flag-Datei existiert, leitet dev.vitec.com weiter zum SSR-Server. Nach '
|
. 'As long as the flag file exists, dev.vitec.com keeps routing to the SSR server. After '
|
||||||
. $failoverAfter . ' Fehlmessungen in Folge (ca. ' . ($failoverAfter * 5) . " Minuten) schaltet\n"
|
. $failoverAfter . ' failed checks in a row (about ' . ($failoverAfter * 5) . " minutes) the\n"
|
||||||
. "der Auto-Failover automatisch auf SPA-Auslieferung um - die Seite bleibt erreichbar.\n\n"
|
. "auto-failover switches to SPA delivery automatically - the site stays reachable.\n\n"
|
||||||
. "Diese Mail kommt nur beim Zustandswechsel ok -> down, nicht bei jeder Messung.\n",
|
. "This mail is sent only on the ok -> down transition, not for every check.\n",
|
||||||
$output
|
$output
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -172,29 +172,29 @@ final class SsrHealthSampleCommand extends Command
|
|||||||
$consecutive
|
$consecutive
|
||||||
));
|
));
|
||||||
$this->sendAlert(
|
$this->sendAlert(
|
||||||
'[VITEC SSR] AUTO-FAILOVER: Seite auf SPA umgeschaltet',
|
'[VITEC SSR] AUTO-FAILOVER: site switched to SPA',
|
||||||
'AUTO-FAILOVER AUSGELÖST: ' . $consecutive . " Messungen in Folge down.\n\n"
|
'AUTO-FAILOVER TRIGGERED: ' . $consecutive . " consecutive DOWN checks.\n\n"
|
||||||
. "dev.vitec.com liefert ab sofort die SPA aus (Rendering im Browser).\n"
|
. "dev.vitec.com now serves the SPA (rendering in the browser).\n"
|
||||||
. "Für Besucher bleibt die Seite erreichbar.\n\n"
|
. "The site stays available for visitors.\n\n"
|
||||||
. "Was automatisch passiert ist:\n"
|
. "What happened automatically:\n"
|
||||||
. "- Site-Setting vitec.ssr.enabled auf false gestellt (settings.yaml)\n"
|
. "- site setting vitec.ssr.enabled set to false (settings.yaml)\n"
|
||||||
. "- Caches geleert\n"
|
. "- caches flushed\n"
|
||||||
. "- Flag-Datei var/vitec-ssr-on.flag gelöscht\n\n"
|
. "- flag file var/vitec-ssr-on.flag removed\n\n"
|
||||||
. "Wieder einschalten (bewusst NUR von Hand), sobald der SSR-Server wieder läuft:\n"
|
. "Re-enable (deliberately MANUAL only) once the SSR server is back:\n"
|
||||||
. "1. Auf dem VPS prüfen: systemctl status vitec-ssr und /__health\n"
|
. "1. Check on the VPS: systemctl status vitec-ssr and /__health\n"
|
||||||
. "2. TYPO3-Backend > Site Management > Settings > SSR delivery wieder AN\n"
|
. "2. TYPO3 backend > Site Management > Settings > SSR delivery back ON\n"
|
||||||
. "3. Komplett-Purge: vendor/bin/typo3 vitec:ssr-purge --all\n",
|
. "3. Full purge: vendor/bin/typo3 vitec:ssr-purge --all\n",
|
||||||
$output
|
$output
|
||||||
);
|
);
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
$output->writeln('<error>auto-failover FAILED: ' . $e->getMessage() . '</error>');
|
$output->writeln('<error>auto-failover FAILED: ' . $e->getMessage() . '</error>');
|
||||||
$this->sendAlert(
|
$this->sendAlert(
|
||||||
'[VITEC SSR] FEHLER: Auto-Failover fehlgeschlagen',
|
'[VITEC SSR] ERROR: auto-failover FAILED',
|
||||||
"Der Auto-Failover sollte auslösen, ist aber fehlgeschlagen:\n"
|
"The auto-failover should have triggered but failed:\n"
|
||||||
. $e->getMessage() . "\n\n"
|
. $e->getMessage() . "\n\n"
|
||||||
. "Bitte von Hand prüfen: Site-Setting vitec.ssr.enabled, Datei var/vitec-ssr-on.flag.\n"
|
. "Please check manually: site setting vitec.ssr.enabled, file var/vitec-ssr-on.flag.\n"
|
||||||
. "Not-Aus ohne TYPO3: Flag-Datei löschen UND Setting auf false stellen\n"
|
. "Emergency off without TYPO3: delete the flag file AND set the setting to false\n"
|
||||||
. "(sonst legt die SyncSsrFlag-Middleware die Flag-Datei sofort wieder an).\n",
|
. "(otherwise the SyncSsrFlag middleware recreates the flag file immediately).\n",
|
||||||
$output
|
$output
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user