Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

Changes

------------------------ 0.10.1

10/11/03 
        Availabiity Report

10/11/03 
        New SNMP traffic graphs:
          - Each snmp interface gets a row + graph
          - Each snmp enabled node gets a summary graph

08/17/03
        Push mgmtui pages down into a 'www' dir for better security.

08/15/03
        Fix occasional "stuck" outage indicators in mgmtui.

08/12/03
        Fix irritating "double insert" bug in IE for the "new" screens (e.g., new node).

08/04/2003
        Better snmp traffic monitoring in mgmtui

06/26/03
        Factored code in db libs

06/26/03
        Added query menu and pagination in mgmtui for viewing events/alerts

06/15/03
        Add Matt Sanders bug fixes for restart on delete changes in mgmtui.

05/10/03
        Factor event sending into functions in monitor.c
        - probes 
        - handlers

05/05/03
        Allow non-tasklet handler rescheduling themseleves when they need to wait

04/01/03
        Added stateful connect/noconnect events for db probes and handlers

03/12/03
        Fixed corner case in cron style scheduling.

01/28/03
        Use replacechar handler in master aware script
        to de-quote event values so they don't confuse
        the sql for database insert.

01/28/03
        Added new handler: replacechar . This handler behaves
        like the 'tr' command and allows you to subst characters
        in and event's name, source and value (only if string event).

01/24/03
        Added support for optional 'customizations.env' use by
        awared.sh so that there is a well known place to put
        environment vars needed by code linked into awared
        (e.g., LD_LIBARARY_PATH for Oracle)

------------------------ 0.9.1

01/18/03
        Updated HOWTO to illustrate how to set up master/slave configurations
        where a single 'master' (with the web management user interface) can
        agreggate events from many remote 'slave' agents.

01/15/03
        Don't lock sessions in UI on potentially long running processes: 
                ping,dnslookup,traceroute,discover

01/10/03
        Changed parser not to exit(-1) on parse failures. Allows for graceful
        recovery on bad wire files.

01/09/03
        Added details in HOWTO for integrating local customized
        wire scripts with the web based mgmtui.

12/25/02
        Fixedup installation/configuration to better support slave(agent) mode.

12/04/02 
        Fixedup httpprobe. Changed how last_modified is detected, 
        fixed triptime interactions w/other events, made header
        token matching case insensitive.

12/03/02
        Removed alert message from email subject...some
        messages needed excessive quoting which was more
        trouble than it was worth.

12/03/02
        Made polling more intelligent when probe is 'down'
        so as not to waste CPU for network probes.
        
12/03/02
        Fixed "show deleted" sql for "open" node windows.

12/03/02
        Fixed popup windows for group/node 'New' so they
        worked in IE.

11/26/02
       FILE_TO_BUF macro renamed PROC_FILE_TO_BUF and now
       replaces '\0' with ' ' , except last one. This
       fixes an issue with psprobe where regex's were
       only matching the command and not the args.

11/23/02
        Connection pool added to oracleprobe/oraclehandler.

11/19/02
        Connection pool added to sqlsvrprobe/sqlsvrhandler.

11/17/02
        Connection pool added to pgsqlprobe/pgsqlhandler.

10/29/02
        Connection pool added to mysqlprobe/musqlhandler.

------------------------ 0.8.1

10/25/02
        Change logging/event behavior on filestatprobe for
        system call errors.

10/18/02
        New icons for admin screen.

10/17/02
        Added a new member to the core event called 'source'.
        This is exposed in the 'wire' scripts as an optional
        keyword 'source:'. It is intended to hold the
        name of the source node that is creating the event and
        is most useful in a distributed environment where
        many machines are sending events back to a central
        source and you need to know where they came from.
        Updated the 'sfilterhandler' so you can dispatch on
        the source string as well as name and value.

10/16/02
        'discover' tightened up a bit to avoid overloading
        network during port scan and to speed scanning.

