kubernetes
elasticsearch
kafka
zookeeper
ceph
cassandra
percona-cluster
glance
mariadb
spark
Nagios is a monitoring and management system for hosts, services, and networks.
Nagios offers complete monitoring and alerting for servers, switches, applications, and services.
This charm is designed to do basic monitoring of any service in the Charm Store that relates to it. There is an NRPE subordinate charm that you can use if you want to use local monitors.
This charm is designed to be used with other charms. In order to monitor anything in your juju environment for working PING and SSH, just relate the services to this service. In this example we deploy a central monitoring instance, mediawiki, a database, and then monitor them with Nagios:
juju deploy nagios central-monitor juju deploy mysql big-db juju deploy mediawiki big-wiki juju add-relation big-db:db big-wiki:db juju add-relation big-db central-monitor juju add-relation big-wiki central-monitor
This should result in your Nagios monitoring all of the service units.
There is an NRPE subordinate charm which must be used for any local monitors. See the nrpe charm's README for information on how to make use of it.
nrpe
You can expose the service and browse to http://x.x.x.x/nagios3 to get to the web UI, following the example:
http://x.x.x.x/nagios3
juju expose central-monitor juju status central-monitor
Will get you the public IP of the web interface.
enable_livestatus - Setting to enable the livestatus module. This is an easy interface to get data out of Nagios.
enable_livestatus
livestatus_path - Configuration of where the livestatus module is stored - defaults to /var/lib/nagios3/livestatus/socket.
livestatus_path
livestatus_args - Arguments to be passed to the livestatus module, defaults to empty.
livestatus_args
enable_pagerduty - Config variable to enable pagerduty notifications or not.
enable_pagerduty
pagerduty_key - Pagerduty API key to use for notifications
pagerduty_key
pagerduty_path - Path for Pagerduty notifications to be queued, default is /var/lib/nagios3/pagerduty.
pagerduty_path
nagios_user - The effective user that nagios will run as.
nagios_user
nagios_group - The effective group that nagios will run as.
nagios_group
check_external_commands - Config variable to enable checking external commands.
check_external_commands
command_check_interval - How often to check for external commands.
command_check_interval
command_file - File that Nagios checks for external command requests.
command_file
debug_level - Specify the debug level for nagios. See the docs for more details.
debug_level
debug_verbosity - How verbose will the debug logs be - 0 is brief, 1 is more detailed and 2 is very detailed.
debug_verbosity
debug_file - Path for the debug file - defaults to /var/log/nagios3/nagios.debug.
debug_file
daemon_dumps_core - Option to determine if Nagios is allowed to create a core dump.
daemon_dumps_core
admin_email - Email address used for the admin, used by $ADMINEMAIL$ in notification commands - defaults to root@localhost.
admin_email
admin_pager - Email address used for the admin pager, used by $ADMINPAGER$ in notification commands - defaults to pageroot@localhost.
admin_pager
log_rotation_method - Log rotation method that Nagios should use to rotate the main logfile, defaults to "d".
log_rotation_method
log_archive_path - Path for archived log files, defaults to /var/log/nagios3/archives
log_archive_path
use_syslog - Log messages to syslog as well as main file.
use_syslog
password - Password to use for administrative access instead of a generated password.
password
ssl - Determinant configuration for enabling SSL. Valid options are "on", "off", "only". The "only" option disables HTTP traffic on Apache in favor of HTTPS. This setting may cause unexpected behavior with existing nagios charm deployments.
ssl
ssl_cert - Base64 encoded SSL certificate. Deploys to configured ssl_domain certificate name as /etc/ssl/certs/{ssl_domain}.pem. If left blank, the certificate and key will be autogenerated as self-signed.
ssl_cert
/etc/ssl/certs/{ssl_domain}.pem
ssl_key - Base64 encoded SSL key. Deploys to configured ssl_domain key as /etc/ssl/private/{ssl_domain}.key. If ssl_cert is blank, this option will be ignored.
ssl_key
/etc/ssl/private/{ssl_domain}.key
ssl_chain - Base64 encoded SSL Chain. Deploys to configured ssl_domain chain authority as /etc/ssl/certs/{ssl_domain}.csr. If ssl_cert is blank, this option will be ignored.
ssl_chain
/etc/ssl/certs/{ssl_domain}.csr
juju deply nagios central-monitor juju set central-monitor ssl=on
If you purchased keys from a certificate authority:
juju deply nagios central-monitor juju set central-monitor ssl_cert=`base64 mykey.pem` juju set central-monitor ssl_key=`base64 mykey.key` juju set central-monitor ssl_chain=`base64 mykey.csr` juju set central-monitor ssl=on
Login: nagiosadmin Password: see below
To fetch the Nagios Administrative password you have to retrieve them from the nagios host, as it is generated during installation.
juju ssh central-monitor/0 sudo cat /var/lib/juju/nagios.passwd
The monitors interface expects three fields:
monitors
target-id
target-address