juju controller #0

Supports: xenial bionic

Add to new model

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.


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:~xavpaice/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:

```yaml applications:
juju-controller: charm: cs:~xavpaice/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:

```bash $ 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

https://bugs.launchpad.net/charm-juju-controller


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