sobota, 05 lipca 2008 
Start arrow OpenBSD arrow STATYSTYKI I WYKRESY arrow MRTG
Menu BSD4u
FreeBSD
OpenBSD
NetBSD
Dla *BSD
FAQ BSD4u
Forum BSDGuru.org
Security Advisory
Licencje
Images BSD
Menu ogólne
Start
Aktualności
Download
Sondy
Szukaj
Linki
Książki
About BSD4u
Info
Team BSD4u
Regulamin
Kanał #BSD4u
Kontakt
Sondy
Co sądzisz o naszym nowym Projekcie, i jak oceniasz zmianę koncepcji Projektu?
 
Popularne
Kompilacja i konfigu...
SQUID - najpopularni...
Neostrada+ i modem ...
NATowanie czyli jak ...
Upgrade systemu
Samba - serwer plikó...
Apache (konfiguracja...
Praktyczne IPFW
MRTG - statystyki ru...
CVSup - pomocny podc...
Neostrada na modemie...
Postfix z autoryzacj...
System Portów (Kolek...
Postfix - bezpieczny...
Dummynet - dzielenie...
Top Download
File icon Postfix - "Krok po kroku" v1.06529
File icon Postfix - "Krok po kroku" v1.16155
File icon PPTPd - "Prosty i szybki VPN" v1.0b4861
File icon sdi.sh3830
File icon uEagle 1.0p12958
File icon named.sh2901
File icon uEagle 0.99b2861
File icon cs.sh2774
File icon uEagle 1.02751
File icon uEagle 1.12553
Ostatnie komentarze
transparent a virus...
Dodał: grzywka18
Dnia: 2008-05-13 11:19:58
hmm
Dodał: dzibi
Dnia: 2007-12-12 10:01:14
Bez tytułu
Dodał: grzywka18
Dnia: 2007-12-11 17:46:06
Bez tytułu
Dodał: termid
Dnia: 2007-05-09 18:01:11
Bez tytułu
Dodał: sarelo33
Dnia: 2006-12-30 23:50:14
Jest ok ale..
Dodał: theviant
Dnia: 2006-11-16 08:10:05
Google

Google


Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..




Statystyki MRTG na OpenBSD Drukuj E-mail
Oceny: / 9
KiepskiBardzo dobry 
czwartek, 16 lutego 2006 - Napisał: Karol Gogiel (8136 odsłon)

"MRTG (Multi Router Traffic Grapher) jest narzędziem służącym do monitorowania i wizualizacji niemalże dowolnych wielkości związanych z działaniem systemu komputerowego, począwszy od ruchu sieciowego (do analizy którego został zaprojektowany i którym się zajmiemy), poprzez obciążenie procesora, pamięci, zajętość dysku i wiele, wiele innych. Istnieje możliwość dostarczenie dowolnych wielkości, o ile je tylko dostarczymy w zjadliwym przez MRTG formacie. MRTG generuje stronę HTML zawierającą wykresy w formacie .png, które dostarczają na żywo graficzne wykresy ruchu jaki odbywa się na naszych interfejsach. Używa on w dużej mierze przenośnej implementacji SNMP napisanej w całości w Perlu, dlatego też  potrzebujemy jakiejkolwiek zewnętrznej paczki SNMP."

Pozwoliłem sobie zacytować fragment artykułu autorstwa Artura Kulda, który znajduje się TU.

W artykule opiszę proces instalacji i konfiguracji SNMPD, oraz MRTG (na przykładzie miernika sieci oraz obciążenia procesora).

Przy pisaniu artykułu korzystałem z:

  • OpenBSD 3.8 (GENERIC)
  • NET-SNMP version: 5.1.3
  • mrtg-2.12.2

SNMPD

Najpierw zainstalujmy pakiet net-SNMP (Simple Network Managment Protocol).
Przechodzimy więc do portu Net-SNMP, który to zainstalujemy:

# cd /usr/ports/net/net-snmp/ && make install clean

W zależności od mocy naszej maszyny, instalacja może trochę potrwać :). Pod udanej instalacji otrzymujemy poradę od autorów, co należy wpisać w /etc/rc.local, aby monitor SNMP uruchamiał się razem z systemem:

To have snmpd start at boot time, you must edit /etc/snmp/snmpd.conf
and uncomment the following in /etc/rc.local.

#if [ -x /usr/local/sbin/snmpd ]; then
# echo -n ' snmpd'; /usr/local/sbin/snmpd
#fi

This will start snmpd and use /etc/snmp/snmpd.conf for the configuration.
The snmpconf tool can be used to help edit your configuration files. See
snmpconf(1), snmpd(8), and snmpd.conf(5) for more options.

Chyba nie muszę tłumaczyć tego dla użytkowników OpenBSD :). Gdy już wyedytujemy rc.local, czas na konfigurację samego SNMP. W tym celu posłużymy się skryptem przygotowanym przez autorów.