10/15/02
        Added support for external events to be caught by
        a eventrxprobe in mgmtui and events held in a
        db table and associated w/nodes. This allows you
        to have aware agents (slaves) on other machines
        and send alerts back to the central database and
        also to trigger alerts in mgmtui. Default port for
        the event listener is 5555, to test this send aware
        events to that port with the event 'source'
        as the node name in the database and watch the mgmtui.

10/08/02
        - Added escapeshellarg to Tools pages in mgmtui
        - Added escapeshellarg to rrd and snmp libs in mgmtui
        - Changed how php executes commands (assume in PATH)
        

10/07/02
        Fixed node notes in mgmtui.

10/04/02
        Fixed ~cron (maintenance windows) support.

9/30/22
        Fixed linker problem with tcptxtprobe and filenames.

------------------------ 0.7.1

9/22/02
        Compatibity issues with PHPv4.1+
        Installation issues.

9/20/02
        New events for filestatprobe.
        Change email policy on alerts.  
        Update code for freetds API changes.

9/15/02
        Alerts needs a "ack all" button.

9/10/02
        Add timestamp to email for alert message
        close() -> fclose in mkwire.inc
        Add question to configure for clear db
        Add includeifexists, update doc with all include statements

9/4/02
        Fix session bug for newer PHP versions
        Fix Makefile bug for install to another dir

------------------------

7/1/02

alerts
        - node <-> group ui widgets (done)
        - display (done)
        - wire code
                - populate
                - esc (done)
                - email (done)
        - add / display create time (done)
        - what about eid?...it was nice to ack all...(done)
        - what about when event is over?...do up events? (done)
        - do it all for service events (done)
        - node name to alert table, use for email subject? (done)
        - add acktime to table/display (done)

6/15/02
event.c
        - add new format type: $i (done)
execphander-
        - format buffer lengths 

6/14/02
event macros for subparts (done)

6/12/02
ui work
        - integrate user admin
                - acks
                - header/login (done)
                - read/write on node pages
                        - nodes
                        - groups
                        - discovery
                - help

5/21/02

        - show deleted and edit controls
                - use session (done)
                - service (done)
                - interface (done)
                - node (done)
                - group (done)
                - discovery (done)

5/20/02
        - merge session/admin work

5/15/02

scheduled downtime
        - ~cron: probe.c (done)
        - monitor (done)
        - news.html (done)
        - ui
          -interface
                - scheduled maintence (done)
                - add same calandar widget for cycletime (done)
          -service 
                - scheduled maintence (done)
                - add same calandar widget for cycletime (done)
          -docs


5/13/02
discover finds bogus ips

5/11/02
Release0.5.1

5/8/02
outage on delete

undo change to network probes so we get up events at start
        - ping
        - dns
        - http
        - tcp
        - tcptxt

Help wrong for node edit

add check to insert code in mkwire s.t. we
don't insert up/down events unless state is changed


5/7/02
statefull needs to be an option on network probes so discovery works

5/6/02

event display on nodes
        - add date range select

help
        - structure (done)
        - dummy pages (done, to date)
        - fill in 100% pages (done)

5/5/02
snmp/dns
        - when re-run on old data, does it pick up new values

5/4/02

http needs service check in mkwire
        - match on header (done)
        - make stateful (state.service) (done)
                - add service event that checks for HTTP in 1st line of header
                - remove match: from mkwire, since service: will work

5/3/02
Remove Avail and Performance from main menu

Add events in last day to home page

make network probes only do neg events on init
        - ping
        - dns
        - tcp
        - tcptxt
        - http
        -

5/2/02
Issue of exec programs and path

performace using snmp for interfaces
        - use snmpwalk to get interfaces  (done)
            - snmpwalk baklava aware interfaces.ifTable.ifEntry.ifDescr 
        - ui to set (done)
        - db (done)
        - wire/rrd support (done)
        - ui plots (done)

5/1/02
add notes to events
        - new tables for notes
        - add ui popup 'Notes'
                - icon -> popup
                - view + [new]

4/30/02
add mysql perf example
        - example 
                - mysql (done)
                - sqlserver (done)
        - body.html
                - add sqlserver (done)
                - images
        - screen shots
                - mysql (done)
        - cvs 
        - news.html
        - web site

