Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Checky
Konnekt | Forum > Dodatki > Wtyczki
Stron: 1, 2, 3, 4
hao
Wczorajsze przygody z serwerem skłoniły mnie do napisania w rekordowym tempie nowej, prostej jak budowa cepa wtyczki.

Checky co podany czas wywołuje określone polecenie. Jeżeli polecenie (np. php moj_super_skrypt.php) zwróci jakikolwiek kod błędu - Checky uznaje to za pojawienie się problemu, zmienia status kontaktu na ONLINE (żeby był na samej górze), informuje przez K.Notify i wydaje nieprzyjemne dźwięki wink.gif ... Poza tym potrafi też wrzucać zwrócony tekst do wyskakujących powiadomień i statusu opisowego kontaktu...

Instrukcja obsługi:

- Dodajesz kontakt
- Wybierasz mu sieć "Checker"
- Naciskasz zapisz i koniecznie zamykasz okno "Więcej"
- Edytujesz kontakt
- wpisujesz w zakladce "Checker" dowolne polecenie do wywolania, czas w sekundach i zaznaczasz checkboxa
- naciskając "Sprawdź" upewnisz się czy wszystko hula...

voilla

Na razie requestów nie przyjmuję, najprawdopodobniej udostępnię kod razem z zestawem klas Stamina, z których ta wtyczka korzysta bardzo intenstywnie (przez moment korzystała też z Alphowego API Konnekta wink.gif )

Changelog

Wersja 1.0
Powstała tak szybko po wersji 0.1, że chyba nie ma sensu pisać changeloga smile.gif

Wersja 1.1
- zwrócenie kodu błędu >= 10 wyrzuca informację krytyczną - z własnym dźwiękiem powiadomienia i pojawiającą się upierdliwie za każdym razem
- dzwieki w kSound to "checkyFailed" i "checkyCritical"
- w wydruku polecenia można wstawić dwa zestawy specjalne:
CODE

<konnekt:status>To pojawi się jako status opisowy kontaktu</konnekt:status>
<konnekt:notify>To pojawi się w powiadomieniu K.Notify</konnekt:notify>

- w katalogu \checky znajdziecie dwa skrypty PHP:
check_load.php - Wyszukuje ciągu znaków "load average: ##, ##, ##", wybiera środkową liczbę i porównuje z parametrami wywalając warning albo krytyka np:
CODE
check_load.php http://jakas.strona/load.php 5 10


check_status.php - Łączy się ze stroną i sprawdza zwrócony status HTTP (Wymaga rozszerzenia CURL do php!) np:
CODE

check_status.php http://jakas.strona/
check_status.php http://jakas.strona/ktora_powinna_zwracac_403 403


Wersja 1.2
- można ustawiać ikonkę na liście kontaktów
CODE

<konnekt:icon>Numerek</konnekt:icon>

Numerek podajemy jako: Liczba_dziesiętna, #Szesnastkowo, 0xSzesnastkowo - czyli zadziałają wartości podawane przez listę ikonek Konnekta...
- dwuklik na kontakcie odświeża wartość (i wyświetla wynik)

Wersja 1.3
- poprawiona wartość NET wtyczki (80 -> 82), kontakty oczywiście poprawiane są automagicznie smile.gif
- powiadomienie KNotify o ustąpieniu błędu znika samo (pozostałe wymagają kliknięcia)

Załączniki

Olórin
Jak taki php zwracajacy kod błędu wygląda ? ;>
LooZ^
Ja wiem, ze jestem ignorantem, ale do czego to moze sie np. przydac? smile.gif
hao
Ja sprawdzam obciążenie serwera i odpytuje domeny czy działają jak należy smile.gif
atol
jest to zapewne malutki kroczek w kierunku php bota smile.gif
Flind
Ja tam za pomocą komendy PING spradzam czy jestem połaczony z internetem smile.gif bo zazwyczaj miałem otwarte okienko lini polecenień z przewijający mi sie pingami
dulek000
Wydaje się bardzo przydatne, ale nie rozumiem jak z tego korzystać. Co mam w polu "polecenie", jeśli chcę sprawdzać obciążenie serwera?
Olórin
Namiastka pogodynki ;-) Oczywiście musicie zmienić kod miasta w URL'u na wp tongue.gif

Poprawiona wersja ->

