INFORMATICS

The Best

Disk alert

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна

Często podczas pracy z wieloma serwerami spotykamy się z problemem przepełnienia dysku. Jeden serwer jesteśmy w stanie monitorować ale co jeżeli mamy kilkadziesiąt serwerów.

Monitorowanie wolnego miejsca na dysku można wykonać na kilka sposobów możemy zrobić to przez zbieranie danych do logu i robienie wykresu dzięki SNMP. Jednak na wykresy też trzeba patrzeć i je analizować przeglądanie kilkadziesięciu wykresów i analizowanie ich to nie jest dobre rozwiązanie.

Najlepszym rozwiązaniem jest ustawienie progu po którym system wysyła maila na wskazany adres mailowy. Komunikat na skrzynkę pocztową informuje nas o wyczerpaniu się miejsca na dysku serwera a tym samym daje czas na podjęcie działania.

Oto przykład jak skonfigurować powiadamiaczkę o wyczerpywaniu się miejsca na dysku twardym.

Zalecany poziom wolnego miejsca na dysku twardym to 15% ale poziom ten można ustawić dowolnie.

Otwieramy Monitor wydajności znajdujący się w Narzędziach administracyjnych i tworzymy powiadomienie, Wchodzimy w zestaw modułów zbierających dane -> Zdefiniowane przez użytkownika -> Klik prawym klawiszem myszki wybieramy Nowy -> Zestaw modułów zbierających dane

 

Wchodzimy do okna utwórz nowy zestaw modułów zbierających dane i wybieramy typ danych w tym przypadku Alert licznika wydajności.

Wpisujemy nazwę pod którą będzie widniał moduł w naszym przypadku DiskAlert i wybieramy opcję Utwórz ręcznie (zaawansowane)

Klikamy Dalej i dostajemy się do okna tworzenia nowego zestawu modułów zbierających dane.

Klikamy Dodaj i otwiera się nam nowe okno wybieramy Alert licznik wydajności

Wybieramy licznik który nas interesuje w tym przypadku Dysk logiczny

Wyszukujemy interesujący nas parametr czyli Wolne megabajty lub Wolne miejsce (%). Wybieramy dysk C; ponieważ jego zasoby będą monitorowane

 

 

Utworzony przez nas moduł zbierający dane ma następującą postać

\Dysk logiczny(c:)\Wolne miejsce (%)

Ustawiamy próg ostrzegawczy limit 5% zalecany próg ostrzegawczy to 15%

 

Zapisujemy moduł i zamykamy

 

Pojawia się nam teraz nowy moduł pod nazwą DiskAlert - ustawiamy teraz właściwości alertu prawym klikiem na DiskAlert uruchamiamy Właściwości sprawdzamy poprawność ustawień

 

Wykonujemy ponownie prawy klik na DiskAlert i włączamy uruchom - moduł został włączony.

 

 

Konfigurujemy teraz DataCollector01 - prawym klawiszem myszki wybieramy właściwości

Sprawdzamy poprawność wpisów a zakładce alerty - limit alertów oraz interwał próbkowania czyli czas po jakim zostanie wykonane ponowne sprawdzenie zadanego parametru

W zakładce Akcja alertu odznaczamy Rejestruj wpis w dzienniku zdarzeń aplikacji oraz wybieramy Disk Alert jako Uruchomiony zestaw modułów zbierających dane

 

Wchodzimy teraz ponownie do Narzedzi Administracyjnych i wybieramy Harmonogramu zadań.

 Wchodzimy do folderu Biblioteka Harmonogramu zadań -> Microsoft -> Windows -> PLA

Ustawiamy się na DiskAlert i włączamy właściwości

 W zakładce ogólne odznaczamy Ukryte

W zakładce Wyzwalacz konfigurujemy opcję wyzwalacza czyli programu wsadowego. Wybieramy nowy element

 I tworzymy nowy wyzwalacz

 Ustawiamy harmonogram działania - wybieramy by zadanie rozpoczynało się każdego dnia o zadanej godzinie i było powtarzane co 1 dzień.

Odznaczamy box włączono

 Konfigurujemy akcje która będzie reagowała na zdarzenie wybieramy Nowa...

 I konfigurujemy akcję.

Akcja uruchom program.

Program skrypt C:\Windows\system32\rundll32.exe

Dodajemy argument C:\Windows\system32\pla.dll,PlaHost "DiskAlert" "$(Arg0)"

 Wchodzimy teraz w menadżer serwera zakładka Diagnostyka Podgląd Zdarzeń -> Dziennik aplikacji i Usług ->Microsoft ->Windows -> Diagnosis -PLA -> Działa

 

 

 

 Podglądamy sobie generowany log.

Log znajduje się właśnie w Diagnosis-PLA i wygląda następująco

Wygenerowało się nam zdarzenie o numerze identyfikacyjnym 2031 teraz możemy już przystąpić do konfigurowania powiadomienia wysyłanego pocztą e-mail

Dołącz zadanie do tego zdarzenia ... :

Klikamy prawym klawiszem myszki na Informację o numerze ID 2031

