Portál AbcLinuxu, 3. května 2025 00:21
V minulých dnech se tady hovořilo o Jabberu, co umí, k čemu se dá použít atd. Jednou z možností využití je také hlášení problémů ve webových aplikacích. Používám takové řešení pro PHP aplikace, a příslušný mikroskript nyní dávám k dispozici.
Při provozu webových aplikací (i tě nejjednodušších, založených většinou na PHP) někdy nastane situace, že něco nefunguje, jak má. Nelze se připojit na databázi, nelze přečíst nebo zapsat nějaký soubor, kvůli špatně ošetřenému vstupu něco spadne, nějaký útočník se usilovně snaží vloupat do aplikace apod. Tehdy se hodí nějaká metoda rychlého sdělení, že něco není v pořádku.
Běžně se používá informování e-mailem. To je sice dobrá věc, ale někdy nemá dostatečnou rychlost nebo účinnost. Např. v situacích, kdy člověku chodí větší množství mailů a čte je dávkově, může řešení neodkladného problému nabrat slušné zpoždění.
Lepší řešení přináší instant messaging, a to právě proto, že je instant, tedy rychlý. Pokud je příjemce on-line, dostane hlášení o problému nejpozději v řádu vteřin. Zvlášť vhodnou technologií je - díky své otevřenosti - XMPP. Stačí si najít vhodnou implementaci v potřebném jazyce a použít ji pro daný účel.
Pro hlášení problémů v PHP (hlavně ohledně komunikace s databázemi) používám velice jednoduchý skript, který umí poslat zprávu na určenou adresu sítě Jabber. Skript pro svoji činnost využívá třídu Class.Jabber.PHP (k dispozici pod GNU GPL) od Nathana Fritze a dalších lidí. Třída toho umí mnohem víc, prakticky celou základní klientskou funkcionalitu. V kódu třídy se sice momentálně nacházejí nějaké chybky (mám v plánu je nahlásit), ale i tak je dobře použitelná. Možná někde existuje něco lepšího pro XMPP v PHP, zatím o tom ale nevím.
Kdo má zájem, nechť si třídu i můj miniaturní skript stáhne, případně upraví k obrazu svému (aby to např. posílalo do chatroomu). Snad je ze zdrojáku vše dostatečně patrné. Nejlepší je kombinovat toto jabberské hlášení s e-mailovým - s tím, že po Jabberu půjde jen stručná hláška, kdežto v mailu budou podrobnější informace.
UPDATE: Kdo narazil na problémy s fungováním přes jabber.cz, nechť použije opravenou verzi třídy - je v balíku se skriptem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.