summaryrefslogtreecommitdiff
path: root/kpov_judge/tasks/snmp_agent_uptime/howtos/en/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'kpov_judge/tasks/snmp_agent_uptime/howtos/en/index.html')
-rw-r--r--kpov_judge/tasks/snmp_agent_uptime/howtos/en/index.html319
1 files changed, 0 insertions, 319 deletions
diff --git a/kpov_judge/tasks/snmp_agent_uptime/howtos/en/index.html b/kpov_judge/tasks/snmp_agent_uptime/howtos/en/index.html
deleted file mode 100644
index bef6792..0000000
--- a/kpov_judge/tasks/snmp_agent_uptime/howtos/en/index.html
+++ /dev/null
@@ -1,319 +0,0 @@
-<html>
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>snmp_agent_uptime</title>
- </head>
- <body>
- <h1>snmp_agent_uptime</h1>
- <h2>Quick instructions</h2>
- <p>
- Set up three virtual computers, SimpleArbiter with the disk image
- simpleArbiterDhcp, SNMPServer and SNMPClient. Write a program
- called upminutes. This program should output the uptime of the
- computer in minutes. Set it up on SNMPClient in the home directory
- of the user test with the password test.
- </p>
- <p>
- Make sure that the SNMP server reports it's uptime in seconds
- over SNMP under NET-SNMP-EXTEND-MIB::nsExtendOutput2Table.
- </p>
- <p>
- Write a script called beri.sh that reads the value from the
- OID 1.3.6.1.4.1.8072.1.3.2.4.1.2 on SNMPServer. Set it up on
- SNMPClient in the home directory of the user test.
- </p>
- <h2>Instructions</h2>
- <h3>Set up of VM VirtualBox</h3>
- <ol>
- <li>
- Download the following virtual images (*.vid) from the directory
- with images of virtual computers:
- <ol type="disc">
- <li>
- simpleArbiterDhcp.vdi
- </li>
- <li>
- some-bash-console.vdi – twice, one for SNMPServer
- and second for SNMPClient
- </li>
- </ol>
- </li>
- <li>
- VM VirtualBox WARNING! If you want to use one same virtual image
- (some-bash-console.vdi) for two virtual computers
- (SNMPServer and SNMPClient), you must <strong>change UUID</strong>
- of one image.
- <ol type="disc">
- <li>
- Use this command
- <i>vboxmanage internalcommands sethduuid name-of-disk.vdi</i>
- to change UUID (<a href="http://www.giannistsakiris.com/2009/05/06/virtualbox-how-to-change-the-uuid-of-virtual-disk-vdi/">hint</a>).
- </li>
- </ol>
- </li>
- <li>
- Final view of sets VM VirtualBox machines.<br>
- <img src="../images/01.png" alt="VM VirtualBox machines" width="800">
- </li>
- </ol>
-
- <h3>Set up of SNMPServer machine</h3>
- <ol>
- <li>
- setup network as “Bridged Adapter” -> Machine-> Settings ->Network
-
- Install snmpd and snmp packages and tools for inspecting the
- data available over SNMP.
- <ol type="disc">
- <li>
- command <i>apt-get install snmpd snmp snmp-mibs-downloader</i>
- </li>
- </ol>
- <li>
- RECOMMENDATION! Before doing any changes to your /etc/snmp/snmpd.conf
- file take a copy of original file.
- <ol type="disc">
- <li>
- command <i>cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig</i>
- </li>
- </ol>
- </li>
- <li>
- Set up the snmp server to allow all other computers to access it = edit
- snmpd.conf file.
- <ol type="disc">
- <li>
- command <i>nano /etc/snmp/snmpd.conf</i>
- (you can use different editor)
- </li>
- <li>
- Check this 4 rows and make sure they look like this:<br>
- <i># Listen for connections from the local system only<br>
- # agentAddress udp:127.0.0.1:161<br>
- # Listen for connections on all interfaces (both IPv4 *and* IPv6)<br>
- agentAddress udp:161,udp6:[::1]:161</i>
- </li>
- </ol>
- </li>
- <li>
- Add a group (community) of computers we deem to be worthy of
- accessing all data. This group will be called students = again edit
- snmpd.conf file.
- <ol type="disc">
- <li>
- rocommunity students 0.0.0.0/0
- </li>
- <li>
- change 0.0.0.0./0 into correct address <i>ifconfig -a</i>
- </li>
- </ol>
- </li>
- <li>
- OPTIONAL CONFIGURATION. Lower in the same file you can set the
- location of the computer snmpd is running on and the name
- of the administrator.
- <ol type="disc">
- <li>
- find under # SYSTEM INFORMATION
- </li>
- </ol>
- </li>
- <li>
- Make sure that the SNMP server reports it's uptime in seconds
- over SNMP under NET-SNMP-EXTEND-MIB::nsExtendOutput2Table.
- <ol type="disc">
- <li>
- create script upseconds containing this and save it where
- you want:<br>
- <i>#!/bin/bash<br>
- uptime=$(&lt;/proc/uptime)<br>
- seconds=${uptime%%.*}<br>
- echo "Uptime in seconds:" $seconds<br>
- exit 0</i>
- </li>
- <li>
- don't forget to make the script runnable:<br>
- command <i>chmod +x /your_path_to_script/upseconds</i>
- </li>
- <li>
- Then edit file <i>snmpd.conf</i> and under # EXTENDING THE AGENT
- comment all three tests and add your line of your code
- with upsecond script. It will look like this:<br>
- <i># extend test1 /bin/echo Hello, world!<br>
- # extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35<br>
- # extend-sh test3 /bin/sh /tmp/shtest<br>
- extend-sh "your_name" "your_path_to_script_upseconds"
- </i>
- </li>
- </ol>
- </li>
- <li>
- You need to restart the snmp services.
- <ol type="disc">
- <li>
- command <i>/etc/init.d/snmpd restart</i>
- </li>
- </ol>
- </li>
- <li>
- You can test your configuration through localhost.
- <ol type="disc">
- <li>
- command <i>snmpwalk localhost -c public -v1</i>
- </li>
- </ol>
- </li>
- <li>
- Also test the correct return of server's uptime in seconds SNMP under
- NET-SNMP-EXTEND-MIB::nsExtendOutput2Table.
- <ol type="disc">
- <li>
- command <i>snmpwalk -c students -v1 IPaddressOfServer
- 1.3.6.1.4.1.8072.1.3.2.4.1.2</i>
- </li>
- <li>
- you should get string: "Uptime in seconds: xyz"
- </li>
- </ol>
- </li>
- </ol>
-
- <h3>Set up of SNMPClient machine</h3>
- <ol>
- <li>
- Install snmpd and snmp packages.
- <ol type="disc">
- <li>
- command <i>apt-get install snmpd snmp</i>
- </li>
- </ol>
- <li>
- RECOMMENDATION! Before doing any changes to your /etc/snmp/snmpd.conf
- file take a copy of original file.
- <ol type="disc">
- <li>
- command <i>cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig</i>
- </li>
- </ol>
- </li>
- <li>
- Set up the snmp client to allow all other computers to access it = edit
- snmpd.conf file.
- <ol type="disc">
- <li>
- command <i>nano /etc/snmp/snmpd.conf</i>
- (you can use different editor)
- </li>
- <li>
- (un)comment these four lines as below:<br>
- <i># Listen for connections from the local system only<br>
- # agentAddress udp:127.0.0.1:161<br>
- # Listen for connections on all interfaces (both IPv4 *and* IPv6)<br>
- agentAddress udp:161,udp6:[::1]:161</i>
- </li>
- </ol>
- </li>
- <li>
- Add a group (community) of computers we deem to be worthy of
- accessing all data. This group will be called students = again edit
- snmpd.conf file.
- <ol type="disc">
- <li>
- rocommunity students 0.0.0.0/0
- </li>
- <li>
- write correct network address = command <i>ifconfig -a</i>
- </li>
- </ol>
- </li>
- <li>
- OPTIONAL CONFIGURATION. Lower in the same file you can set the
- location of the computer snmpd is running on and the name
- of the administrator.
- <ol type="disc">
- <li>
- find under # SYSTEM INFORMATION
- </li>
- </ol>
- </li>
-
- <li>
- You need to restart the snmp services.
- <ol type="disc">
- <li>
- command <i>/etc/init.d/snmpd restart</i>
- </li>
- </ol>
- </li>
- <li>
- You can test your configuration through localhost.
- <ol type="disc">
- <li>
- command <i>snmpwalk localhost -c public -v1</i>
- </li>
- </ol>
- </li>
- <li>Create the user <i>test</i> with password <i>test</i>
- <ol type="disc">
- <li>
- command <i>adduser test</i>
- </li>
- </ol>
- </li>
- <li>Login as user <i>test</i> and create program <i>upminutes</i>
- in the home directory. This program should output the uptime of the
- computer in minutes.
- <ol type="disc">
- <li>
- command <i>nano upminutes</i> (you can use different editor)
- </li>
- <li>
- add the source code:<br>
- <i>#!/bin/bash<br>
- uptime=$(&lt;/proc/uptime)<br>
- uptime=${uptime%%.*}<br>
- minutes=$(( uptime / 60 ))<br>
- echo $minutes<br>
- exit 0</i>
- </li>
- <li>
- don't forget to make the program runnable:<br>
- command <i>chmod +x /home/test/upminutes</i>
- </li>
- <li>
- test the program (it should output the uptime of the
- computer in minutes)<br>
- command <i>/home/test/upminutes</i>
- </li>
- </ol>
- </li>
- <li><strong> As user <i>test</i> and create next script called
- <i>beri.sh</i> that reads the value from the OID
- 1.3.6.1.4.1.8072.1.3.2.4.1.2. on SNMPServer. Set it up on SNMPClient
- in the home directory of the user test.
- <ol type="disc">
- <li>
- command <i>nano beri.sh</i> (you can use different editor)
- </li>
- <li>
- add the source code:<br>
- <i>#!/bin/bash<br>
- snmpwalk -c students -v1 IPServerAddress 1.3.6.1.4.1.8072.1.3.2.4.1.2<br>
- exit 0</i>
- </li>
- <li>
- don't forget to make the program runnable:<br>
- command <i>chmod +x /home/test/upminutes</i>
- you can test it with <i>./beri.sh</i>
- </li>
- </ol>
- </li>
- </ol>
-
- <h3> Setting SimpleArbiter </h3>
- User: tester
- Password: test
-
- apt-get install libsnmp-python
- </body>
-</html>