TODO:
- HTML docs
- convert all docs to online docs/, possibly a Wiki
- create a FAQ
rrdtool / no tcp/cpu/mem graph error: in main apache error log (not vdom
error log): ERROR: unknown function 'LINE'
the reason for this error is that RRDTool needs to be up to 1.2.x
- architecture:
- investigate moving to RRD perl modules
- Net::SNMP
need a way to determine whether an SNMP connection is valid; possibly
just use timeouts (if a host has hit the timeout limit on checking the
uptime, then consider the SNMP object not available). This will be
good for updown = 'none' and others; might require moving to
Net::SNMP, after all the SNMP_Session.pm clearly states to use other
modules besides itself
- protocols:
- FTP
- HTTP
- HTTPS
- SSH
- NFS
- Custom
- need custom plugin architecture
- etc/graph-styles.conf
- possibly replace graph-colors.conf, or compliment to
- be able to specify any group, or host of graphs; even be able to
combine graphs if needed
- elaborate on display_graph() pages (graphs 2-x), lasts, mins, maxes,
- elaborate on all graphs
- set std height x width, standard x/y grid labels
- add in customizable thickness of lines, and connecting lines for the graphs
- possibly integrate CSS stylesheets, themes
- wireless plugin; graph all MAC addresses (traffic/power), will be able
to tell how often it has connected
- variable timeout option for updown (updown_timeout)
in the future:
- have a way to specify all interfaces (even ones that are down),
possibly ranges
- look into disk integer32 > 2TB limit for snmp ??
House keeping:
Remove the following directories:
remove dir unnoc/unnoc/unnoc/plugins/aironet
remove dir unnoc/unnoc/unnoc/plugins/apc/load
remove dir unnoc/unnoc/unnoc/plugins/apc/temp
remove dir unnoc/unnoc/unnoc/plugins/apc
remove dir unnoc/unnoc/unnoc/plugins/system-status
remove dir unnoc/unnoc/unnoc/plugins/throughput
remove dir unnoc/unnoc/unnoc/lib/throughput
remove dir unnoc/unnoc/examples/mrtg/aironet-1
remove dir unnoc/unnoc/examples/mrtg/airport-1
remove dir unnoc/unnoc/examples/mrtg/apc
remove dir unnoc/unnoc/examples/mrtg/environ1
remove dir unnoc/unnoc/examples/mrtg/netapp-1
Move the following files to the unnoc/unnoc/unnoc/plugins directory:
unnoc/unnoc/unnoc/bin/check-aironets.pl
unnoc/unnoc/unnoc/bin/check-airports.pl
unnoc/unnoc/unnoc/bin/check-apcs.pl
unnoc/unnoc/unnoc/bin/check-environ.pl
unnoc/unnoc/unnoc/bin/check-netapp.pl
Move these to unnoc/unnoc/unnoc/lib/plugins/wireless:
unnoc/unnoc/unnoc/lib/plugins/aironet.php
unnoc/unnoc/unnoc/lib/plugins/airport.php
Move these to unnoc/unnoc/archive/bin:
unnoc/unnoc/unnoc/bin/throughput.pl
DONE:
2007-05-22
- DNS checking
2007-04-23
- MySQL
- fix graphs
- add response times
- write docs for new MySQL plugin
- OpenLDAP
- change OpenLDAP plugin to not search whole thing
- fix graphs
- add in SSL, possibly even URL style access
- add response times
- get LDAP / MySQL graphs sorted out before they get added
- write new protocol LDAP plugin
- write docs for RRD LDAP plugin
- PostgreSQL
- PostgreSQL: http://www.postgresql.org/docs/current/static/monitoring-stats.html#MONITORING-STATS-VIEWS
- select * from pg_stat_database;
2007-01-29
- funky bug, if a generic device goes down, then it will keep saying
that it's down, then it's up after 2 tries, then down, then up after 2
tries, every two minues... something to look at.
- remove 'switch' from README.config
- changeable database name
- test on windows, specifically interfaces (65539?). FIXED
- latency per site (the millisecond response time from up/down), graph the latency
- store the description of each host in the hosts table
- add in ms response times for hosts ping/uptimes
- specify on the main_*_page() why there is an alarm, maybe a mesg at
the top? maybe...
- add more details to netapp,uptime,temperature
- remove ignore_hosts file, change to variable instead (ignore = 0)
- look into aironet fix 4294967295 for numclients display. FIXED
- possibly support APC PDU's (what would be monitored though?)
- protocols:
- add in a display box on the stats.php page for protocols that are
monitored
2005-11-15
- new screenshots
- for release:
- remove protocol plugins (mysql openldap)
- rm -f plugins/check-openldap.pl plugins/check-mysql.pl
- rm -rf mrtg/
- run through doc/Changelog and TODO, update the WHATSNEW file
- QA load averages and processes
- fix: upgrade/* to work with the new config file structure
- more example index.php files with new print_href() functions
- write instructions for plugins-mrt2rrd.pl
- display: hostname, location for APC's
- make a 'description = snmp' option to pull from snmp
- added print_href_* functions
- removed firewall/router/switch for now, will add later if necessary
- change print_links() function to have no plurals at all
- add hostname specific prints for print_links()
2005-11-14
- workout all other options, interfaces_ vs *_interfaces,
primary_interfaces etc
- changed temp variable 'lumpy' to 'updown'
- renamed nopage to page
- renamed environ to em01
- double check the check_em01_* functions
2005-11-13
- update example unnoc.conf
- updated documention
- remove MRTG from README.*
- write documentation (spec)
- docs:
- README.config
- update README.config
- add_hosts documentation
- update docs putting stats vs hosts paging and alerting
- procfix support (VERY DANGEROUS AND EXPERIMENTAL)
- aironets (only tested on IOS), removed aironets.cgi
- airports
- apcs, (only Smart-UPS)
- update docs putting stats vs hosts paging and alerting
- update docs about the throughput plugin
- update netapp
- update throuhgput about how it's gone
- update airport
- updated README.addhosts
- update aironet
- update apcs
- update environ
- change uptime_type to uptime
- change norrd to graph
- update upgrade-config.pl to per host
- leave in old code for old 1.0.5 style
- updated the backend to account for fuzz
2005-11-12
- add protocol displays to host display page
- fix "Plugins Statistics:" display for non-protocol-plugin hosts
2005-11-11
- move from MRTG to RRD:
- routers / firewalls
- fixed disks, emesg proper display now
- make stats be the one say there's no response, get rid of pings + snmp (either or, not both)
- possibly have stats report hosts down too ? combine hosts & stats to be more intuitive
- fix interface graphs, properly remove them if they're down/up, from DB
- each script takes care of it's own
- php functions
- update the stats.php, status() and check_host()
2005-11-10
- each script runs status(), calls host_is_up / host_is_down
- all status is stored in the hosts table
host, community, ping_no_response, snmp_no_response, uptime, uptime_desc, okay
- functions.pl
- &status (dbh => $dbh, $host => $host, community => $community, dtype => $dtype, type => $type)
type is either ping or snmp (not both)
- &host_is_down
this will update the hosts table
- &host_is_up
this will update the hosts table
- netapp
- aironets
- airports
- apcs
- stats
- remove 'okay' and 'no_response' from stats table
- environ
2005-11-09
- change cron_* vars to something else?
- remove cron_uptime
- removed throughput all together
- interfaces, be able to specify interfaces explicitly
- interval checking:
- servers
- aironets
- airports
- apcs
- environ
- hosts
- netapp
- remove MRTG
- add firewalls, routers, switch to dtypes
- make check-hosts run firewalls, routers and switches
- set a default value for uptime_type
- change stats to per host
- change aironets to per host
- change airports to per host
- chagen apcs to per host
- change environ to per host
- change netapp to per host
- update system status to per host
- update unnoc-cron.pl to per host
2005-11-08
- more example index.php files with new print_links() functions
- removed MRTG examples, updated unnoc.conf.example file, update index.php
- added README.index
- added update-graph-colors.pl, auto update from upgrade.sh
- update update-config.pl to remove globals out of config file
- README.procfix
- display uptime for all aironets, airports, netapps, apcs
- updated netapp docs
- updated apcs docs
- updated environ docs
- updated airports docs
- updated aironets docs
- update docs about the throughput plugin
2005-11-07
- update apcs README file
- updated throughput counters, accounted for reset counters (negative numbers)
- added add_slashes/stripslashes for description and community for all functions
2005-11-06
- removed aironets.cgi
- fixed throughput interfaces
- fix autogenerated index.php's, combine them somehow
- fix display.php all aironets/airports
2005-11-05
- add throughput interfaces to the interfaces table
- possibly log throughput for all interfaces?
- combined display.php?host= to search for a type of host to display
- add a norrd array
- finish noalert array
- fix check_host() in stats.php
- added APC's and EM01's to system status
2005-11-03
- added expereimental procfix support
- added global remove_stale_disks function, each type cleans up after itself
- added global remove_stale_interfaces function, each type cleans up after itself
- fix system status plugin (uses disks table now for disks)
- apcs
- log battery capacity
- number of battery packs
- possibly have ap_type set in global variables (number instead of english word?)
- airports plugin
- get IP address from IP-MIB::ipNetToMediaPhysAddress
- put in display='*'
- new SNMP algorithm
- integrate with 'wireless' table
2005-11-02
- add per client on aironets, use all native SNMP instead of Net::Telnet::Cisco
- aironets
- put the data in the db
- format it on the web
2005-11-01
- went to new SNMP algorithm for check-apcs.pl
- finish aironets perl script
- get rid of "no response (try x)" until it comes back on
2005-10-30
- plugins to RRD aironets
- mrtg2rrd.pl aironets
- added Aironet RRD
- switched stats, netapp, aironet to new snmp algorithm
- switch it to use Net::SNMP for everything (get rid of BER and SNMP_Session)--possible speed increase?
(no, switched algorithms though.. that was my speed increase)
2005-10-29
- mrtg2rrd.pl for environ
- finished RRD environ plugin
- mrtg2rrd.pl for airports
- mrtg2rrd.pl for APC
- finished RRD apc plugin
2005-10-28
- finished RRD netapp plugin
- mrtg2rrd.pl netapp
- standard way of printing graphs
- put all disks into disk table, move from stats table
2005-10-27
- straighten out paths, always do full paths (other wwwroot's)
2005-10-23
- fixed mysql graph to work properly and do alerts
- airport plugin done
- fixed netapp php functions
- standardize on a development architecture
2005-10-22
- place many global variables in unnoc.conf and functions.php
2005-10-21
- example snmpd.conf files, percentages
2005-10-20
- released 1.0.5
2005-10-20
- updated documentation about graph_colors.conf
- update all README.* files for alternate port number / alternate SNMP version changes
- update docs for no MRTG for servers, all RRDTool
- migration tool from MRTG to RRD (started, in upgrade/)
- migration tool for resizing the RRA's in the RRD's properly
- find how to get full path name of a directory with unix cmd
2005-10-18
- change LDAP/ MySQL graphs to be more unnoc specific
2005-10-17
- better colors
- fix system status plugin
- fix LDAP / MySQL graph, proper display, one each
- rrd_graphs / rrd_functions
- think of a way to combine MRTG and unnoc, to where it will setup MRTG by itself if you add a host
to the unnoc.conf, do things like cfgmaker & indexmaker and add in index.php file. OR make a regular
index file but then put it in a std place and read in the index.html file with display.php... not sure
2005-10-15
- figure out how to do plugins for servers
- styles / colors for all graphs:
- centralize?
- easy way to change colors
2005-10-14
- fix division by zero in memory code (if it doesn't exist in SQL yet)
- also make interfaces appear not centered, but in line with other graphs
(if there's only one interface monitored)
- add interface monitoring somehow for servers, to replace MRTG
- started migration from MRTG to RRD, for misc graphs on the display_stats page
- remove all MRTG from servers only, replace with RRD
(need some way to do some sort of cfgmaker, and not every time)
(config file maybe ??)
2005-10-13
- changed all != 'NULL' occurences to IS NOT NULL, wrote SQL file to do this in the db
- changed throughput plugin config syntax to be like the others port/version ::
- added in SNMP v2 / port numbers for all hosts and stats and anything that is SNMP enabled
- fixed check-environ.pl feature, added the alarm function back in
- finished RRD zoom features, added all zoom functions to all RRD graphs
2005-10-20
- release 1.0.4
2005-10-05
- have check-stats.pl check hosts.host_down first, if it's down, don't bother
- didn't do this one:
have check-hosts.pl check stats.no_response, if it's not responding, don't bother
there might be a condition where a server goes down and nobody gets notified
2005-09-24
- released 1.0.3
- finish the UPGRADE document
- finish unnoc.1.0.3.conf differences
2004-09-23
- changed mrtg-cron.pl to unnoc-cron.pl, it calls everything now
- added airports.php
- fixed more airports functions, made them more robust
2005-09-22
- added apple airport MRTG example files
- started implementation of airport plugin, first checkin
- write README.unnoc.conf
2005-09-21
- added mrtg-cron.pl, a perl wrapper for calling mrtg from crontab
- added mrtg variables to etc/unnoc.conf
- added print_uptime() function to functions.php, display_server_stats() now displays uptime as well
- removed description field from aironet plugin, have it pull from SNMP
- added status_() functions, so that you can separately check disk usage, load average,
processes and hosts; this is useful if you want to print this all out on index.php and
have separate dots for stats and hosts, etc
2005-09-19
- centralize send_email functions to functions.pl
2005-09-16
- made read_config() search 6 levels up for etc/unnoc.conf, if it doesn't find it then it exits
2005-09-13
- implement humidity for APC plugin
- implement temp and humidity checking for EM01 temp sensors
- implement temp and load alerts for APC plugin
2005-09-12
- released 1.0.2
- added min/max values to uptime for 1.0.3-pre
2005-09-09
- set the uptime counter to actually mean something
- ignore_hosts function
- fixed system-status.pl
2005-09-08
new-stats branch:
- update all the documentation for new methods
- possibly set tab widths on all README files
- make aironets.cgi be able to display html at the bottom on a per aironet basis, like it would
replace the aironet1 MRTG index page for instance (ended up storing it in SQL instead and using php)
- variable $no_response_tries in unnoc.conf that will determine how many times it tries to notify you
of snmp{no_responses} (like flaky hardware)
- added $wwwroot variable for relational paths
- update the docs for /logos and paths
- update check-netapp.pl to write to SQL and then implement the SQL calls for index.php
- change check-apcs.pl to do an UPDATE / INSERT, rather than DELETE/INSERT
- added display_server_stats ($host) function to functions.php, and all MRTG index files
should have that function call them. Currently it's sitting in between the STATS tags,
- wrote a migration tool to convert old style index.html files to new index.php style files
2005-09-06
new-stats branch:
- update check-hosts.pl to write a okay=1 col
- check-stats.pl;
- change all of the mrtg/*/index.html files to mrtg/*/index.php, they will have three calls:
check_load_average ('server');
check_disk_usage ('server');
check_processes ('server');
which will access the MYSQL database instead of writing index files directly
2005-09-03:
new-stats branch:
- write check-stats.pl to use more SELECT statements, less perl hashes (makes it more straightforward)
this will require some major changes, will be much faster in the end
- make check-stats.pl work without MRTG (have it create it's own index.html if it doesn't exist)
2005-09-01
- added some logos!
2005-08-31
- set versions on all plugins
- set a version on unnoc somewhere
2005-08-30
- updated a few minor changes, release will be soon
- document all of the separate plugins as separate plugins
- separate network throughput, make it update to MySQL as well
- updated throughput.pl to talk to the mysql db, no other files involved
- updated config-parse.pl with two new variables for throughput
- added throughput functions to functions.php
- updated functions.pl, changed open_snmp_session to take a $port
- minor update to check-apcs.pl, removed index_loc variable
- documented
- throughput
- system status
- aironets
- APC load monitoring
- temperature sensors (APC UPS temperatures)
- separate everything that is the core system to it's own core
- added a README.aironets
- updated README, much more detailed
2005-08-29
- added a README.apc
- added a README.netapp
- updated aironets.cgi
- added documentation for it (README.aironets)
- centralized the variables to unnoc.conf (added 3 new variables to it)
- increased the mysql table values to varchar(128) for most of them (for FQDN)
- possibly a different way that check*.pl is run from /etc/crontab (no update_all.sh)
- removed sql_do() functions from check-hosts and check-stats, moved it to lib/functions.pl
- moved system-status.pl back to bin/ (it's only one file)
- wrote check-apcs.pl, it will connect to a list of APC's and update their loads/temps to a db
- updated unnoc.conf, it will read in all variables (everything is stored here)
- added variables to config-parse.pl, so it will read them in
- added example index.php file to examples/mrtg/apc/
- updated INSTALL documentation for check-apcs.pl
- moved aironets.cgi back to bin/ (it's also only one file)
- removed bin/update_all.sh, everything is called from crontab (like it should be)
- added unnoc.log and system_status.log back to log/
- changed default community in mk_config to 'public'
- removed apc and aironet from the plugins/ directory
- updated plugins paths in the plugins/uptime/*.js files
- added icons to plugins/uptime/icons/ directory
- added index.php to unnoc/, it's basically index-1.php with temperature thrown into it
- updated mysql_table file
- updated crontab example file
2005-08-28
- set a plugin architecture, plugins/ directory, everything self contained
- implemented system status, aironets, APC and network throughput as a plugin
- documented system-status.pl stuff in the README file
- updated check-*.pl to use new $unnoc_variable in unnoc.conf
- set ignore_hosts as config file option
- update system-status.pl to:
* use mysql db only
* check procs
* check load averages
* check disk usage
- added 5 variables to unnoc.conf for system status
2005-08-27
- centralize red/green/yellow dots variables
- updated throughput.pl and reset_throughput.pl, uses everything located in webroot instead
of using hard coded /usr/local/var/db path
- make a few other index.php examples, possibly remove the uptime counter
- made throughput.pl update lib/throughput.html instead of directly updating index.php
- set nopage option in config file
- configurable option on which load averages to page/email on (load-1, load-5, load-15)
2005-08-26
- the adding process, mention add_device and add_file, created README.add_hosts
- fixed some mysql code and hash functions that read in the mysql code (spec. removed 'id')
- put all username/password combinations in the config file (so that bin/ dir is a dropin)
- make sure everything is a drop in replacements, so nobody has to remove directories,etc to upgrade
2005-08-25
- find some way to have only one definition of $webroot, and that be in the config file
ended up passing the main /var/www/unnoc/ dir to all executables.... could be better solution, but it works for now
- put index.php functions into a functions.php library
- put js stuff into it's own .js file
- grey dots on the front page:
- possibly have check-*.pl write to a mysql db if it's SUCCESSFULL also. just something short and to the point
and check_host() in index.php can look at that db, anything not in there is considered grey
- fix index.php, green dot/red dot/yellow dot code
2005-08-24
- removed meta txt files, have it pull all status from the mysql db
- make noc.conf THE ONLY config file
- set nested vars in noc.conf
vim:tw=72:wm=1