juju controller #5
Description
In order to add subordinate charms such as nrpe, we need to have a primary unit to relate them to. This charm provides that primary.
- Tags:
- misc ›
Overview
This charm provides a principal Juju unit so that we relate things like nrpe, landscape-client, etc., to service the Juju controllers in a controller model. Typically we want to do this when we have Nagios in a separate model and wish to use cross model relations to allow monitoring and updates of the controller machines.
Usage
In order to monitor a controller on machine 0 in a model named 'controller':
juju switch controller
juju deploy cs:~llama-charmers/juju-controller --to 0 juju-controller
juju deploy cs:nrpe nrpe-controller
juju add-relation nrpe-controller juju-controller
juju config nrpe-controller nagios_host_context=mysitename
juju offer nrpe-controller:monitors
Application "nrpe" endpoints [monitors] available at "admin/controller.nrpe-controller"
juju switch $nagiosmodel
juju add-relation nagios admin/controller.nrpe-controller
You can alternately use this as a bundle, for example:
applications:
juju-controller:
charm: cs:~llama-charmers/juju-controller
num_units: 1
to:
- 0
nrpe-controller:
charm: cs:nrpe
options:
nagios_host_context: my_sitename
ntp:
charm: cs:ntp
landscape-client-controller:
charm: cs:landscape-client-30
options:
account-name: standalone
disable-unattended-upgrades: true
origin: ppa:landscape/17.03
telegraf-controller:
charm: cs:telegraf
filebeat-controller:
charm: cs:filebeat
machines:
'0':
series: xenial
relations:
- - nrpe-controller:nrpe-external-master
- juju-controller:nrpe-external-master
- - juju-controller:juju-info
- ntp:juju-info
- - juju-controller:juju-info
- filebeat-controller:beats-host
- - juju-controller:juju-info
- landscape-client-controller:container
- - juju-controller:juju-info
- telegraf-controller:juju-info
To get the offers for other apps, try:
$ juju offer filebeat-controller:logstash
Application "filebeat-controller" endpoints [logstash] available at "admin/controller.filebeat-controller"
$ juju offer telegraf-controller:prometheus-client
Application "telegraf-controller" endpoints [prometheus-client] available at "admin/controller.telegraf-controller"
$ juju offer landscape-client-controller:registration
Application "landscape-client-controller" endpoints [registration] available at "admin/controller.landscape-client-controller"
juju switch $model
juju add-relation prometheus:target admin/controller.telegraf-controller
juju add-relation graylog admin/controller.filebeat-controller
Bugs
Configuration
- nagios_context
- (string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
- juju
- nagios_servicegroups
- (string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup