Newsletter 365tipů můžete číst zdarma. Placené předplatné je dobrovolná podpora, která pomáhá webu pokračovat.
Podpořit 365tipů

TIP#2728: Jak na monitoring chodu serveru (s pomocí Uptime Kuma) aby to bylo šetrné. Základ, jen dostupnost

O monitorování chodu serverů (a nejenom těch) s pomocí Uptime Kuma tu už delší dobu existuje jiný tip (Jak na monitoring dostupnosti/funkčnosti serveru? a Jak využít QNAP pro monitoring běhu webových serverů? A nejenom QNAP), ale je čas k němu přidat jednu důležitou věc.

Pokud si nastavíte monitoring běhu serveru například na každou minutu a budete testovat (opět například) homepage, může to znamenat zátěž pro server – za jeden den je to 1440 požadavků na homepage, každý (ve zdejším případě)  cca 32KB HTML. Což pokud dobře počítám je 46 MB za den, přes 1.3 GB za měsíc. Což není až tak málo.

Navíc to představuje načtení kompletní homepage, včetně případného generování obsahu, volání SQL dotazů a dalších věcí. 

Celé je to přitom vcelku zbytečné. Bohatě stačí monitorovat něco malého. A to něco malého si můžete vytvořit sami. Třeba podle HTTP Status Endpoint for UptimeKuma for PHP websites like WordPress

<?php 
header('Content-Type: application/json');
$check_key = $_GET['key'];
if ($check_key == "SEKRET") { 
$http_status_code = http_response_code();
$current_time = date("c");
$response["success"] = true;
$response["http-status-code"] = $http_status_code;
$response["server-time"] = $current_time;
} else {
$response["success"] = false;
$response["authentication"] = "failed";
}
echo json_encode($response);
?>

Uvedený příklad testuje jenom chod http serveru. Pokud byste chtěli testovat i zda běží SQL, tak byste si museli udělat pokročilejší verzi. Ale ta může jenom otestovat nějaký jednoduchý dotaz, nic co by zbytečně zatěžovalo server.

V zdejším případě je Uptime Kupa na QNAP NAS a monitoruje webové servery vlastní i pár klientských. Každou minutu, část z nich právě pomocí tohoto „lehčího“ skriptu, některé pomocí zásahu homepage – tam kde není velká ani samotný web není velký.