snmp_agent_uptime
Namen naloge
Hitra navodila
Naloga: Postavi tri navidezne racunalnike SimpleArbiter s sliko diska simpleArbiterDhcp,SNMPServer in
SNMPClient.
Napiši program upminutes, ki bo izpisal v minutah koliko casa je racunalnik vklopljen.
Postavi ga na SNMPClient v domači imenik uporabnika test z geslom test.
Poskrbi, da bo SNMP strežnik prek SNMP pod NET-SNMP-EXTEND-MIB::nsExtendOutput2Table sporocal, koliko casa je vklopljen v sekundah.
Napisi skripto, poimenovano beri.sh, ki prek SNMP prebere vrednost s strežnika
SNMPServer na OID 1.3.6.1.4.1.8072.1.3.2.4.1.4.
Postavi jo na SNMP klienta, v domači imenik uporabnika test z geslom test.
Navodila
Nastavitev VM VirtualBox-a
-
Prenesi sledee slike virtualk (*.vid) iz datoteke
z slikami virtualk raunalnikov:
-
simpleArbiterDhcp.vdi
-
neko-bash-konzolo.vdi (dvakrat), enkrat za SNMPServer
in drugič SNMPClient.
-
VM VirtualBox OPOZORILO! Ce hoces uporabljati isto sliko virtualke
(neko-bash-konzolo.vdi) za dva navidezna racunalnika
(SNMPServer in SNMPClient), moras spremeniti UUID
ene od slik.
-
Uporabi ta ukaz
vboxmanage internalcommands sethduuid ime-diska.vdi
za spreminjanje UUID (namig).
-
Primer VM VirtualBox-a po nastavitvi.
Nastavitev SNMPServer virtualke
-
Nasnemi snmpd and snmp orodja za pregledovanje
podatkov, ki so no voljo preko SNMP.
-
ukaz apt-get install snmpd snmp snmp-mibs-downloader
-
PRIPOROCILO! Preden spreminjate vaso datoteko /etc/snmp/snmpd.conf,
naredite kopijo originalne datoteke.
-
ukaz cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
-
Nastavi snmp streznik tako, da se bodo lahko nanj povezali drugi racunalniki
(popravi datoteko snmpd.conf).
-
ukaz nano /etc/snmp/snmpd.conf
(lahko uporabis drug urejevalnik besedila)
-
odkomentiraj sledece stiri vrstice:
# Listen for connections from the local system only
# agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
-
Dodaj skupino (community) racunalnikov, ki lahko dostopajo do vseh podatkov.
To skupino bomo poimenovali students (spet potrebno spremeniti datoteko)
snmpd.conf file.
-
rocommunity students 0.0.0.0/0
-
napisi pravilni naslov omrezja = ukaz ifconfig -a
-
DODATNA (NEOBVEZNA) KONFIGURACIJA. Nizje v isti datoteki lahko nastavis
lokacijo racunalnika, na katerem deluje snmp, ter ime administratorja.
-
poisci pod # SYSTEM INFORMATION
-
Poskrbi, da bo SNMP streznik prek SNMP pod NET-SNMP-EXTEND-MIB::nsExtendOutpucd
k t2Table sporocal, koliko casa je vklopljen v sekundah.
-
ustvari skripto upseconds, v kateri je zapisano sledece:
#!/bin/bash
uptime=$(</proc/uptime)
seconds=${uptime%%.*}
echo "Uptime in seconds:" $seconds
exit 0
skripto nato shrani kjerkoli hoces
-
ne pozabi skripti dodelti pravic, da jo lahko zaganjamo:
ukaz chmod +x /pot_do_skripte/upseconds
-
Nato uredi datoteko snmpd.conf in pod # EXTENDING THE AGENT
zakomentiraj vse tri teste ter dodaj svojo skripto upseconds.
Zgledati bi moralo nekako tako:
# extend test1 /bin/echo Hello, world!
# extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35
# extend-sh test3 /bin/sh /tmp/shtest
extend-sh "ime_testa" "pot_to_skripte_upseconds"
-
Potrebno je ponovno zagnati snmp storitev.
-
ukaz /etc/init.d/snmpd restart
-
Lahko testiras svoje nastavitve preko localhost-a.
-
ukaz snmpwalk localhost -c public -v1
-
Stestiraj tudi, ali SNMP vrne pravilni cas delovanja (uptime) v sekundah
pod NET-SNMP-EXTEND-MIB::nsExtendOutput2Table.
-
ukaz snmpwalk -c students -v1 IPnaslovStreznika
1.3.6.1.4.1.8072.1.3.2.4.1.2
-
moral bi vrniti taksen string: "Uptime in seconds: xyz"
Nastavitev SNMPClient virtualke
-
Nasnemi snmpd and snmp paketa.
-
ukaz apt-get install snmpd snmp
-
PRIPOROCILO! Preden spreminjate vaso datoteko /etc/snmp/snmpd.conf,
naredite kopijo originalne datoteke.
-
ukaz cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
-
Nastavi snmp streznik tako, da se bodo lahko nanj povezali drugi racunalniki
(popravi datoteko snmpd.conf).
-
ukaz nano /etc/snmp/snmpd.conf
(lahko uporabis drug urejevalnik besedila)
-
odkomentiraj sledece stiri vrstice:
# Listen for connections from the local system only
# agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
-
Dodaj skupino (community) racunalnikov, ki lahko dostopajo do vseh podatkov.
To skupino bomo poimenovali students (spet potrebno spremeniti datoteko)
snmpd.conf file.
-
rocommunity students 0.0.0.0/0
-
napisi pravilni naslov omrezja = ukaz ifconfig -a
-
DODATNA (NEOBVEZNA) KONFIGURACIJA. Nizje v isti datoteki lahko nastavis
lokacijo racunalnika, na katerem deluje snmp, ter ime administratorja.
-
poisci pod # SYSTEM INFORMATION
-
Potrebno je ponovno zagnati snmp storitev.
-
ukaz /etc/init.d/snmpd restart
-
Lahko testiras svoje nastavitve preko localhost-a.
-
ukaz snmpwalk localhost -c public -v1
- Ustvari uporabnika test z geslom test
-
ukaz adduser test
- Prijavi se kot uporabnik test ter naredi skripto upminutes
v domacem direktoriju. Ta skripta naj izpisuje cas delovanja racunalnika (uptime) v minutah.
-
ukaz nano upminutes (lahko uporabis drug urejevalnik besedila)
-
dodaj sledeco kodo:
#!/bin/bash
uptime=$(</proc/uptime)
uptime=${uptime%%.*}
minutes=$(( uptime / 60 ))
echo "Uptime in minutes:" $minutes
exit 0
-
ne pozabi skripti dodelti pravic, da jo lahko zaganjamo:
ukaz chmod +x /pot_do_skripte/upminutes
-
stestiraj skripto (izpisovati bi morala cas delovanja racunalnika (uptime) v minutah)
ukaz /home/test/upminutes
- Kot uporabnik test naredi se eno skripto beri.shm ki bere
vrednosti od OID 1.3.6.1.4.1.8072.1.3.2.4.1.4.
na SNMPServer. Shrani jo na SNMPClient v domac direktorij uporabnika test.
-
ukaz nano beri.sh (lahko uporabis drug urejevalnik besedila)
-
dodaj kodo:
#!/bin/bash
snmpwalk -c students -v1 IPnaslovStreznika 1.3.6.1.4.1.8072.1.3.2.4.1.4
exit 0
-
ne pozabi skripti dodelti pravic, da jo lahko zaganjamo:
ukaz chmod +x /pot_do_skripte/upminutes