Sign inSign up

mimacom/icingaweb2

By mimacom

Updated over 8 years ago

Docker container for icinga web2

Image
0

1.2K

mimacom/icingaweb2 repository overview

icingaweb2

Docker container for icinga web2. This container includes, configures and enables modules "monitoring" and "graphite".

It also includes LDAP authentication and group assignment to icingaweb2 roles/permissions. At the moment, the group are fixed to:

  • SEC_Icinga_Developer: access to monitoring module, allow commenting on hosts and services, allow sending custom notifications for hosts and services
  • SEC_Icinga_Sysadmin: allow everything (administrator)

Additionally, a command transport to a Icinga2 host is established via Icinga2 API. Please make sure you have set up an API user on the Icinga2 host in your api-users.conf.

This container only works with a MySQL/MariaDB backend.

Environment variables

Please set all these environment variables, otherwise the docker container will not work correctly.

  • USER_NAME_ATTRIBUTE: attribute of the user's object in LDAP, e.g. for Windows Domain: sAMAccountName
  • BASE_DN: where should icingaweb2 start to search for users, who should be able to login into icingaweb2
  • LDAP_DOMAIN: domain or FQDN to get the domain controller or LDAP server
  • LDAP_PORT: 389
  • LDAP_ROOT_DN: root distinguished name of your LDAP server
  • LDAP_BIND_DN: distinguished name of the bind user to authenticate against your LDAP server
  • LDAP_BIND_PW: password for bind user
  • ICINGA_IDO_HOST: backend host (MySQL/MariaDB)
  • ICINGA_IDO_PORT: backend host port (e.g. 3306)
  • ICINGA_IDO_DBNAME: backend database name
  • ICINGA_IDO_USERNAME: username to authenticate against your MySQL server
  • ICINGA_IDO_PASSWORD: password to authenticate against your MySQL server
  • DIRECTOR_IDO_HOST: backend host for director (MySQL/MariaDB)
  • DIRECTOR_IDO_PORT: backend host port for director (e.g. 3306)
  • DIRECTOR_IDO_DBNAME: backend database name for director
  • DIRECTOR_IDO_USERNAME: username to authenticate against your MySQL server for director
  • DIRECTORIDO_PASSWORD: password to authenticate against your MySQL server for director
  • API_HOST: Icinga2 host, on which API module is enabled
  • API_PORT: API port, e.g. 5665
  • API_USERNAME: username to authenticate against the Icinga2 API
  • API_PASSWORD: password to authenticate against the Icinga2 API
  • GRAPHITE_METRIC_PREFIX: metric prefix of your graphite instance, e.g. icinga
  • GRAPHITE_BASE_URL: base render URL of your graphite webserver, e.g. https://graphite.example.invalid/render?

Example docker-compose.yml

Save this as docker-compise.yml and run:

docker-compose up
---
web:
  image: mimacomops/icingaweb2
  ports:
    - 8080:80
  links:
    - db
  environment:
    USER_NAME_ATTRIBUTE: sAMAccountName
    BASE_DN: OU=users,DC=example,DC=invalid
    LDAP_DOMAIN: example.invalid
    LDAP_PORT: 389
    LDAP_ROOT_DN: DC=example,DC=invalid
    LDAP_BIND_DN: CN=binduser,OU=users,DC=example,DC=invalid
    LDAP_BIND_PW: someRandomBindPassword
    ICINGA_IDO_HOST: my-mysql-server.example.invalid
    ICINGA_IDO_PORT: 3306
    ICINGA_IDO_DBNAME: icinga
    ICINGA_IDO_USERNAME: icinga
    ICINGA_IDO_PASSWORD: someRandomMysqlPassword
    DIRECTOR_IDO_HOST: my-mysql-server.example.invalid
    DIRECTOR_IDO_PORT: 3306
    DIRECTOR_IDO_DBNAME: director
    DIRECTOR_IDO_USERNAME: director
    DIRECTOR_IDO_PASSWORD: someRandomMysqlPassword
    API_HOST: my-icinga2-host.example.invalid
    API_PORT: 5665
    API_USERNAME: root
    API_PASSWORD: someRandomApiPassword
    GRAPHITE_METRIC_PREFIX: icinga
    GRAPHITE_BASE_URL: https://graphite.example.invalid/render?

Modules

Icinga Director

Make sure you have set up your Icinga2 nodes correctly in order to use Icinga Director. See https://github.com/Icinga/icingaweb2-module-director/blob/master/doc/04-Getting-started.md

Tag summary

Content type

Image

Digest

Size

248.8 MB

Last updated

over 8 years ago

docker pull mimacom/icingaweb2