Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mclarkson/nagrestconf-docker
Nagrestconf in a docker container
https://github.com/mclarkson/nagrestconf-docker
docker docker-nagios nagrestconf
Last synced: 9 days ago
JSON representation
Nagrestconf in a docker container
- Host: GitHub
- URL: https://github.com/mclarkson/nagrestconf-docker
- Owner: mclarkson
- Created: 2017-08-10T10:19:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-03-24T20:17:42.000Z (over 4 years ago)
- Last Synced: 2024-10-24T23:41:28.364Z (21 days ago)
- Topics: docker, docker-nagios, nagrestconf
- Language: Shell
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nagrestconf-docker
Run [nagrestconf](https://github.com/mclarkson/nagrestconf) in a docker container.
Two containers are created here, mclarkson/nagrestconf and mclarkson/nagrestconf-restarter.
Use with a compatible nagios container such as
[QuantumObject/docker-nagios](https://github.com/QuantumObject/docker-nagios)
or [JasonRivers/Docker-Nagios](https://github.com/JasonRivers/Docker-Nagios).## Installation
## Running with JasonRivers/Docker-Nagios
Start the Nagios 4.x container
(See [JasonRivers/Docker-Nagios](https://github.com/JasonRivers/Docker-Nagios)):```
docker run -d --name nagios4 -p 8080:80 -v /opt/nagios jasonrivers/nagios:latest
```Start the nagrestconf container:
```
wget https://raw.githubusercontent.com/mclarkson/nagrestconf-docker/master/jasonrivers_docker-nagios.envdocker run -d -p 8880:8080 --name nagrestconf -v /tmp \
--volumes-from nagios4 --env-file jasonrivers_docker-nagios.env \
mclarkson/nagrestconf
```Finally start the restart container:
```
docker run -d --name nagrestconf-restarter \
-e NAGIOSCMD=/opt/nagios/var/rw/nagios.cmd \
--volumes-from nagrestconf mclarkson/nagrestconf-restarter
```With the above setup:
* Nagios is at http://localhost:8080/nagios
Default credentials: nagiosadmin / nagios
* Nagrestconf is at http://localhost:8880/nagrestconf
Default credentials: nagrestconfadmin / adminTo change the nagrestconf default password:
```
docker exec -it nagrestconf /bin/bash
htpasswd -c /etc/nagrestconf/nagrestconf.users nagrestconfadmin
exit
```## Running with QuantumObject/docker-nagios
**QuantumObject/docker-nagios has gone! - leaving this section here in case it returns**
**QuantumObject/docker-nagios has returned!**
Start the Nagios 4.x container
( See [QuantumObject/docker-nagios](https://github.com/QuantumObject/docker-nagios)):```
docker run -d --name nagios -v /usr/local/nagios -p 25 -p 8080:80 quantumobject/docker-nagios
docker exec -it nagios /bin/bash
htpasswd /usr/local/nagios/etc/htpasswd.users nagiosadmin
exit
```Start the nagrestconf container:
```
wget https://raw.githubusercontent.com/mclarkson/nagrestconf-docker/master/quantumobject_docker-nagios.envdocker run -d -p 8880:8080 --name nagrestconf -v /tmp \
--volumes-from nagios --env-file quantumobject_docker-nagios.env \
mclarkson/nagrestconf
```Finally start the restart container:
```
docker run -d --name nagrestconf-restarter --volumes-from nagrestconf mclarkson/nagrestconf-restarter
```With the above setup:
* Nagios is at http://localhost:8080/nagios
* Nagrestconf is at http://localhost:8880/nagrestconf
Default credentials: nagrestconfadmin / adminTo change the nagrestconf default password:
```
docker exec -it nagrestconf /bin/bash
htpasswd -c /etc/nagrestconf/nagrestconf.users nagrestconfadmin
exit
```## Running with Kubernetes
Create the pod:
```
kubectl apply -f https://raw.githubusercontent.com/mclarkson/nagrestconf-docker/master/kubernetes/nagios-nagrestconf-allinone.yml
```Get a console on the nagios container:
```
name=$(kubectl get pods -l app=nagrestconf -o jsonpath="{.items[0].metadata.name}")kubectl exec -ti $name -c nagios bash
```Set the password:
```
htpasswd /usr/local/nagios/etc/htpasswd.users nagiosadmin
exit
```Use port-forward to test:
```
kubectl port-forward $name 8080:80 8880:8080
```With the above setup:
* Nagios is at http://localhost:8080/nagios
* Nagrestconf is at http://localhost:8880/nagrestconf
Default credentials: nagrestconfadmin / adminTake a look in the `kubernetes/` directory to see service and ingress yaml examples.
## Running with Helm
TODO
## Environment Variables
```
/etc/nagrestconf/csv2nag.conf default value
----------------------------- ------------------------
CSV2NAG_DCC 0
CSV2NAG_REMOTE_EXECUTOR check_any
CSV2NAG_FRESHNESS_CHECK_COMMAND no-checks-received/etc/nagrestconf/nagctl.conf
----------------------------
NAGCTL_NAG_DIR /etc/nagios3
NAGCTL_NAG_OBJ_DIR \$NAG_DIR/objects
NAGCTL_NAG_CONFIG \$NAG_DIR/nagios.cfg
NAGCTL_COMMANDFILE /var/lib/nagios3/rw
NAGCTL_NAGIOSBIN /usr/sbin/nagios3
NAGCTL_CSV2NAG /usr/bin/csv2nag
NAGCTL_WWWUSER www-data/etc/nagrestconf/nagrestconf.ini
--------------------------------
NAGRESTCONF_INI_RESTURL http://127.0.0.1:8080/rest
NAGRESTCONF_INI_FOLDER local
NAGRESTCONF_INI_RESTUSER user
NAGRESTCONF_INI_RESTPASS pass/etc/nagrestconf/restart_nagios.conf (unused)
---------------------------------------------
RESTART_NAGIOS_CONF_NAG_INITD nagios3 (unused)
```## Build
To build, recompiling nagrestconf from github mclarkson/nagrestconf and remaking
nagrestconf and nagrestconf-restarter images, use:```
bash build.sh
```