Contenedor Docker base para Observium
394
Este repositorio alberga un contenedor Docker para "Observium". Lo tienes automatizado en el registry hub de Docker luispa/base-observium con los fuentes en GitHub: base-observium. En mi caso estoy usando este contenedor en combinación con otros. Consulta este apunte técnico sobre varios servicios en contenedores Docker para acceder a otros contenedores Docker y sus fuentes en GitHub.
Para usar esta imagen desde el registry de docker hub
$ docker pull luispa/base-observium
Si prefieres crear la imagen de forma manual en tu sistema, primero clónala desde Github para luego ejecutar el build
$ git clone https://github.com/LuisPalacios/base-observium.git
$ docker build -t luispa/base-observium ./
La primera vez que arranques el contenedor el script do.sh analizará si es necesario instalar Observium y configurar todo lo necesario. Si por el contrario encuentra una estructura ya existente entonces la utilizará.
Directorios persistente que utiliza este contenedor. Deben apuntar a un directorio de tu HOST.
Un ejemplo donde he colocado todo debajo de /Apps/data (en mi Host)
Antes de arrancar el contenedor es necesario crear al menos estos directorios.
$ mkdir -p /Apps/data/observium/mysql
$ mkdir -p /Apps/data/observium/opt
Para que el timezone te funcione bien, crea el directorio /Apps/data/tz y dentro de él crear el fichero timezone.
$ mkdir -p /Apps/data/tz
$ echo "Europe/Madrid" > /config/tz/timezone
Los directorios anteriores debes montarlos con la opción -v (arranque manual) o bien usando fig, a continuación un ejemplo:
observium:
image: luispa/base-observium
environment:
MAIL_TO: "[email protected]"
DB_USER: "obsera"
DB_PASS: "observapass"
OBSERVIUM_USER: "mi_admin"
OBSERVIUM_PASS: "observador"
SQL_ROOT_PASSWORD: "superpassword"
expose:
- "80"
ports:
- "22002:3306"
volumes:
- "/Apps/data/observium/mysql:/var/lib/mysql"
- "/Apps/data/observium/opt:/opt"
- "/Apps/data/tz:/config/tz"
command: /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
Un ejemplo de ejecución con fig sería ejecutar lo siguiente en el directorio donde está el fichero fig.yml anterior:
$ fig up -d
:
Una vez que ejecutas el contenedor podrás acceder vía Web al mismo, usar el usuario "OBERSVIUM_USER" y su contraseña para configurarlo.
Tienes la alternativa de "entrar" con una shell en el contenedor y ejecutar algunos comandos manualmente para acelerar el descubrimiento y configuraión inicial. Por ejemplo:
$ docker ps -a | grpe -i observium (localizo el ID del contenedor)
$ docker exec -it 42567234bef8 bash
root@42567234bef8:/opt/observium# <== Ya estás dentro del contenedor
Añadir un usuario y dispositivo adicionales:
root@42567234bef8:/opt/observium# ./adduser.php
Añadir un dispositivo
root@42567234bef8:/opt/observium# ./add_device.php v2c
Realizar el Discovery y Poll iniciales
root@42567234bef8:/opt/observium# ./discovery.php -h all root@42567234bef8:/opt/observium# ./poller.php -h all
Content type
Image
Digest
Size
264.9 MB
Last updated
over 10 years ago
docker pull luispa/base-observium