i wybieramy opcje dołącz zadanie do tego zdarzenia

 Opisujemy nasze zadanie jako powiadomienie e-mail

Wpisujemy w Opisie: Powiadomienie e-mail gdy miejsce na dysku spadnie poniżej zadanej wartości.

 

 Dostajemy informacje rejestracyjne

 Wybieramy uruchomienie programu którym będzie nasz skrypt

 Wskazujemy ścieżkę do skryptu który będzie informował o spadku miejsca na dysku C:

 Kończymy proces

Oczywiście potrzebujemy jeszcze skrypt który wyśle za nas maila możemy również użyć opcji wbudowanej w windowsa ale tego nie testowałem.

Podsumowanie - w skrócie.

Pierwsze wchodzimy w monitor wydajności tworzymy nowy moduł zbierający dane. Bardzo ważne należy pamiętać by dodać wpis w dzienniku zdarzeń inaczej dane nie będą wysyłane do loga a tym samym nie będzie podstawy do uruchomienia alarmu.

Drugie wchodzimy w Harmonogram Zadań i ustawiamy tu wyzwalacz - jest to ważne ze względu na to że nawet jeżeli proces się zawiesi lub coś go wyłączy o wskazanej porze zostanie on ponownie włączony ja ustawiłem ten parametr by włączał się każdego dnia o godzinie 6.00 czyli przed rozpoczęciem pracy.

Trzeci krok wchodzimy w logi i przypisujemy do logu z alarmem działanie - w naszym przypadku uruchomienie zewnętrznej aplikacji z napisanym skryptem w VB.

Teraz restartujemy usługę i powiadamiacz dyskowy zaczyna działać. Jeszcze drobne dopasowanie preferencji czyli ustawienie czasu próbkowania oraz poziomu alarmu. Poziom ten ustawiamy w % lub w bajtach.

To jest użyty w tym przypadku skrypt

Set objMail = CreateObject("CDO.Message")
Set objConf = CreateObject("CDO.Configuration")
Set objFlds = objConf.Fields
objFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 'port do wysylania
objFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail.b1s.eu" 'SMTP
objFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587 'e-mail port
'Odkomentowac dla SMTP
'objFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "awaria"
'objFlds.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxxxxx"
'objFlds.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'cdoBasic
objFlds.Update
objMail.Configuration = objConf
'objMail.FromName = "ja"
objMail.From = "Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра."
objMail.To = Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.
objMail.Subject = "Dysk przepelniony na serwerze pocztowym!!!"
objMail.TextBody = "Dysk przepelniony zasoby dysku się wyczerpuja. Ilosc wolnego miejsca na dysku spadla ponizej 15%"
objMail.Send
Set objFlds = Nothing
Set objConf = Nothing
Set objMail = Nothing

 

Dodatkowe uwagi na potrzeby powiadamiania skonfigurowałem serwer pocztowy który wysyła wiadomości.

 

Testy - jak sprawdzić poprawność działania skryptu i konfiguracji. 

Najprościej to przepełnić dysk można zrobić to w prosty sposób generując plik o zadanym rozmiarze.

Przykład polecenia - 

fsutil  file createnew  test.txt 524288000
Po uruchomieniu tego polecenia dostaniemy plik o rozmiarze 500 MB

W harmonogramie zadań zobaczymy utworzona zadanie Powiadomienie e-mail

Sprawdzenie czasu pracy systemu

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна

Aby dowiedzieć się ile czasu upłynęło od ostatniego restartu Windows Serwer należy uruchomić polecenie systeminfo.exe.

Uruchamiając to polecenie dostajemy pełną informację o systemie.

W celu większej czytelności uruchamiamy to polecenie z opcja "more"

systeminfo.exe |more

lub możemy ją uruchomić z parametrem "find"

systeminfo.exe | find "Czas pracy systemu"

lub jeżeli chcemy sprawdzić datę instalacji  systemu wprowadzamy polecenie


systeminfo.exe | find "Data oryginalnej instalacji"

 

 

Błąd podczas aktywacji

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна

Problem z aktywacją klucza do Windows 2008 Server lub Windowsa 8.

Przy próbie aktywacji wyskakuje błąd 0x8007232B i nie można aktywować systemu.

0x80092328 Nazwa DNS nie istnieje.

Ten problem może występować, jeśli klient usługi zarządzania kluczami nie może odnaleźć rekordów zasobów SRV tej usługi w usłudze DNS.

 

Uruchom wiersz poleceń cmd z uprawnieniami administratora (Command Prompt – Admin).

 W wierszu poleceń wpisujemy polecenie:
slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
gdzie ciąg znaków xxx to twój klucz, którym chcesz aktywować Windowsa.

Potwierdzamy wpisaną opcję Enterem.
 Czekamy chwilę i sprawdź w Action Center czy aktywacja się udała.

Problem może być spowodowany brakiem wpisania klucza do systemu Windows 2008 Server

Drugi sposób wchodzimy w Panel Sterowania -> System -> W dolnym prawym rogu wciskamy zmień klucz produktu. Wyskoczy okno w które wpisujemy poprawny klucz Systemu Windows.

Search