4/29/02
performance
        - add column for performance indicator, (done)
        -  ... default to 0 (done)
        - awared.sh
                - mkdir for rrd (done)
        - mkwire gens rrd db for performance, name is function of id (done)
                - day
                - week
                - 30 days
                - year
        - ui edit needs check box for performance on/off (done)
        - ui display needs button
                - aqua button (done)
                - launch day view (done)
                - links to week, month, year (done)

4/25/02
        - active/inactive support
                - update libs to return active (done)
                - css colors (done)
                - show on displays g,n.i,s (done)
                - edit group, node (done)
                - need to cause update of awared (done)

        - edit services and interfaces (done)
                - active/inactive
                - snmp_community, timeout, cycletime
                - service name, timeout, cycletime

4/24/02
add to interface,services local info, default to what _was_ global
        - timeout (done)
        - cycletime (done)
        - update mkwire to use this info (done)
Add [open] -> new window
        - nodes (done)
        - groups (done)
configure
        - test have dependent apps

4/23/02
discovery and avail interface
        - discovery page
                - run from page (done)
        - discovery called in main wirefile
                - schedule from db (done)
        - cron for probes
                - wire (done)
                - monitor (done)
                - probe comments
                - body.html doc (done)
        - main mockup (done)
        - interface outage (done)
        - no 2 running discover.sh (done)
        - configure to make runnable at boot (done)
        - poll for new interaces/services -> wire -> hup (done)
        - node group page edit (done)
        - assset/node edit (done)
        - configure script + install hooks (done)
        - tools (e.g., ping) (done)
4/16/02

make these probes stateful
        - ping (done)
        - dns (done)
        - http (done)
        - tcp (done)
        - tcptxt (done)

4/03/02
wait: 
        - all probes use aw_probe_append_outq() *.c (done)
        - all handlers use aw_handler_append_outq() *.c (done)
        - add xactionid to event (done)
        - register probesync(probename) probe/handler, maps the 2
        - update wire lib with probesync:, check for conflicts with cycletime:
        - probe_loop:
                - each d'q point check if this is a 'sync'd probe
                - if so scan q and add xactionid (done)
        - update aw_handler_append_outq() *.c to check trigger_event for
        a non-zero xactionid, if found then copy xactionid (done)
        - handler_loop:
                - when freeing events, those w/xactionid get counter decr (done)
                - if goes to zero, then signal:
                        - probes waiting (set probesync option in sched)
                        - handlers waiting, add to runq
        - update discover.c so it can finish rather than timepout (done)
        - update doc in examples for wait (done)
        - test in discovery example
        - test in discovery in mgmt
        - add stop handler

clean up discovery example using wait

4/02/02
send 0.4.1 to india
        - diff template
                - send_event
                - aw_handler_append_outq


3/29/02
bug on \n

3/25/02
awared.sh
time event to all db probes/handlers.


3/24/02
disover new port args?
        - update examples/body.html
        - update examples/discover
        - update man page
ip2name handler? nmdlookup?

3/23/02
add matching on stderr to execp's


3/22/02
Added email example.
fix db probes/handlers on error


3/21/02
test oracle

discover example
        
postgres

        - handler
                - inserts 
                - reset from failure
                - queries 
                - regex match rows -> events 
                - count 
        - probe
                - queries 
                - regex match rows -> events 
                - connect/noconnect 
                - count 

        - examples
                - insert

        - doc
                - about.html + logo


3/21/02
oracle probe/handler mp/mh -> op/oh

3/21/02
Using CVS now

3/21/02
allow macros in subst on all probes/handlers
        - sfilter h
        - exec h (done)
        - oracle h (done)
        - mysql h (done)

3/20/02
add 'complete' event to
        - execp probe/handler


3/20/02
execphandler as tasklet
        - convert (done)
        - add regex matching

3/19/02
oracle

        - handler
                - inserts 
                - reset from failure
                - queries 
                - regex match rows -> events 
                - count 
        - probe
                - queries 
                - regex match rows -> events 
                - connect/noconnect 
                - count 

        - examples
                - insert

        - doc
                - about.html + logo

