In building a web application (not built on any specific framework) I'd like to build a "complete" set of tools for monitoring it.
There are obviously some great tools out there for monitoring the DB or the Web Server, or App Server... but I'd like to build a dashboard that lets admin users monitor the overall health/status of the system.
I've noted the following things to monitor but I'm sure there is more that I may have overlooked.
For the record the app in question is built on a LAMP stack, and beyond the index page is only accessible to registered users (100 - 5,000?). Additional tables/logs either contain (or will contain) the data needed to report the following.
Items considered so far:
- Users: (Active, Registered)
- Business Objects: (counts.... e.g. # of contacts, # of accounts, # of managed services)
- Registrations: (# of landings, # of signup attempts, # of signup successes, # of account removals)
- Lost Password: (# of requests, and for which user)
- Login attempts: (# of failures) (possibly userids to see if dictionary attacks are in progress)
- Emails: (# sent (by the system/by users)) (e.g. catch if system becomes a spam engine)
- HTTP 404 errors: (# of errors, which pages)
- HTTP 500 errors:
- Hits: (# of by IP/Referer, by page) (e.g. get a feel for any upcoming DOS attacks/slashdotting)
- DB queries: (# of queries, # of tables)
What else is missing or would be helpful?