Custos comes "out of the box" with scores of expected network checks.

Active Service Monitors

There are two methods for delivering data to Custos. Using a pull monitor Custos will query your system on a peridic basis to collect metrics.

HTTP/HTTPS
Checks for page load size, timing & compression
Full Web-Page
Full web-browser emulation, loading the entire page
PING
Standard ICMP ping, recording time and packet loss
Mail Monitoring
SMTP, IMAP and POP3 with SSL/TLS variants
Web Server Monitoring
Apache, Lighttpd Ngnix service monitors to collect stats from the service
Database Monitoring
MySQL, PostgreSQL, MongoDB, CouchDB

Push Monitors

Custos was designed for massive flexibility to support outputs from existing plug-ins and other monitoring tools which allows for easy integration.

With Custos it's now stupid-easy to create almost any arbtrary monitor. These data are collected by varous methods which push the results to Custos via simple REST API.

Event Monitoring

Applications generate all kinds of noice, and Custos can be used to monitor them.

Monitor Anything

A basic check, reporting an OK status

~ $ curl -d@- http://custos.io/api/stat?s=[service_id] <<eos
status good Service is OK
eos

This example reports a single metric, 'size' to the system.

~ $ curl -d@- http://custos.io/api/service/stat?s=[service_id] <<eos
status good Service is OK
metric size=433
eos

This example reports two metrics and a service detail message.

~ $ curl -d@- http://custos.io/api/service/stat?s=[service_id] <<eos
status good Service is OK
detail Running OpenSSH v5.8 Port 22
metric size=5903
eos

This example reports two metrics and a service detail message.

~ $ curl -d@- http://custos.io/api/service/stat?s=[service_id] <<eos
status good Service is OK
detail Running OpenSSH v5.8 Port 22
metric size=5903
eos

Nagios Plugins

~ $ check_http -H custos.io | curl -T- http://custos.io/api/stat?s=[service_id]

CloudKick Plugins

~ $ check_http -H custos.io | curl -T- http://custos.io/api/stat?s=[service_id]

Collectd

Use this configuration (/etc/collectd/collectd.conf) for collectd to publish the data to the Custos system.

<Plugin write_http>
    <URL "http://custos.io/api/collectd?m=$machine_id">
        Format "Command"
        User [service_id]
        Password [service_id]
    </URL>
</Plugin>

You will need to get the $machine_id and $service_id from your Custos system.