hao - może by jeszcze możliwość ustawiania ikony kontaktu z poziomu skryptu ;-) a rejestrować je można poprzez kStyle ;-)
bakerss
Olórin - co wpisać w polecenie żeby uruchomić ten skrypt?
Olórin
Ja mam
CODE
d:\usr\php\php d:\check.php

Gdzie D:\usr\php to katalog instalacji php, a d:\check.php to ścieżka do skryptu...
zimaq
No ja mam:
CODE
c:\Program Files\WebServ\php c:\pogoda.php

i mi wyskakuje że Wprowadzona komenda jest niepoprawna! ...
Olórin
A może spacja przeszkadza w ścieżce ;> Spróbuj
CODE
"c:\Program Files\WebServ\php" c:\pogoda.php


i czy c:\Program Files\WebServ\php jest scieżka do php.exe ;>
zimaq
O tera działa ;]
dodałem bezpośrednio do php.exe smile.gif

btw. teraz by się przydało w sprzątaczce dodać Checky na pierwszą pozycję w sortowaniu wg. sieci smile.gif
Olórin
Ustaw sortowanie alfabetyczne ;P

BTW, u mnie przy <konnekt:info> jest opis ;>
zimaq
Od nauki już głupieję... faktycznie jest smile.gif

Wiem hao, że nie przyjmujesz requestów, ale pozycja w menu konekstowym kontaktu checky o nazwie: 'Sprawdź' ( jak button w 'Więcej' ), by mnie bardzo ucieszyła, tymbardziej jakby to była domyślna akcja po dwukliku smile.gif

QUOTE
Ustaw sortowanie alfabetyczne ;P

Dałem liczbowe - malejące i grupy te co chce, pozostały bez zmian a Checky mam na górze smile.gif
torn
Opis i mały tutorial, może się komuś przyda:

http://th7.org/2005/04/21/checky/
Sija
ja mam dwa powazne bugi za to, as usual ;>
[1]: NET Checkiego gryzie sie z IRCem [by nix]
[2]: kontrolka [Wiecej] -> [Opis wlasny] nie da sie przewijac [bo jest wylaczona, co nie zmienia faktu, ze powinna sie dawac przewijac wink.gif]
Olórin
Zamiast ustawiać jej status disabled, lepiej ustawić locked.....
k3mpa
taka mała wtyczka a jaka pocieszna ..biggrin.gif

jeszcze jedno ...smile.gif czy tylko umnei jak daje filtrowanie to mi znika nie dało by się jakoś zrobić żeby była jakby online ..smile.gif zawsze ..smile.gif
Aule
Mam pytanie. Ta wtyczka i tak chyba tylko do obsługi skryptów php służy, więc czy nie możnaby zrobić kontorlki w ogólnym konfigu ze ścieżką do php? To troche mało wygodne, gdy trzeba ustawiać dla każdego kontaktu tą samą ścieżke do php.
torn
Nikt nie zmusza ciebie do używania tylko php. Możesz odpalać dowolne skrypty, batche, vbs itp.
kwiatekpio
wypas wtyczka,..
Olórin zrobił fajny bajer z pogodą.. próbowałem przerobić ten skrypt na taki, który pobierałby dane z onetu, gdzie pogoda jest auktualizowana na bieżąco a nie tak jak na wp - raz na dzień.. niestety, cholera mnie brała z tymi perlowskimi wyrażeniami regularnymi :/ Czy ma ktoś jakąś rozpiske co i jak z tym preg_match, ereg, eregi itp.. ?? a moze ktoś się skusi i napisze gotowy skrypcik pod oneta?
Olórin
Generalnie chodziło mi o pokazanie że wtyczka nie jest tylko dla administratorów, developerów, itp. ale również dla zwykłych ludzi..... Do sprawdzania połączenia pingiem można wykorzystać.... komendę ping - zwraca błąd kiedy ping nie dojdzie ;d
skolima
Jeszcze żeby na konnekt.info/forum był rss, można by sprawdzać checkym czy są posty nie czytane... HAO jestes genialny cool.gif

Btw, pinger zachowuje się u mnie dziwnie... nie sprawdzałem kodu, ale. Wywołuję ping onet.pl (bez dalszych parametrów). Dostaję status np.
CODE
min=29ms max=35ms av=32ms loss=25
. Czym jest to loss? Bo raczej nie liczbą zgubionych pingów.
magor
QUOTE(skolima @ 22.04.2005 - 21:03)
Jeszcze żeby na konnekt.info/forum był rss, można by sprawdzać checkym czy są posty nie czytane... HAO jestes genialny cool.gif