3/18/02
mysql
        - handler
                - inserts (done)
                - reset from failure
                - queries (done)
                - regex match rows -> events (done)
                - count (done)
        - probe
                - queries (done)
                - regex match rows -> events (done)
                - connect/noconnect (done)
                - count (done)

        - examples
                - insert (done)

        - doc
                - about.html + logo (done)

3/14/02
tasklet infrastructure
        - probes control (done)
        - handler control (done)
        - logger aw_log() needs to be thread safe (done)
        - tasklet integration (done)
        - monitor.h (done)
        - about.html (done)
        - news.html (done)
        - test a bit

03/08/02
sourceforge

triptime:
        dns
        tcp
        http
        tcptxt + friends

update screenshot w/graphs...update freshmeat

03/04/02
need config/compile for rrdtool
new example: MRTGstylee, take graph out of master_slave
Wire scanner should stop reading names when sees a reserved symbol unless escaped (e.g., {,},$})

03/03/02
snmpget/walk + execp probe?
master/slave demo needs execp+snmpget+graphs

02/25/02
PreRelease to:
        Jr.
        DrJ
        Jeb
        Sridahr
Package for release:
        - Turn off debug level flag before package [DONE]
        - Copyright at top of all files [DONE]
        - review License html file, change to all GPL [DONE]
        - Update META files
                - README [DONE]
                - INSTALL [DONE]
                - COPYING [DONE]
        - Update Dev plan page [DONE]
        - make install from top [DONE]
                - ask for install dir
                - install man pages

02/18/02
        - examples need cleanup make file

02/13/02
- master slave
        - add wire reserve id range [DONE]
        - awared makes http probe w/mirror, on update events, SIGHUP...ignores -wire if in slave mode [DONE]
        - tx listen for request, sendfile(), need web server , see cif [DONE]
cif (control interface) web front end (receiver?)
        - master for wire files [DONE]
        - implement as probe (receiver) [DONE]
        - TCP_CORK option [DONE]
        - support HEAD/GET/ [DONE]
        - need to generate Last-Modified -> gmtime, strftime [DONE]
        - dispatcher ->   [DONE]
        -
        - general [DONE]
        - mime types for major types [DONE]
        - reads home page, so that is configurable, but uses a default [DONE]
        - reads style sheets from doc root [DONE]
        - will send images from doc root [DONE]
        - will send html from doc root [DONE]

02/11/02
- eventtxhandler eventrxprobe
        - udp
- need Architecture Section, how Aware is different
        - nice picture (steal!)
        - typical monitoring setup
                - many agents, likely done ad doc, with heavy scripts,etc.
                - central server w/database

        - aware
                - aware agents and central are _same_ code, differing
                only in how they are configured
                - small, scalabale, efficient
                - central code has realtime database
                - master/slave relationship manages all configuration issues

02/09/02
- master slave
        - slave mirrors file w/http

02/07/02
- discovery program
        - pick subnet, iterate over all subnet addresses
                - ping , lookup name as option
                - write list to stdout
                - specify timeout default to 30secs
Need examples
        - simple [DONE]
        - http [DONE]
        - upnp [DONE]
        - local [DONE]
        - network [DONE]
        - discover [DONE]
        - snort [DONE]

02/05/02
Run UPnP test with some XP boxes

02/04/2002
- mv webdoc under doc in web server
        - make the make webdoc create an index.html file
        - make examples/index.html reference above
- psprobe should 
        - report pid also [DONE]
        - event to match %mem using range [DONE]
        - event to match %cpu using range [DONE]


02/02/02
add flags to rfilter so you can filter on value or priority
add name: as option on sfilter, filter on name
- down event on netifprobe
- fill IDEAS file with good things for others to do
- HOWTO

02/01/02
add option to limiter for no id
        - example: downevent storm for a particular machine w/single interface and a web server
        and a mail server, only need 1 page need to have a practical example of configuration...
        1 limiter per machine

