Žilinská univerzita > Fakulta riadenia a informatiky > Katedra informačných sietí

MRTG - Multi Router Traffic Grapher



 

Inštalácia

Pre RedHat existujú priamo MRTG binárne balíčky, stiahnuteľné z internetu (ftp://ftp.redhat.sk). Po naištalovaní balíčka

napr. rpm -i mrtg-2.9.17-13.i386.rpm

Pri inštalácií z binárky sú do adresára /usr/bin nakopírované základné súbory mrtg, cfgmaker (vytváranie konfiguračných skriptov pre mrtg) a indexmaker (indexovanie výstupov z mrtg do html stránky). Ďalej je vytvorený adresár pre konfiguračné súbory (zvyčajne /etc/mrtg) a ešte zaujímavým adresárom môže byť /usr/share/doc/mrtg-2.9.17/contrib kde sa nachádzajú rôzne mrtg monitorovacie skripty.

Konfigurácia

Pre spúšťanie mrtg treba mať nastavené konfiguračné súbory, defaultne prázdny je vytvorený v

/etc/mrtg/mrtg.cfg

Pre komfortnejšie vytváranie .cfg súborov slúži aplikácia cfgmaker, pomocou ktorej môžeme rýchlo vytvárať vlastné konfig súbory.
Napr:

cfgmaker --global "WorkDir: /var/www/html/mrtg" --global "Options[_]: growright,bits" --ifref=eth public@localhost > /etc/mrtg/mrtg.localhost.cfg

ktorá pomocou SNMP bude monitorovať prevádzkový tok na localhoste. Výstup môže byť následovný mrtg.localhost.cfg súbor umiestnený v adresári /etc/mrtg (na localhoste ale musí bežať SNMP démon)

 

# Created by
# /usr/bin/cfgmaker --global 'WorkDir: /var/www/html/mrtg' --global 'Options[_]: growright,bits' --ifref=eth public@localhost

### Global Config Options

# for UNIX
# WorkDir: /home/http/mrtg

# or for NT
# WorkDir: c:\mrtgdata

### Global Defaults

# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits

WorkDir: /var/www/html/mrtg
Options[_]: growright,bits

######################################################################
# System: "net-mng server"
# Description: Linux etna.fri.utc.sk 2.4.20-8 #1 Thu Mar 13 16:42:56 EST 2003 i586
# Contact: "Pavol Segec"
# Location: 304
######################################################################

Target[etna_2]: 2:public@localhost:
SetEnv[etna_2]: MRTG_INT_IP="20.1.2.158.193.152.11" MRTG_INT_DESCR=""
MaxBytes[etna_2]: 1250000
Title[etna_2]: Traffic Analysis for 2 -- "net-mng server"
PageTop[etna_2]: < H1>Traffic Analysis for 2 -- "net-mng server"< /H1>

Kde výsledok monitorovania je TU:

V prípade, že nebudem používať na monitorovanie SNMP ale nejaký skript, je potrebné vytvoriť cfg súbor manuálne. Napr. pri monitorovaní prevádzky cez IP accounting rules podla monitorovacieho skriptu, ktorý je možné nájsť v /usr/share/doc/mrtg-2.9.17/contrib/iptables-accounting by časť konfigurácie mrtg.cfg súboru, ktorá pojednáva s daným perl scriptom mohla vypadať nsáledovne:

#######################
#eth1

Target[iptables]: `/etc/mrtg/scripts/iptables-accounting filter`
Title[iptables]: Sietova prevadzka
PageTop[iptables]: < H1>Sietova prevadzka< /H1>
MaxBytes[iptables]: 12500000
Options[iptables]: growright,bits

Kde výsledok monitorovania je TU:

Spúšťanie

Pre správnu činnosť mrtg je potrebné zabezpečiť jeho pravidelné spúšťanie (bude vykonávané pravidelné odčítavanie dát). Jednou z možností je spúšťanie mrtg cez cron-a. V takomto prípade treba v adresári pre RH 8.0 9.0 /etc/cron.d vytvoriť súbor (práva root 700), kde pre každý spúšťaný konfiguračný súbor (ak monitorujeme viac stanic z jednej, viac cfg súborov sprehľadnňuje riadenie) vložíme riadok ako napr:

*/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.stroj1.cfg --logging /var/log/mrtg1.log
....

*/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.strojx.cfg --logging /var/log/mrtgx.log

ktorý nám zabezpečí pravidelné spúšťanie mrtg každých 5 minút s konfig súborom v danom /etc/mrtg/ a s daným názvom. Komfortnejšia možnosť je popísaná na www.linuxzone.cz, ale mme (linux lamerovy) nefungovala.

Indexovanie

Dáta generované MRTG budú ukladané do adresára, ktorý je definovaný v konfiguračnom súbore v Global Options, napr.:

WorkDir: /var/www/html/mrtg/etna

Keďže v danom jednom mrtg.cfg môže byť monitorovaných viacero udalostí pre jednoduchší prístup k výsledkom monitorovania je možné si výstup sprehľadniť vo html súboru. Na tento účel slúži aplikácia indexmaker.

indexmaker --title="Etna net-mngmt server" /etc/mrtg/mrtg.etna.cfg > /var/www/html/mrtg/etna/index.etna.html

Príklady skriptov

Monitorovanie prevádzky::
V prípade, že na monitorovaných staniciach je rozbehané SNMP, potom je možné veľmi jednoducho vytvoriť monitorovací cfg súbor na monitorovania sieťovej prevádzky na danom servery. Napr.

cfgmaker --global "WorkDir: /var/www/html/mrtg" --global "Options[_]: growright,bits" public@localhost > /etc/mrtg/etna.cfg

týmto príkazom vytvoríme cgf súbor pomenovaný etna.cfg, ktorý bude umiestnený v adresáry /etc/mrtg/. Pracovný adresár kam bude MRTG generovať vystup je udany v options WorkDir, komunity string na prístup k SNMP bude public a monitorovaný stroj je localhost. V prípade, ak máme topológiu ako je uvedené v časti Topológia kde máme viacero strojov so SNMP doplnením vhodného komunity stringu a adresy počítača namiesto localhost, príkaz cfgmaker vygeneruje cfg na monitorovanie daného vzdialeného počítača.

Výsledný cfg bude vypadať následovne:
# Created by
# /usr/bin/cfgmaker --global 'WorkDir: /var/www/html/mrtg' --global 'Options[_]: growright,bits' public@localhost

### Global Config Options

# for UNIX
# WorkDir: /home/http/mrtg

# or for NT
# WorkDir: c:\mrtgdata

### Global Defaults

# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits

WorkDir: /var/www/html/mrtg
Options[_]: growright,bits

######################################################################
# System: "net-mng server"
# Description: Linux etna.fri.utc.sk 2.4.20-8 #1 Thu Mar 13 16:42:56 EST 2003 i586
# Contact: "Pavol Segec"
# Location: 304
######################################################################

### Interface 1 >> Descr: '' | Name: '' | Ip: '21.1.3.0.0.0.0' | Eth: '' ###
### The following interface is commented out because:
### * it is a Software Loopback interface
#
# Target[localhost_1]: 1:public@localhost:
# SetEnv[localhost_1]: MRTG_INT_IP="21.1.3.0.0.0.0" MRTG_INT_DESCR=""
# MaxBytes[localhost_1]: 1250000
# Title[localhost_1]: Traffic Analysis for 1 -- "net-mng server"
# PageTop[localhost_1]: < H1>Traffic Analysis for 1 -- "net-mng server"< /H1>
# < TABLE>
# < TR>< TD>System:< /TD> < TD>"net-mng server" in 304< /TD>< /TR>
# < TR>< TD>Maintainer:< /TD> < TD>"Pavol Segec"< /TD>< /TR>
# < TR>< TD>Description:< /TD>< TD> < /TD>< /TR>
# < TR>< TD>ifType:< /TD> < TD>softwareLoopback (24)< /TD>< /TR>
# < TR>< TD>ifName:< /TD> < TD>< /TD>< /TR>
# < TR>< TD>Max Speed:< /TD> < TD>10.0 Mbits/s< /TD>< /TR>
# < TR>< TD>Ip:< /TD> < TD>21.1.3.0.0.0.0 ()< /TD>< /TR>
# < /TABLE>

### Interface 2 >> Descr: '' | Name: '' | Ip: '20.1.2.158.193.152.11' | Eth: '00-40-95-09-6b-f6' ###

Target[localhost_2]: 2:public@localhost:
SetEnv[localhost_2]: MRTG_INT_IP="20.1.2.158.193.152.11" MRTG_INT_DESCR=""
MaxBytes[localhost_2]: 1250000
Title[localhost_2]: Traffic Analysis for 2 -- "net-mng server"
PageTop[localhost_2]: < H1>Traffic Analysis for 2 -- "net-mng server"< /H1>
< TABLE>
< TR>< TD>System:< /TD> < TD>"net-mng server" in 304< /TD>< /TR>
< TR>< TD>Maintainer:< /TD> < TD>"Pavol Segec"< /TD>< /TR>
< TR>< TD>Description:< /TD>< TD> < /TD>< /TR>
< TR>< TD>ifType:< /TD> < TD>ethernetCsmacd (6)< /TD>< /TR>
< TR>< TD>ifName:< /TD> < TD>< /TD>< /TR>
< TR>< TD>Max Speed:< /TD> < TD>10.0 Mbits/s< /TD>< /TR>
< TR>< TD>Ip:< /TD> < TD>20.1.2.158.193.152.11 ()< /TD>< /TR>
< /TABLE>

Vo výstupnom súbore veľka časť riadkov zakomentovaná (tieto interfejsy nie sú aktívne).

Výstup takéhoto monitorovania (po použití indexmaker) je TU.

Monitorovanie voľnej pamäte::

#########################
# Vyuzitie pamete

Target[etna_machine_mem]: .1.3.6.1.4.1.2021.4.6.0 & .1.3.6.1.4.1.2021.4.6.0:public@localhost
RouterUptime[etna_machine_mem]: public@localhost
MaxBytes[etna_machine_mem]: 63172608
kMG[etna_machine_mem]: k,M,G,T,P,X
Options[etna_machine_mem]: gauge,growright
ShortLegend[etna_machine_mem]:B
YLegend[etna_machine_mem]: RAM free
#Legend1[etna_machine_mem]: RAM free
LegendI[etna_machine_mem]: RAM free
LegendO[etna_machine_mem]:
Title[etna_machine_mem]: Volna RAM pamet servera
PageTop[etna_machine_mem]: < H1>Volna RAM pamet servera< /H1>

Výstup TU.

Monitorovanie celkovej veľnej pamäte, vrátane swp-u.::

##########################
# free mem

Target[etna_freemem]:.1.3.6.1.4.1.2021.4.11.0 & .1.3.6.1.4.1.2021.4.11.0:public@localhost
Options[etna_freemem]: nopercent,growright,gauge,noinfo
Title[etna_freemem]: Free Memory
PageTop[etna_freemem]: < H1>Celkova volna pamet< /H1>
MaxBytes[etna_freemem]: 63172608
kMG[etna_freemem]: k,M,G,T,P,X
YLegend[etna_freemem]: Bytes
ShortLegend[etna_freemem]: Bytes
LegendI[etna_freemem]: Celkova volna pamet
LegendO[etna_freemem]:
Legend1[etna_freemem]: Free memory, including swap, in bytes

Výstup TU.

Vyuzitie aktívnej CPU::

#CPU

LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt

Target[etna_CPU]:ssCpuRawUser.0& ssCpuRawUser.0:public@localhost + ssCpuRawSystem .0& ssCpuRawSystem.0:public@localhost + ssCpuRawNice.0& ssCpuRawNice.0:public@localhost
RouterUptime[etna_CPU]: public@localhost
MaxBytes[etna_CPU]: 100
Title[etna_CPU]: CPU LOAD
Unscaled[etna_CPU]: ymwd
ShortLegend[etna_CPU]: %
YLegend[etna_CPU]: CPU Utilization
Legend1[etna_CPU]: Active CPU in % (Load)
Legend2[etna_CPU]:
Legend3[etna_CPU]:
Legend4[etna_CPU]:
LegendI[etna_CPU]: Active
LegendO[etna_CPU]:
Options[etna_CPU]: growright,nopercent
PageTop[etna_CPU]: < H1>Vyuzitie CPU< /H1>

Výstup TU.

Zaujímavé linky

MRTG
Pekný článok o mrtg na linuxzone.cz

Linux - Zakázanie root login cez SSH

1. Predtým ako zakážeme root login si musíme vytvoriť nového používateľa (v prípade, že ho už nemáme vytvoreného)

 

- prihlásiť sa ako root

- do príkazového riadku napísať adduser meno_používateľa

- vyplniť všetky požadované údaje (heslo,meno,atď...)

 

2. V textovom editore si otvorte súbor /etc/ssh/sshd_config

Vyzerá takto

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile    %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes
 

Zmeny ktoré treba vykonať sú označené hrubým písmom.

Po odhlásení sa už nebude možné prihlásiť ako root iba ako obyčajný používateľ.

 

3. Pre následné získanie root-ovských práv do príkazového riadku zadajte príkaz

 

su root

 

po zadaní root hesla sa stanete root-om