My company builds and maintains sites for our clients. On any given date, we have 400-600 sites active. We build 5-10 per week and take down a similar number. We have basic "is the site live" monitoring enabled for each site, but I'd like to expand that.
Before we build our own, I'm looking for suggestions.
Monitoring would be centered around each site, not servers (all sites run on a load balanced pool of physical servers). For each site, we want to monitor different categories of information, such as:
- registration items: domain name expiration, SSL cert expiration. These data are derived from live checks.
- implementation checklist: Data checked by database queries and/or making an HTTP request and comparing resulting HTML against regular expressions
- performance metrics: Visits, conversion, etc. Data checked by database queries.
Because of how regularly we add/remove sites, we need this to be be able to add and remove through an API or other automated manner.
I've looked a bit at Nagios, Icinga, and Zenoss. Although these have plugins and APIs for expanding, each of these centers on a physical host. We really need to be able to have an at-a-glance view which highlights sites having trouble and then drill down to see what the problem is.
Are there tools that I've not found which address my needs? Has anybody used one of these others in a non-server-centric way?