Command language
        - r1: loadable modules w/cmd lang support [DONE]
                - s2: digest the args into a generic form and pass down
        - basic parser [DONE]
        - logger [DONE]
        - includes [DONE]
        - events [DONE]
        - vars
                - early binding [DONE]
                - reference issue, likely solution is mark wire_objs with indicator if ptr is freeable
                        - loggers get based down, can't destroy [DONE]
                        - value lists need to free only their own stuff [DONE]
                        - want to free all temp memory at end, keep a list [DONE]
        - aw_wire take a monitor args, return a monitor? [DONE]
        - need to make mon an arg in all probes/handlers...clean up issue!
                - active/temp objecs [DONE]
                - make aw_wire return struct with mon+activelist [DONE]
                - add aw_unwire [DONE]
        - what about shared loggers and other objects? [DONE]
                - could make new types: probe_logger, handler_logger
        - memory leaks in parser [DONE]
        - regevent for handlers [DONE]
        - vars should be able to bind lists [DONE]
        - create awared dir, use for simple.wire tests as I update probes and receivers [DONE]
        - probes
                - new constructor using keywords [DONE]
                - ld based load/execute [DONE]
                - do all probes, test in simple.wire [DONE]
        - handlers
                - new construtor using keywords [DONE]
                - ld based load/execute [DONE]
                - do all probes, test in simple.wire [DONE]

01/31/02
fix cycletime: to be float64
email Melgaard, see if he wants to write the net-snmpd code
%t (date) as format option for events
fix wire_obj_t to use union

01/30/02
need shared libs to replace macro based probes/probes
        - execprobe ... email/pager...etc. [DONE]
        - tcptxtprobe ... make 1 lib per macro [DONE]
        - tcpprobe ... get rid of macros [DONE]

01/28/02
awared
        - need a man page [DONE]
        - args for logger [DONE]
        - signal handlers [DONE]

01/24/02
- limiterprobe: copy event if I get more the 'N' events with that id in 'M' seconds
        - Useful to mitigate false alarms and notification storms
        - keep hashtable mapping event id -> { count, timestamp of first event }
        - get event info, if null create set count =1, timestamp = now
        - else if (time diff > 'M') reset time and count
        - else if current count + 1 > 'N' , then copy event, reset entry in table to 1,now
- netifprobe
        - add bytes/sec
- add unsock option to logfilewatcher

01/21/02
- Remove source from event and address from probe/handler

01/19/02
logger: Add a filename and rotation time option and rotation flags

01/18/02
- logger handler, use format string (added event_format to event.c)
- What's up with the in/out vs register event thang? [DONE]
        - okay, needed for multiple channels of input events like histo handler
        - removed in events from sfilter and rfilter
- exec handler

01/17/02
- logfileprobe generalize to multiple regexs
- httpprobe generalize to multiple regexs
- q names in handler args, q-> inq, hq -> outq?

01/15/02
Handlers
- sfilter should do substitution (ala 'sed') this allows you to take 
logwatcher events, match, parse out things you like (e.g., SNORT)
        - make all regex probes/handlers headers #include "regmatch.h" [DONE]
        - make all regex probes/handlers headers have proper doc [DONE]
        - make all regex probes/handlers use AW_REGEX_FLAGS [DONE]
        - add aw_regsub function to regmatch.c [DONE]
        - test on sfilter [DONE]
        - propagate this change thru regex based probes/handlers, allowing resulting event to have
          substiution as makes sense [DONE]
                - upnpprobe - switch to single string in dev? [DONE]
                - httpprobe [DONE]
                - logwatchprobe [DONE]
                - psprobe [DONE]