# /usr/local/bin/snmpconf -i -g basic_setup

Pomoże nam to utworzyć standardową konfigurację SNMPd. A więc do rzeczy. Odpalamy snmpconf:

The following installed configuration files were found:

1: /etc/snmp/snmpd.conf

Would you like me to read them in? Their content will be merged with the
output files created by this session.

Valid answer examples: "all", "none","3","1,2,5"

Read in which (default = all): all, lub po prostu sam [ENTER]

Skrypt pyta nas, który plik z konfigiem chcemy edytować (wybieramy ten podstawowy). Teraz dostajemy pytanie, czy chcemy utworzyć podstawowe informacje o systemie. Domyślnie jest 'y' (chcemy). Wciskamy więc ENTER i je podajemy.

The location of the system: Serwerownia
The contact information:

Teraz skrypt pyta nas, czy chcemy ustawić wartość identyfikatora sysServices.0. Tak, chcemy... Wklepujemy więc ENTER przy pytaniu:

Do you want to properly set the value of the sysServices.0 OID (if you don't know, just say no)? (default = y):

Następnie podajemy za pomoc? '0' i '1' dalsze dane. (0 - oznacza 'n', czyli NO, '1' - 'y',czyli YES). Wybieramy '0' przy pytaniach:

does this host offer physical services (eg, like a repeater) [answer 0 or 1]: 0
does this host offer datalink/subnetwork services (eg, like a bridge): 0

Chyba, że serwer z uruchomionym SNMPd robi za jaki? mostek lub 'repeater'.
Nastepnie podajemy wartość '1' przy pytaniach:

does this host offer internet services (eg, supports IP): 1
does this host offer end-to-end services (eg, supports TCP): 1
does this host offer application services (eg, supports SMTP): 1

Teraz będziemy ustawiać ważny aspekt konfiguracji, jakim jest dostęp i co za tym idzie bezpieczeństwo serwera. SNMPd może odbierać zapytania (i na nie odpowiadać) z różnych adresów sieciowych.
Nam zależy tylko, aby demon komunikował się tylko z nami na 'localhoście'. W zabezpieczaniu dużą rolę odgrywa 'społeczność'. Jest to swoisty login dostępowy do zapytań SNMPd. Domyślne wartości 'private' i 'public' s? znane szerokiej rzeszy doświadczonych użytkowników systemów, a co za tym idzie, każdy taki osobnik będzie mógł potem "odpytywać" nasz serwer. Nazwa społeczności powinna być unikalna i trudna do odgadnięcia przez potencjalnego "użyszkodnika". Ja, na potrzeby artykułu wymyśliłem nazwę społeczności: MisieWCiapki. Z pomocą tej społeczności będziemy później odpytywać SNMPd, i ustawimy MRTG. Skonfigurujemy również nasze SNMPd, aby pracowało w trybie "tylko odczyt".

Do you want to configure the agent's access control? (default = y):

Na powyższe pytanie odpowiadamy więc twierdząco. Następnie jesteśmy pytani o sposób dostępu do protokołu SNMPv3. Nie jest on nam potrzebny, jak i protokół SNMPv1/v2c w trybie odczyt/zapis.
Odpowiadamy więc przecząco na poniższe pytania:

Do you want to allow SNMPv3 read-write user based access (default = y): n
Do you want to allow SNMPv3 read-only user based access (default = y): n
Do you want to allow SNMPv1/v2c read-write community access (default = y): n

Następnie jesteśmy pytani czy chcemy aby SNMPv1/2c pracowało w trybie 'tylko odczyt'. Odpowiadamy twierdząco, a następnie ustawiamy społeczność i host:

Do you want to allow SNMPv1/v2c read-only community access (default = y): y

Configuring: rocommunity
Description:
a SNMPv1/SNMPv2c read-only access community name
arguments: community [default|hostname|network/bits] [oid]

The community name to add read-only access for: MisieWCiapki
The hostname or network address to accept this community name from [RETURN for all]: localhost
The OID that this community should be restricted to [RETURN for no-restriction]:[WCISKAMY ENTER]

Finished Output: rocommunity MisieWCiapki localhost

Jeżeli nie mamy zamiaru dodawać innej społeczności to w poniższym pytaniu odpowiadamy przecząco.

Do another rocommunity line? (default = y):n

Następnie jesteśmy pytani, czy chcemy używać "pułapki". Służy ona do wysyłania danych do innego komputera, w przypadku gdy pozycje MIB zostaną wyzerowane. Nie jest to nam potrzebne, więc odpowiadamy przecząco:

Do you want to configure where and if the agent will send traps? (default = y):n

Dobrnęliśmy już do sekcji, która opisuje co mamy monitorować. Chcemy monitorować np wolne miejsce na dysku, odpowiadamy więc twierdząco na poniższe pytanie:

Do you want to configure the agent's ability to monitor various aspects of your system? (default = y):y

Nie chcemy jednak (póki co) monitorować procesów, więc odpowiadamy 'n' na pytanie:

Do you want to configure the agents ability to monitor processes? (default = y): n

Teraz dostajemy pytanie, czy chcemy monitorować dyski. Tak, chcemy:

Do you want to configure the agents ability to monitor disk space? (default = y):y

Przechodzimy do sekcji dodawania informacji o dyskach (partycjach). Ja dla przykładu dodam tylko /home, ale Wy możecie dodać wszystkie. Opcja MIN oznacza, ile może być minimalnie wolnego miejsca, zanim użytkownik zostanie ostrzeżony.

Configuring: disk
Description:
Check for disk space usage of a partition.
The agent can check the amount of available disk space, and make
sure it is above a set limit.

disk PATH [MIN=100000]

PATH: mount path to the disk in question.
MIN: Disks with space below this value will have the Mib's errorFlag set.
Can be a raw byte value or a percentage followed by the %
symbol. Default value = 100000.

The results are reported in the dskTable section of the UCD-SNMP-MIB tree

Enter the mount point for the disk partion to be checked on: /home
Enter the minimum amount of space that should be available on /home: 5%

Finished Output: disk /home 5%
Do another disk line? (default = y): n

Na koniec jesteśmy pytani, czy chcemy monitorować średnie obciążenie i rozmiar plików. Na początek się obejdziemy bez tego:

Do you want to configure the agents ability to monitor load average? (default = y): n
Do you want to configure the agents ability to monitor file sizes? (default = y): n

I to by było tyle na początek naszej przygody z SNMP. Otrzymujemy informację:

The following files were created:

snmpd.conf installed in /usr/local/share/snmp


Następnie kopiujemy sobie ten konfig na miejsce domyślnego (pamiętając o zrobieniu kopii).

# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
# cp /usr/local/share/snmp/snmpd.conf /etc/snmp/snmpd.conf

Jeżeli mamy już uruchomiony SNMPD, przeładowujemy go, lub uruchamiamy od nowa. Najwygodniej jest podczas uruchamiania SNMPD wskazywać na plik z konfiguracją:

/usr/local/sbin/snmpd -c /etc/snmp/snmpd.conf

(Jeżeli wybierzesz ten sposób, to pamiętaj o dodaniu ścieżki do konfiga w rc.local). Czas na testy. Gdy upewnimy sie, że SNMPD działa, wydajemy polecenie:

# snmpwalk -v 1 -c MisieWCiapki localhost .1.3.6.1.4.1.2021.11.9.0
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 0


Powinniśmy otrzymać wartość (w procentach) czasu, jaki zużywa nasz CPU na wykonywanie programów użytkownika. Listę wszystkich wartości można otrzymać, kierując wynik snmpwalk do jakiegoś pliku:

# snmpwalk -v 1 -c MisieWCiapki localhost > wynik.txt

Przydatnym programem jest też snmptranslate, który wyświetla wiele przydatnych informacji dotyczących poszczególnych pozycji MIB (dla wnikliwych polecam dokumentację).
Instalację i konfigurację SNMPD możemy uznać za zakończoną.  Teraz zajmiemy się..

MRTG

Przechodzimy do portu z MRTG i go instalujemy:

# cd /usr/ports/net/mrtg && make install clean

Następnie, gdy już mamy MRTG na pokładzie, tworzymy plik konfiguracyjny. Pamiętajmy, by zmienić nazwę domyślnemu plikowi w /etc:

# cp /etc/mrtg.cfg /etc/mrtg.cfg.bak
# cfgmaker MisieWCiapki@localhost > /etc/mrtg.cfg

Edytujemy teraz nasz plik konfiguracyjny:

/etc/mrtg.cfg

# Podajemy ścieżkę do pliku, w którym będziemy zapisywać info

WorkDir: /home/karol/public_html/mrtg

#Poniżej mamy trochę informacji o naszym systemie
#Domyślnie mamy konfiguracje interfejsów sieciowych
#Odhashujmy te, które chcemy monitorować
#Ja podałem tylko przykład dla głownego interfejsu
#Pamiętajcie, aby w konfigu podać własne IP i własny interfejs sieciówki
#

### Interface 2 >> Descr: 'rl0' | Name: '' | Ip: '212.33.82.196' | Eth: '00-0c-xx-xx-xx-xx' ###
### The following interface is commented out because:
### * has a speed of 0 which makes no sense

Target[siec]: 2:MisieWCiapki@localhost:
SetEnv[siec]: MRTG_INT_IP="212.33.82.196" MRTG_INT_DESCR="rl0"
MaxBytes[siec]: 1250000
Title[siec]: SatanBSD.org (inet)
PageTop[siec]: <h1>SatanBSD.org (inet)</h1>
<table>
<tr><td>System:</td> <td>SatanBSD.org (inet)</td></tr>
<tr><td>Description:</td><td>rl0 </td></tr>
<tr><td>Max Speed:</td> <td>100.0 Mbits/s</td></tr>
<tr><td>Ip:</td> <td>212.33.82.196 (SatanBSD.org)</td></tr>
</table>

#
#A to przykładowy konfig wyświetlający info o zużyciu CPU
#

Title[cpu]: SatanBSD.org - Zużycie CPU
YLegend[cpu]: Zużycie CPU
WithPeak[cpu]:wmy
MaxBytes[cpu]:100
Target[cpu]:.1.3.6.1.4.1.2021.11.9.0&.1.3.6.1.4.1.2021.11.10.0:MisieWCiapki@localhost
ShortLegend[cpu]:CPU
LegendI[cpu]: CPU użytkowników
LegendO[cpu]: CPU systemowe
Legend1[cpu]: Zużycie procesora (użytkownicy)
Legend2[cpu]: Zużycie procesora (system)
Legend3[cpu]: Max. 5 min. zużycie procesora (użytkownicy)
Legend4[cpu]: Max. 5 min. Zużycie procesora (system)
Options[cpu]: growright, gauge
PageTop[cpu]: <h1>Zużycie CPU na SatanBSD.org</h1>

Zapisujemy plik i sprawdzamy efekt naszej pracy:

# /usr/local/bin/mrtg /etc/mrtg.cfg

Na początku możemy dostać komunikat w stylu:

Rateup WARNING: /usr/local/bin/rateup could not read the primary log file for cpu

Po prostu nie było jeszcze żadnych zapisanych wyników. Po parokrotnym wywołaniu mrtg, ostrzeżenia powinny zniknąć.

Możemy również wygenerować stronę indeksów naszych statystyk:

# /usr/local/bin/indexmaker /etc/mrtg.cfg > /home/karol/public_html/mrtg/index.html

Potem wystarczy wejść na stronę WWW i zobaczyć wynik.

Na samym końcu dodajemy wpis do crona, który uruchomi MRTG co 5 min:

*/5 * * * * /usr/local/bin/mrtg /etc/mrtg.cfg

I to by było chyba na tyle...

Dodatek:
Stąd można pobrać skrypt, który wypisze nam w postaci listy wszystkie pozycje MIB do pliku *.html (lub innego po modyfikacji), oraz je opiszę.
(Opis użycia w środku skryptu).

Przydatne linki:
Artykuł o MRTG (Artur Kulda)
MRTG + IPFW (Krzysztof Różycki)
Strona projketu Net-SNMP
Strona projektu MRTG
SNMP for the public community


Autor: Karol 'lofix' Gogiel

Powyższy artykuł został udostępniony na zasadach Licencji BSD

Komentarze:

Tylko zarejestrowani użytkownicy mogą pisać komentarze.
Prosze zaloguj się i dodaj komentarz.

Powered by AkoComment!

Ostatnio aktualizowany ( czwartek, 16 lutego 2006 )

Ciekawostki
Jeśli chcesz słuchać płyt audio z FreeBSD, zawarto już narzędzie które Tobie to umożliwi. Wpisz 'cdcontrol' później 'help' by dowiedzieć się więcej. (Może będziesz musiał ustawić zmienną środowiskową CDROM, by poprawnie uruchomić cdcontrol).
Pobierz
FreeBSD
OpenBSD
NetBSD
DragonFlyBSD
PC-BSD
FreeSBIE LiveCD
4.4BSD Lite
Reklama M3M.pl
Domeny
Książki

FreeBSD. Księga eksperta

FreeBSD. Księga eksperta

Cena: 125.00 zł
Dodaj do koszyka


FreeBSD. Podstawy administracji systemem

FreebBSD

Cena: 64.90 zł
Dodaj do koszyka


OpenBSD. Podstawy administracji systemem

OpenBSD

Cena: 84.90 zł
Dodaj do koszyka


OpenBSD. Tworzenie firewalla za pomocą PF

Firewall PF

Cena: 44.90 zł
Dodaj do koszyka

Licznik odwiedzin
Odwiedziło już nas
2278321
Internautów od lutego 2003

Korzystamy ze statysyk