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:
SNMPD
Najpierw zainstalujmy pakiet net-SNMP (Simple Network Managment
Protocol).
Przechodzimy wi�c do portu Net-SNMP i go instalujemy:
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.
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: Admin@serwera.pl
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):[ENTER]
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]: [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).
Je�eli mamy ju� uruchomiony SNMPD, prze�adowujemy go, lub uruchamiamy od nowa. Najwygodniej jest podczas uruchamiania SNMPD wskazywa� na plik z konfiguracj�:
(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:
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:
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:
Nast�pnie, gdy ju� mamy MRTG na pok�adzie, tworzymy plik konfiguracyjny. Pami�tajmy, by zmieni� nazw� domy�lnemu plikowi w /etc:
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:
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:
Potem wystarczy wej�� na stron� WWW i zobaczy� wynik.
Na samym ko�cu dodajemy wpis do crona, kt�ry uruchomi MRTG co 5 min:
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:
Oryginalny artyku� znajduje si� w serwisie BSD4U.
Autor: Karol 'lofix' Gogiel.
Powr�t na g�r� strony...