README
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:3k
源码类别:

SNMP编程

开发平台:

C/C++

  1. PREREQUISITES:
  2. - Linux operating system ( I am using RedHat 6.2 );
  3.         - MRTG version ( I used 2.8.8 version );
  4. - SHELL scripting language;
  5. - AWK scripting language;
  6. - FPING utility ( I used 2.2b1 );
  7. - CRON daemon installed;
  8. - TCP/IP Network connection {:-)
  9. net-hosts
  10.         I use this script to monitor internet connection state
  11.         on a chosen route (from traceroute). Usage is very simple:
  12.         - Put in your crontab file a line which have to be run
  13. every five (5) minute or any other time interval you want
  14. (but you have to edit, according with this new value,
  15. 'make-mrtg.cfg.awk' file). I am using Linux RedHat 6.2
  16. and in my /etc/cron.d I put a file named 'net-hosts' with
  17. the following structure:
  18. ##################################
  19. # /etc/cron.d/net-hosts -rw-r--r--
  20. #
  21. */05 * * * * root /usr/local/mrtg/contrib/net-hosts/net-hosts
  22. #
  23. # EOF
  24. ##################################
  25. - Restart your cron daemon... and wait
  26.         To install, first edit the variables from both 'make-mrtg.cfg.awk'
  27. and 'net-hosts files' as needed. I found it easier to have these defined
  28. rather than hardcoded due to differences between code interpretations.
  29. You don't have to insert any other target in your own mrtg.cfg
  30. file that you already have, because this script is launced by
  31. the cron daemon.
  32. internet
  33. This is the file which keep the IPs, FQDNs, dates and states
  34. for hosts you want to monitor. The format of this file is:
  35. <IP_1>:<FQDN_1>:<LAST-MODIFIED_1>:<STATE_1>
  36. <IP_2>:<FQDN_2>:<LAST-MODIFIED_2>:<STATE_2>
  37. <IP_3>:<FQDN_3>:<LAST-MODIFIED_3>:<STATE_3>
  38. .
  39. .
  40. .
  41. where:
  42.  - IP_xxx is IP address (IPv4) for host xxx
  43.  - FQDN_xxx is Fully Qualified Domain Name of host xxx
  44.  - LAST-MODIFIED_1 is the date when the state of host xxx was last modified
  45.  - STATE_1 is the current state of host xxx (1 = UP; 0 = DOWN)
  46. First time you create this file you just need IPs and  FQDNs,
  47. blank dates and 1 (or 0) for the state of every hosts, like this:
  48.  aaa.aaa.aaa.aaa:your.router.name::1
  49.  bbb.bbb.bbb.bbb:yourISP.router.name::1
  50.  .
  51.  .
  52.  .
  53.  zzz.zzz.zzz.zzz:that.host.name::1
  54. HINT: You could have an ordered list using traceroute and
  55. awk (or any other shell-script).
  56. The file 'internet' shipped with this package it is
  57. a demo.
  58. make-mrtg.cfg.awk
  59. This is the core of the entire task. Here I make 'mrtg-awk.cfg'
  60. file using the content of 'internet' file and the state read
  61. from fping utility (Fast Ping - it was not written by me...).
  62. After doing this, internaly is lauched 'mrtg' executable
  63. for net-hosts's mrtg.cfg file (named 'mrtg-awk.cfg').
  64. Of course, it is created a file, 'internet.html', used
  65. like an index file for the all targets in 'mrtg-awk.cfg',
  66. but you could use 'indexmaker' script provided with MRTG
  67. for doing this (see an example in 'net-hosts').
  68. Be aware ! You have to place icons (MRTG) and image files
  69. (grnball.gif, redball.gif, cubprev.gif) in the same
  70. location. You also have to place 'net-hosts.css' into declared
  71. location inside that AWK script file.
  72. ----------
  73.         Direct questions or suggestions to me.
  74.         Have fun!
  75.         -Adrian Turcu <adrianturcu@yahoo.com>