A wtyczka podobno miala pomagac administratorom sprawdzac czy serwer nie padl od przeciazenia.
Jak rozumiem potwierdza sie ze kto od miecza wojuje ten od miecza ginie. Teraz wtyczka niechybnie przyczyni sie do generowania kolejnych przeciazen na serwerze K. Jak nie RSS to pewnie niedlugo ktos sie wycwani i bedzie sprawdzal liczbe nowych postow, wiadomosci czy uzytkownikow on-line na forum co kilka minut... a potem nastepni i nastepni... smile.gif
zimaq
Wiesz - to już mozna zrobić smile.gif
A gdyby na serverze było ssi.php to juz wogóle full wypas smile.gif
psota
Ja poczekam, aż na konnek.tk zrobią jakąś instrukcje dla nie kumatych tongue.gif
riddle
Haha.. nie zrobią. Przynajmniej nie ten skład, co widzisz w creditz, bo nie umieją oni PHP ani innego jeżyka (edit: lol, miałobyś języka tongue.gif) skryptowego na poziomie co najmniej wystarczającym. Wiem co mówię, gadałem z nimi. biggrin.gif wink.gif
zimaq
Tu chyba chodzi o rozpisanie tego jak wsadzić komendy do Checky, rospisać bardziej dokładnie niż zrobili to wszyscy w tym wątku smile.gif
A to chyba jest do wykonania.
btw. Checky to teraz taki kBot2 smile.gif
psota
O to właśnie chodzi, bo naprzykład
QUOTE(Olórin @ 20.04.2005 - 20:30)
Ja mam
CODE
d:\usr\php\php d:\check.php

Gdzie D:\usr\php to katalog instalacji php, a d:\check.php to ścieżka do skryptu...
*


Rozumiem, że w katalog instalacji musi się coś w stylu krasnala znajdywać?
Ten "cep wtyczki" jest zaskomplikowany dla zwyklego cepa tongue.gif
hao
Żaden krasnal... Ściągasz z www.php.net paczkę i rozpakowujesz do c:\php ... i praktycznie gotowe...
riddle
Sprawdza wielkość logów (czy nie rozrosły się za bardzo). Może wydawać się niepotrzebne, ale miałem z tego powodu raz problem. Wolę wyłączyć Konnekta, zanim zepsuje mi pliki profilu. smile.gif

Nowsza wersja dalej ->

Pewnie można to zgrabniej, ale php prawie w ogóle nie umiem.. empirycznie tworzyłem razem z php.net tongue.gif

W jaki sposób nie pokazywać kNotify'em, że wszystko jest okej?

QUOTE(skolima)
Jest jeden skrypt dla wszystkich miast ;D

Czy dobrze rozumiem, że w takim razie $_SERVER['argv'][1] i kolejne ([2],[3]..) są parametrami, które możemy dodać w linijce konfiguracyjnej? Czyli tutaj dla Łodzi będzie:

"c:\webserv\php\php.exe" checky\pogoda.php 1201127

??

Bardzo bym prosił o włączenie tagów [ php ] .. jeśli nie wszędzie, to w tym temacie. Proszę. :-)
dulek000
Skolima, loss to najprawdopodobniej procent zgubionych pakietów smile.gif
Aule
QUOTE(torn @ 22.04.2005 - 17:04)
Nikt nie zmusza ciebie do używania tylko php. Możesz odpalać dowolne skrypty, batche, vbs itp.
*


Ta, użyć to sobie można, ale do czego innego to będzie jej używać 10%, jak nie mniej. Więc nawet jako opcja, żeby po zaznaczeniu odpowiedniego ptaszka od razu uważało, że to PHP i 'wciskało' przed podaną ścieżke ścieżke do PHP.
bakerss
Ufff po ciężkich bojach wreszcie odpaliłem skrypt z pogoda biggrin.gif
hao
QUOTE
Czy dobrze rozumiem, że w takim razie $_SERVER['argv'][1] i kolejne ([2],[3]..) są parametrami, które możemy dodać w linijce konfiguracyjnej? Czyli tutaj dla Łodzi będzie:

"c:\webserv\php\php.exe" checky\pogoda.php 1201127

??


Tak

QUOTE
Sprawdza wielkość logów (czy nie rozrosły się za bardzo). Może wydawać się niepotrzebne, ale miałem z tego powodu raz problem. Wolę wyłączyć Konnekta, zanim zepsuje mi pliki profilu.


Teoretycznie betowe DTB jest już na taką okoliczność uodpornione... W sumie trzeba by zapchać dysk i przetestować smile.gif

QUOTE
Ta, użyć to sobie można, ale do czego innego to będzie jej używać 10%, jak nie mniej. Więc nawet jako opcja, żeby po zaznaczeniu odpowiedniego ptaszka od razu uważało, że to PHP i 'wciskało' przed podaną ścieżke ścieżke do PHP.


Bardziej rozsadne od PHP byloby napisanie skryptów w JS lub VBS ktore winda obsluguje natywnie... Poza tym jeżeli już instalujesz sobie PHP to dodaj sobie jego ścieżkę do zmiennych systemowych. W ten sposób komendy są takie:
php checky/pinger.php
zimaq
QUOTE(hao)
Poza tym jeżeli już instalujesz sobie PHP to dodaj sobie jego ścieżkę do zmiennych systemowych. W ten sposób komendy są takie:
php checky/pinger.php

Bardzo chętnie - ale jak? smile.gif
Olórin
QUOTE
Bardzo chętnie - ale jak? smile.gif

Wchodzisz do okienka i do path dopisujesz scieżke do php smile.gif
blesof
Mam pewien problem. Gdy próbuję uruchomić jakiś skrypt php przez ten plugin to pojawia mi się okienko dialogowe z wynikiem działania tego skryptu. Jak temu zapobiec? Mam wersję PHP 5.0.4.
Olórin
Jak jest uruchamiany przez timer to okienko się nie pokazuje smile.gif
riddle
A jak wyłączyć powiadomienie kNotify jeśli wszystko jest okej? Próbowałem
CODE
echo '<konnekt:notify></konnekt:notify>'
ale nie zadziałało
skolima
Riddle : wyłącz od kNotify opcję : "Powiadamiaj o zmianach statusu opisowego" w oknie kontaktu. Wtedy wyskakuje tylko, jak zmieni status np. na dostępny (czyli error level >0)
lhs
zimaq - luknąłem sobie na stronę pogody WP, z której Twój skrypt pobiera dane - i chyba widzę w skrypcie problem. WP podaje prognozę na dzisiaj (np Sobota) i na cztery kolejne dni (np Niedziela, Poniedziałek, Wtorek, Środa). Wydaje mi się, że jeżeli w którykolwiek z tych dni (np Środa) WP poda "zachmurzenie", a wcześniej (np Niedziela) "bezchmurnie", skrypt odczyta i poda "zachmurzenie" - bo pierwsza instrukcja if w bloku if/elseif/else dopasowuje ciąg "chmurz", a nigdzie nie jest sprawdzane, czy wcześniej nie wystąpiło co innego...
Olórin
Najlepiej ikone rozpoznawać po nazwie obrazka smile.gif

TIP: images.google.com -> site:pogoda.wp.pl/i/ ;-)
lhs
Olórin - przecież nie o rozpoznawanie ikony chodzi smile.gif
Olórin
O rozpoznawanie ikony też chodzi ;]
lhs
Olórin - na moje oko ikona powiązana jest z tekstem pod nią, jeżeli wiesz coś więcej - to po prostu napisz, o co chodzi.
hao
Bo najpierw trzeba dopasować sam dzień a dopiero później wyciągać konkretne informacje...

Jak będę miał ciutkę więcej czasu to pewnie zmajstruję coś do onetu, razem z prognozami wprzód oczywiście tongue.gif
Olórin
Ale tekst trzeba analizować i mogą zmieniac.... obrazków jest kilka: http://images.google.pl/images?hl=pl&lr=&c....pl&btnG=Szukaj

Wystarczyłoby wyciąnąć nazwe pliku z <img src="i/(.*).gif"/> i zrobić switcha do ustawiania ikony smile.gif
zimaq
To było prawie bardziej niż pewnie, że to nie działa jak nalezy, ale cóż - programistą to ja nie jestem wink.gif
Dobra, teraz to ja poczekam na wersje hao smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.