01/13/02
Receivers
- UPnP
        - send out M-Search directive on multicast [DONE]
        - receive all Notify directives [DONE]
        - keep list and watch like process watcher w/regex [DONE]
                - up list on start and probe [DONE]
                - watch lists + events [DONE]
        - tidy: copy_devlist,  change send_dev_event to send location <space> server [DONE]
        - age records in watch list [DONE]
                - sweep list every minute between m-search queries [DONE]
                - call delete [DONE]
        - create reciever infrastructure [DONE]
                - aw_monitor_probe_rx_t 
                        - holds array of fd structs for poll()
                        - holds mapping of fd-> (probe and fntptr() and fd, aw_monitor_probe_rxfd_t)
                        - data_received() calls poll(), for any fd w/data, calls fnptr(probe, fd)
                - register fd function (would be called within probe , likely at start)
                - UNregister fd function (would be called within probe , likely at stop, or in case of error)
        - process 'alive' and 'byebye' messages
                - create upnpdevice.c that send 'alive', waits 5sec, sends 'byebye' [DONE]
                - bind mcfd [DONE]
                - subscribe/unsubscribe [DONE]
                - test rx of messages [DONE]
                - add code to remove devlist entries [DONE]
                - add code to add devlist entries [DONE]
        - clean up all probes and handlers since I changed some monitor method APIs [DONE]
        - refs
                http://upnp.sourceforge.net/
                http://www.intel.com/ial/upnp/
                http://www.upnp.org/download/UPnPDA10_20000613.htm


01/07/02
Cache allocator for psprobe pidllist
Fix url_parse, remove default_port and resetting passed in ptrs (they should hold their defaults)

01/03/02
Probes
        - Make pswatcher take mutliple regex, then use this as template for UPnP
headers with "linux" in them -> generic headers in /sys
make per thread loggers in monitor

01/02/02
Receivers and Receiver Q
- make an aw_zalloc() which zeros memory [DONE]
- use zalloc in all probes and handlers [DONE]
- extend probe to have ->rx method [DONE]
- make probe thread check for NULL ->probe, add comment to ->handle [DONE]

01/01/02
Need a "get_version" set of functions in util.c

12/31/01
Probes
- DNS service

12/29/01
Probes
- IMAP - use tcptxtprobe 
- POP3 - use tcptxtprobe 
- FTP - use tcptxtprobe 
- HTTP - use tcptxtprobe
- SMTP  - use tcptxtprobe
- Citrix - use tcptxtprobe

12/28/01
Probes
- probe mount points, including size and size as a percent of total avail, 
  ala 'df'...call it 'mountstat' , use statfs()

12/26/01
- psprobe
        - add counts w/option for every cycle or on change

12/23/01
Loadable modules (shared libs) for probes and handlers

12/21/01
Probes
- process watcher
        - start/stop
        - regex on name
                - multiple matches -> allow test on just parent if has same name
12/18/01
Probes
- Uptime probe

Split proc probes into seperate dirs

Probes
- User
        - login
        - logoff

12/17/01
create_mon() needs to take an arg for logger, maybe more.

12/16/01
Fix Bug on rehash in handler registration...monitor init

12/14/01
Probes
- network interfaces
        - packets, errors, stats

12/6/01
Break out probe.h and handler.h into seperate .h files in monitor + document.

version.h should be generated from Makefile using vars in master Makefile

12/4/01
Handler
- regex filter...do regex, on match/nomatch copy event (maybe mv it to be efficient)

12/1/01
ChangeLog at top of all files
Commenting
        - update all headers for headerdoc
Handler
        - basic theshold filter handler

11//26/01
Probe
- HTTP w/regex
        - allow to match headers and content

11/18/01
Update handler/probes to use sig instead of address

11/16/01
Probes
- icmpprobe  

11/15/01
Probes
-create schedule obj for probes
    - pulse
    - calendar
- tcpprobe

11/11/01
Probe
- logfile watcher with regex matching per line
- file attributes
        - size
        - last modified time
        - if modified (last modified time has changed since last poll)
        - if sizechange  (size has changed since last poll)

Logger
        - new option (default on) to end lines with \n

- timeprobe...just emits timerevents (no values)...option for absolute time (e.g., 5pm) or cycle (every 5min)

Fix copy event in histogram

Fix API for regevent
 - test with histogram

Debug Macro/logger
- define in highest level header -done
        - set NDEBUG so we can control assert() - done
- macro to log if debug is set in aware.h - done
- some good places to put:
        - create logger (min level controlled by define) - done
        - old events warn in monitor - done
        - replace current printfs in monitor with debug log - done
        - replace any now using debug level with macro - done

--
Aware 0.11.1 Copyright (C) 1998-2005 Russell Leighton (russ@elegant-software.com)