Sign inSign up

cpginfo/nagios

By cpginfo

Updated over 5 years ago

Nagios 4.4.5 And Pnp4nagios-0.6.24

Image
0

131

cpginfo/nagios repository overview

DockerFile

FROM ubuntu:16.04
MAINTAINER [email protected]
ENV NAGIOS_HOME            /opt/nagios 
ENV NAGIOS_USER            nagios
ENV NAGIOS_GROUP           nagios
ENV NAGIOS_CMDUSER         nagios
ENV NAGIOS_CMDGROUP        nagios
ENV NAGIOS_FQDN            nagios.example.com
ENV NAGIOSADMIN_USER       nagiosadmin
ENV NAGIOSADMIN_PASS       nagios
ENV APACHE_RUN_USER        nagios
ENV APACHE_RUN_GROUP       nagios
ENV NAGIOS_TIMEZONE        UTC
ENV DEBIAN_FRONTEND        noninteractive
ENV NG_NAGIOS_CONFIG_FILE  ${NAGIOS_HOME}/etc/nagios.cfg
ENV NG_CGI_DIR             ${NAGIOS_HOME}/sbin
ENV NG_WWW_DIR             ${NAGIOS_HOME}/share/nagiosgraph
ENV NG_CGI_URL             /cgi-bin
ENV NAGIOS_BRANCH          nagios-4.4.5
ENV NAGIOS_PLUGINS_BRANCH  release-2.2.1
ENV NRPE_BRANCH            nrpe-3.2.1
RUN echo postfix postfix/main_mailer_type string "'Internet Site'" | debconf-set-selections  && \
echo postfix postfix/mynetworks string "127.0.0.0/8" | debconf-set-selections            && \
echo postfix postfix/mailname string ${NAGIOS_FQDN} | debconf-set-selections             && \
apt-get update && apt-get install -y bc automake autoconf apache2-utils apache2 gperf git gettext fping dnsutils build-essential bsd-mailx \
libcache-memcached-perl libapache2-mod-php jq iputils-ping libdbi-perl libdbi-dev libdbd-mysql-perl libcgi-pm-perl libgd-gd2-perl libgd2-xpm-dev \
libfreeradius-client-dev libmysqlclient-dev ibldap2-dev libjson-perl libnagios-plugin-perl libnagios-object-perl libnet-xmpp-perl libnet-tftp-perl libnet-snmp-perl \
librrds-perl libredis-perl libpq-dev libwww-perl libswitch-perl libssl-dev postfix php-gd php-cli parallel netcat m4 snmp-mibs-downloader rsyslog python-pip \
python unzip snmpd snmp smbclient runit zsh rrdtool librrd-simple-perl php-gd php-xml ipcalc vim tcpdump sshpass net-tools telnet expect gawk tzdata make \
librrds-perl g++ php-cli php-gd libapache2-mod-php snmp-mibs-downloader     && \
apt-get clean && rm -Rf /var/lib/apt/lists/*
RUN ( egrep -i "^${NAGIOS_GROUP}"    /etc/group || groupadd $NAGIOS_GROUP    )                         && \
( egrep -i "^${NAGIOS_CMDGROUP}" /etc/group || groupadd $NAGIOS_CMDGROUP ) &&\
RUN ( id -u $NAGIOS_USER    || useradd --system -d $NAGIOS_HOME -g $NAGIOS_GROUP    $NAGIOS_USER    )  && \
( id -u $NAGIOS_CMDUSER || useradd --system -d $NAGIOS_HOME -g $NAGIOS_CMDGROUP $NAGIOS_CMDUSER )
 
RUN cd /tmp                                           && \ git clone https://github.com/multiplay/qstat.git  && \  cd qstat  && \
./autogen.sh                                      && \
./configure                                       && \
make && make install && make clean && cd /tmp && rm -Rf qstat && \
RUN cd /tmp                                                                          && \
git clone https://github.com/NagiosEnterprises/nagioscore.git -b $NAGIOS_BRANCH  && \
cd nagioscore                                                                    && \
./configure --prefix=${NAGIOS_HOME} --exec-prefix=${NAGIOS_HOME} --enable-event-broker --with-command-user=${NAGIOS_CMDUSER} \
--with-command-group=${NAGIOS_CMDGROUP} --with-nagios-user=${NAGIOS_USER} --with-nagios-group=${NAGIOS_GROUP}      && \
make all && make install && make install-config && make install-commandmode && make install-webconf && make clean && \
cd /tmp && rm -Rf nagioscore && \

RUN cd /tmp                                                                                   && \
git clone https://github.com/nagios-plugins/nagios-plugins.git -b $NAGIOS_PLUGINS_BRANCH  && \
cd nagios-plugins                                                                         && \
./tools/setup                                                                             && \
./configure --prefix=${NAGIOS_HOME} --with-ipv6 --with-ping6-command="/bin/ping6 -n -U -W %d -c %d %s"  &&\
make && make install && make clean && \
mkdir -p /usr/lib/nagios/plugins                                                          && \
ln -sf ${NAGIOS_HOME}/libexec/utils.pm /usr/lib/nagios/plugins                            && \
cd /tmp && rm -Rf nagios-plugins
RUN wget -O ${NAGIOS_HOME}/libexec/check_ncpa.py https://raw.githubusercontent.com/NagiosEnterprises/ncpa/v2.0.5/client/check_ncpa.py  && \
chmod +x ${NAGIOS_HOME}/libexec/check_ncpa.py &&\
RUN cd /tmp                                                                  && \
git clone https://github.com/NagiosEnterprises/nrpe.git -b $NRPE_BRANCH  && \
cd nrpe                                                                  && \
./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu  && \
make check_nrpe && cp src/check_nrpe ${NAGIOS_HOME}/libexec/ && make clean && cd /tmp && rm -Rf nrpe &&\
RUN cd /tmp                                           && \
wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.24.tar.gz  && \
tar -xzvf pnp4nagios-0.6.24.tar.gz                && \
cd pnp4nagios-0.6.24                              && \
./configure --with-httpd-conf=/etc/apache2/sites-enabled --with-nagios-user=nagios --with-nagios-group=nagios          && \
make all && make install  && make install-webconf  && make install-config && make install-init && make clean && cd /tmp && rm -Rf pnp4nagios-0.6.24 && \

RUN cd /opt                                                                         && \
pip install pymssql                                                             && \
git clone https://github.com/willixix/naglio-plugins.git     WL-Nagios-Plugins  && \
git clone https://github.com/JasonRivers/nagios-plugins.git  JR-Nagios-Plugins  && \
git clone https://github.com/justintime/nagios-plugins.git   JE-Nagios-Plugins  && \
git clone https://github.com/nagiosenterprises/check_mssql_collection.git   nagios-mssql  && \
chmod +x /opt/WL-Nagios-Plugins/check* && chmod +x /opt/JE-Nagios-Plugins/check_mem/check_mem.pl                          && \
cp /opt/JE-Nagios-Plugins/check_mem/check_mem.pl ${NAGIOS_HOME}/libexec/           && \
cp /opt/nagios-mssql/check_mssql_database.py ${NAGIOS_HOME}/libexec/                         && \
cp /opt/nagios-mssql/check_mssql_server.py ${NAGIOS_HOME}/libexec/  && sed -i.bak 's/.*\=www\-data//g' /etc/apache2/envvars
RUN export DOC_ROOT="DocumentRoot $(echo $NAGIOS_HOME/share)"                         && \
sed -i "s,DocumentRoot.*,$DOC_ROOT," /etc/apache2/sites-enabled/000-default.conf  && \
sed -i "s,</VirtualHost>,<IfDefine ENABLE_USR_LIB_CGI_BIN>\nScriptAlias /cgi-bin/ ${NAGIOS_HOME}/sbin/\n</IfDefine>\n</VirtualHost>," /etc/apache2/sites-enabled/000-default.conf  && ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load
RUN mkdir -p -m 0755 /usr/share/snmp/mibs                     && \
mkdir -p         ${NAGIOS_HOME}/etc/conf.d                && \
mkdir -p         ${NAGIOS_HOME}/etc/monitor               && \
mkdir -p -m 700  ${NAGIOS_HOME}/.ssh                      && \
chown ${NAGIOS_USER}:${NAGIOS_GROUP} ${NAGIOS_HOME}/.ssh  && \
touch /usr/share/snmp/mibs/.foo                           && \
ln -s /usr/share/snmp/mibs ${NAGIOS_HOME}/libexec/mibs    && \
ln -s ${NAGIOS_HOME}/bin/nagios /usr/local/bin/nagios     && \
download-mibs && echo "mibs +ALL" > /etc/snmp/snmp.conf
RUN sed -i 's,/bin/mail,/usr/bin/mail,' ${NAGIOS_HOME}/etc/objects/commands.cfg  && \
sed -i 's,/usr/usr,/usr,'           ${NAGIOS_HOME}/etc/objects/commands.cfg
RUN cp /etc/services /var/spool/postfix/etc/  && \
echo "smtp_address_preference = ipv4" >> /etc/postfix/main.cf
RUN rm -rf /etc/rsyslog.d /etc/rsyslog.conf && rm -rf /etc/sv/getty-5
ADD overlay /
RUN echo "use_timezone=${NAGIOS_TIMEZONE}" >> ${NAGIOS_HOME}/etc/nagios.cfg && mkdir -p /orig/var && mkdir -p /orig/etc  && \ 
cp -Rp ${NAGIOS_HOME}/var/* /orig/var/  &&   cp -Rp ${NAGIOS_HOME}/etc/* /orig/etc/
RUN a2enmod session         && a2enmod session_cookie  && a2enmod session_crypto  && a2enmod auth_form && a2enmod request
RUN chmod +x /usr/local/bin/start_nagios && chmod +x /etc/sv/apache/run && chmod +x /etc/sv/nagios/run && chmod +x /etc/sv/postfix/run && \
chmod +x /etc/sv/rsyslog/run && chmod +x /opt/nagiosgraph/etc/fix-nagiosgraph-multiple-selection.sh
RUN cd /opt/nagiosgraph/etc && sh fix-nagiosgraph-multiple-selection.sh && rm /opt/nagiosgraph/etc/fix-nagiosgraph-multiple-selection.sh
# enable all runit services
RUN ln -s /etc/sv/* /etc/service
ENV APACHE_LOCK_DIR /var/run
ENV APACHE_LOG_DIR /var/log/apache2
#Set ServerName and timezone for Apache
RUN echo "ServerName ${NAGIOS_FQDN}" > /etc/apache2/conf-available/servername.conf && echo "PassEnv TZ" > /etc/apache2/conf-available/timezone.conf && \
ln -s /etc/apache2/conf-available/servername.conf /etc/apache2/conf-enabled/servername.conf    && \
ln -s /etc/apache2/conf-available/timezone.conf /etc/apache2/conf-enabled/timezone.conf
EXPOSE 80
VOLUME "${NAGIOS_HOME}/var" "${NAGIOS_HOME}/etc" "/var/log/apache2" "/opt/Custom-Nagios-Plugins" "/opt/nagiosgraph/var" "/opt/nagiosgraph/etc"
CMD [ "/usr/local/bin/start_nagios" ]

Tag summary

Content type

Image

Digest

Size

410.7 MB

Last updated

over 5 years ago

docker pull cpginfo/nagios:2.6