Skip to content

mimacom/docker-icingaweb2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Docker container for icinga web2

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages