Skip to content

tronyx/Docker-Nagios

 
 

Repository files navigation

Docker-Nagios

GitHub Workflow Status CodeFactor Docker Pulls Docker Image Size with architecture (latest by date/latest semver) Docker Image Size with architecture (latest by date/latest semver) Docker Image Size with architecture (latest by date/latest semver) GitHub

Notes

Fork of JasonRivers Docker Nagios image to incorporate various improvements from the open PRs on his repo. I have incorporated the following PRs:

Listing these as I wish to give the original users credit for their work.

Changes That I've Made

Things that I have changed/updated so far:

  • Updated the image to Ubuntu 22.04 LTS
  • Updated Nagios Core to the current latest
  • Updated Nagios Plugins to current latest
  • Updated NRPE to current latest
  • Updated NCPA to current latest
  • Updated NSCA to current latest
  • Added NagiosTV
  • Built multi-arch images

Information

Nagios Core running on Ubuntu 22.04 LTS with NagiosGraph, NRPE, NCPA, NSCA, CheckMK, and NagiosTV.

Product Version
Nagios Core 4.5.1
Nagios Plugins 2.4.9
NRPE 4.1.0
NCPA 3.0.2
NSCA 2.10.2
NagiosTV 0.8.7

You can find the Docker Hub Registry HERE or the GitHub Registry HERE.

Configurations

  • Nagios configuration is stored in the /opt/nagios/etc directory.
  • NagiosGraph configuration is stored in the /opt/nagiosgraph/etc directory.
  • NSCA configuration is stored in the /opt/nagios/etc directory.

Pull the Image

docker pull tronyx/nagios
docker pull ghcr.io/tronyx/nagios

Running

Run the container with the example configuration using the following docker commands:

docker run --name nagios -p 8080:80 tronyx/nagios
docker run --name nagios -p 8080:80 ghcr.io/tronyx/nagios

Alternatively you can use external Nagios configuration & log data with the following docker commands:

docker run --name nagios  \
  -v /path-to-nagios/etc/:/opt/nagios/etc/ \
  -v /path-to-nagios/var:/opt/nagios/var/ \
  -v /path-to-custom-plugins:/opt/Custom-Nagios-Plugins \
  -v /path-to-nagiosgraph-var:/opt/nagiosgraph/var \
  -v /path-to-nagiosgraph-etc:/opt/nagiosgraph/etc \
  -p 8080:80 tronyx/nagios

docker run --name nagios  \
  -v /path-to-nagios/etc/:/opt/nagios/etc/ \
  -v /path-to-nagios/var:/opt/nagios/var/ \
  -v /path-to-custom-plugins:/opt/Custom-Nagios-Plugins \
  -v /path-to-nagiosgraph-var:/opt/nagiosgraph/var \
  -v /path-to-nagiosgraph-etc:/opt/nagiosgraph/etc \
  -p 8080:80 ghcr.io/tronyx/nagios

Note: The path for the custom plugins will be /opt/Custom-Nagios-Plugins, which you will need to reference in your configuration scripts.

There are a number of environment variables that you can use to adjust the behaviour of the container:

Environment Variable Description
MAIL_RELAY_HOST Set Postfix relayhost
MAIL_INET_PROTOCOLS Set the inet_protocols in Postfix
NAGIOS_FQDN Set the server Fully Qualified Domain Name in Postfix
NAGIOS_TIMEZONE Set the timezone of the server

For the best results your Nagios container should have access to both IPv4 & IPv6 networks.

Credentials

The default credentials for the web interface are:

Username Password
nagiosadmin nagios

Extra Plugins