Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...  (Přečteno 3332 krát)

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Ahoj,
chtěl bych si nechat zasílat smsky o stavu serveru.
Jsem ve fázi, kdy mám php soubor, který když otevřu můžu mu předat informace pomocí GET, které se mi odešlou pomocí mailu smskou na mobil.
Napadlo mě to až dneska a ještě jsem ani nezačal googlit, jenom mě napadlo, že by se to někomu mohlo ještě třeba líbit a chtěl by se zapojit.
Potřebuju získat informace o stavu daemonech. Jako třeba Apache, MySQL, Samba atd :) Věřim tomu, že existuje nějakej jednoduchej způsob jak to zjistit.
Ale dostávám se k problému, jak to dostat do CRONu a jak otvírat každou hodinu nějakým scriptem stránku které pomocí GET předám pár informací.
Měl bych tedy dejme tomu něco v PERLu co se mi každou hodinou spustí a získá informace a otevře stránku které předá nějaké parametry...

Po odeslání emailu se mi automaticky přeposílá sms na mobil, mám to nastavený na seznamu a můj operátor je O2.
Vše je zadarmo...

Kód: [Vybrat]
$date = Date("j/m/Y H:i:s", Time());
$zprava = " server: status OK!";
$subj = $date.$zprava;
$success = mail("jannovak@seznam.cz", $subj, "trebajmenoserveru", "trebajmenoserveru");
if ($success) {
echo "OK!";
} else {
"KO!";
}

Martin - ViPEr*CZ*

Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #1 kdy: 19 Ledna 2009, 21:03:40 »
Každej daemon má svoje PID. Nevím přesně z hlavy jak se to dá zjistit, ale vím, že startovací scripty v /etc/init.d maj v sobě takovou funkci zakomponovanou, takže by mohlo stačit jen vytáhnout. Tím se dá zjistit zda daný process již běží nebo ne.

V cronu se dá spouštět PHP script. Nevím jak tam přes GET vložit ty parametry. Ale to by se dalo zase ošetřit, že před PHP ty informace uloží nějakej jinej program či script někde do txt nebo do MySQL a to PHP si to odtamtud vytáhne.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #2 kdy: 19 Ledna 2009, 21:12:01 »
To mě nenapadlo přes PID, ale jak zjistíš který čemu patří?

Přes get bych to měl vymyšlený jako poslat na adresu www.example.com/mail.php?stav=OK?uptime=123456789
A script který odesílá email už ví co dostal přes GET, tedy $stav = ok; a $uptime = 123456789;

Kód: [Vybrat]
$date = Date("j/m/Y H:i:s", Time());

$stav = $_GET["stav"];
$uptime = $_GET["uptime"];

$zprava = " server: status OK!";
$subj = $date.$zprava.$stav.$uptime;
$success = mail("jannovak@seznam.cz", $subj, "trebajmenoserveru", "trebajmenoserveru");
if ($success) {
echo "OK!";
} else {
"KO!";
}

Teď tedy vytvořit script který zjistí ty stavy a podle toho vytvoří tu URL adresu, tedy nějak takhle:

jestliže neběží MySQL {
otevřít stránku www.example.com/mail.php?db=nebezi
}
else {
otevřít stránku www.example.com/mail.php?db=bezi
}

A upravit to, aby mohl posílat víc informací najednou, s tím bych si už poradil. Jenom bych potřeboval nakopnout :)

Martin - ViPEr*CZ*

Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #3 kdy: 19 Ledna 2009, 21:18:30 »
No to PID uměj zjistit ty scripty co jsem ti psal...tj příklad:

někde v /etc/init.d/apache2 je funkce na zjištění zda to běží...protože pokud již běží bude se /etc/init.d/apache2 start asi zlobit (pokud ne bind to dělá určitě). Takže stačí správně okopírovat.

No a programovací logiku znám... ale v cronu spustíš určitej PHP script...po určitý čase opětovně...ale podmínky typu if jsem v tom neviděl...takže musíš spustit třeba shell script...co udělá zjištění PID...a podle toho spustí PHP script s určitý GET (tuším že by to mohlo jít přes wget to PHP z shellu, ale nemám vyzkoušeno).
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

kkaarreell

  • Stálý člen
  • **
  • Příspěvků: 1072
Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #4 kdy: 20 Ledna 2009, 10:12:30 »
Jsem celkem sklerotik a tak si kazdy rano v devet posilam sms se svatky/narozeninami svych znamych v nasledujicich dvou dnech.
V cronu to vypada takto
Kód: [Vybrat]
1 9 * * * ~/scripts/svatky.pl -d 2 | cstocs utf8 ascii | mail neconeco@vodafonemail.cz(pustim skript, odstanim diakritiku a poslu to rovnou mailem na vodafoni alias)

tim chci rict, ze je zbytecne na to posilani delat php skript, kdyz to muzes poslat mailem rovnou. bezici procesy si vytahas treba pres pidof, neco jako
Kód: [Vybrat]
#!/bin/bash

echo uptime: `uptime | cut -d "," -f 1`
for P in httpd smbd; do
  if pidof $P &> /dev/null; then
    echo "$P: OK";
  else
    echo "$P: not running";
  fi
done
a pak to rovnou posli mailem. Nicmene podle me by bylo lepsi overovat dostupnost sluzby (nahraje se mi konkretni stranka) nez jen to, zda proces bezi.

Martin - ViPEr*CZ*

Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #5 kdy: 20 Ledna 2009, 10:36:11 »
No ono taky kdyz nepojede apache treba tak se pak ta sms taky neposle, protoze by to posilal php skript pokud se nepletu.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Tomáš Břinčil

  • Občanské sdružení Ubuntu ČR
  • Závislák
  • ***
  • Příspěvků: 1610
  • moje obrázky ↓
    • TomasBrincil.cz
Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #6 kdy: 20 Ledna 2009, 16:45:23 »
Jo díky moc za rady, mrknu na to a případně udělám howto, pokud to k něčemu bude.

Martin - ViPEr*CZ*: Proto mám ten php script nahranej na jiném serveru :)

highwayman

  • Návštěvník
  • Příspěvků: 6
Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #7 kdy: 21 Ledna 2009, 12:15:29 »
a co monitorovat jednotlive tasky nagiosem? napriklad na url webu, databaze .. etc? zasilani na mail ( mobilni mail) je samozrejmosti.

Me spis v souvislosti s tematem zajima opravdove zasilani alertu smskou z mobilu pripojeneho usb kabelem k serveru . mate nekdo zkusenosti s takovymto resenim? odesilanim napr. pres sw gnokii? zajimaji me zkusenosti s podporovanymi telefony a hlavne spolehlivosti reseni. ( nejake informace mam uz z webu gnokii, ale ona je praxe obcas jina :-) ).    diky za pripadne re:
highwayman

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #8 kdy: 21 Ledna 2009, 19:00:00 »
Napište to v bashi, použijte mailutils a jednoduchý konstrukt
echo "zprava" | mail -s "Zprava o stavu" +420.........@sms.cz.o2.com

btw.
apache2ctl status
/etc/init.d/mysql status
/etc/init.d/postfix status
...

zhusta o sobě ti démoni umí dát vědět :)
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

Martin - ViPEr*CZ*

Re: Zasílání SMS o stavu serveru, pomoc s výpisem stavů daemonů...
« Odpověď #9 kdy: 21 Ledna 2009, 19:11:48 »
Hmm status jsem ani netušil... dík za info.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

 

Provoz zaštiťuje spolek OpenAlt.