DOCKER – Centreon

Depuis un petit moment je recherche le composant Centreon en mode Docker, mais je n’en ai pas trouvé vraiment à jour.
J’ai donc commencé à créer mon paquet d’installation dont voici le début de réflexion

docker-compose.yml

centreon: build: centreon-docker/ ports: - "222:22" - "2443:443" - "280:8080" volumes: - /var/log/centreon:/var/log/centreon links: - mariadb privileged: true phpmyadmin: #build: ./phpmyadmin image: phpmyadmin hostname: phpmyadmin env_file: - env/config.env ports: - "281:80" links: - mariadb mariadb: build: ./mariadb hostname: mariadb env_file: - env/config.env ports: - "23306:3306" volumes: - "./var/lib/centreon/mysql:/var/lib/mysql" - "./var/log/mysqld.log:/var/log/centreon/mysqld.log"

Dockerfile

FROM centos:6.8 MAINTAINER hcornet ########################################### # # Mise à jour lib # ########################################### RUN yum -y update RUN yum -y upgrade RUN yum -y update RUN yum -y install wget ########################################### # # Installation du repository centreon # ########################################### RUN mkdir /tmp/centron WORKDIR /tmp/centron RUN wget http://yum.centreon.com/standard/3.0/stable/noarch/RPMS/ces-release-3.0-1.noarch.rpm RUN yum -y install --nogpgcheck ces-release-3.0-1.noarch.rpm RUN rm -f ces-release-3.0-1.noarch.rpm RUN yum -y update RUN yum clean all ########################################### # # Installation des modules complémentaire # ########################################### RUN yum -y install tofrodos bsd-mailx python-software-properties software-properties-common gcc gcc-c++ make make python2.7 python-dev libperl-dev mysql-client libapache2-mod-php5 python-setuptools nano mc vim-tiny RUN yum -y install php5-memcached php5-geoip php5-gd php5-ldap php5-imap php5-pgsql php5-mcrypt sudo heirloom-mailx lsb-release build-essential cmake gsoap zlib1g-dev libxerces-c-dev apache2 apache2-mpm-prefork php5 RUN yum -y install php5-sqlite php-pear php5-snmp php5-gd php5-intl libmysqlclient-dev rrdtool librrds-perl libconfig-inifiles-perllibcrypt-des-perl libdigest-hmac-perl libdigest-sha-perl snmp snmpd libnet-snmp-perl RUN yum -y install libsnmp-perl libpng12-dev exim4 wget iputils-ping smbclient libssl-dev dnsutils fping less vim net-tools rsyslogsupervisor libjson-perl cron libqt4-network libqtcore4 libqt4-dev libqt4-sql-mysql RUN yum -y install librrd-dev dialog telnet netcat libevent-2.0-5 python-pip git libffi-dev curl libssh2-1-dev libgcrypt11-dev postgresql-server-dev-all openssh-server openssh-client libmysqlclient18 RUN yum -y install qt4-devel qt4-mysql rrdtool-devel gnutls-devel perl-devel perl-ExtUtils-Embed mailutils mail crontabs php-pear* snmp* snmptrapd snmp-mibs-downloader libdatetime-perl libgd-perl php5-curl RUN yum -y install libcgsi-gsoap-dev libkrb5-dev libldap2-dev libsnmp-dev gawk libwrap0-dev libmcrypt-dev gettext libconfig-inifiles-perl libcrypt-des-perl libgd-gd2-perl libgnutls28-dev php5-mysql RUN yum clean all ########################################### # # Installation de centreon lib # ########################################### WORKDIR /root/centreon ENV CENTREON_CLIB 1.4.2 RUN wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-clib/centreon-clib-${CENTREON_CLIB}.tar.gz RUN tar zxf centreon-clib-${CENTREON_CLIB}.tar.gz WORKDIR /root/centreon/centreon-clib-${CENTREON_CLIB}/build RUN cmake -DWITH_TESTING=0 -DWITH_PREFIX=/usr -DWITH_PREFIX_LIB=/usr/lib -DWITH_PREFIX_INC=/usr/include/centreon-clib -DWITH_SHARED_LIB=1 -DWITH_STATIC_LIB=0 -DWITH_PKGCONFIG_DIR=/usr/lib/pkgconfig . RUN make RUN make install ########################################### # # Installation centreon connector # ########################################### WORKDIR /root/centreon ENV CENTREON_CONN 1.1.2 RUN wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-connectors/centreon-connector-${CENTREON_CONN}.tar.gz RUN tar zxf centreon-connector-${CENTREON_CONN}.tar.gz WORKDIR /root/centreon/centreon-connector-${CENTREON_CONN}/perl/build RUN cmake -DWITH_PREFIX=/usr -DWITH_PREFIX_BINARY=/usr/lib/centreon-connector -DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include -DWITH_TESTING=0 . RUN make RUN make install WORKDIR /root/centreon/centreon-connector-${CENTREON_CONN}/ssh/build RUN cmake -DWITH_PREFIX=/usr -DWITH_PREFIX_BINARY=/usr/lib/centreon-connector -DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include -DWITH_TESTING=0 . RUN make RUN make install ########################################### # # Installation centreon engine # ########################################### WORKDIR /root/centreon RUN groupadd -g 6001 centreon-engine RUN useradd -u 6001 -g centreon-engine -m -r -d /var/lib/centreon-engine -c "Centreon-engine Admin" centreon-engine WORKDIR /root/centreon ENV CENTREON_ENG 1.7.2 RUN wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-engine/centreon-engine-${CENTREON_ENG}.tar.gz RUN tar zxf centreon-engine-${CENTREON_ENG}.tar.gz WORKDIR /root/centreon/centreon-engine-${CENTREON_ENG}/build RUN cmake -DWITH_CENTREON_CLIB_INCLUDE_DIR=/usr/include -DWITH_CENTREON_CLIB_LIBRARY_DIR=/usr/lib -DWITH_PREFIX=/usr -DWITH_PREFIX_BIN=/usr/sbin -DWITH_PREFIX_CONF=/etc/centreon-engine -DWITH_USER=centreon-engine -DWITH_GROUP=centreon-engine -DWITH_LOGROTATE_SCRIPT=1 -DWITH_VAR_DIR=/var/log/centreon-engine -DWITH_RW_DIR=/var/lib/centreon-engine/rw -DWITH_STARTUP_DIR=/etc/init.d -DWITH_PKGCONFIG_SCRIPT=1 -DWITH_PKGCONFIG_DIR=/usr/lib/pkgconfig -DWITH_TESTING=0 . RUN make RUN make install RUN chmod +x /etc/init.d/centengine RUN update-rc.d centengine defaults ########################################### # # Installation monitoring PLUGIN # ########################################### WORKDIR /root/centreon ENV CENTREON_PLUGIN 2.2 RUN wget https://www.monitoring-plugins.org/download/monitoring-plugins-${CENTREON_PLUGIN}.tar.gz RUN tar zxf monitoring-plugins-${CENTREON_PLUGIN}.tar.gz WORKDIR /root/centreon/monitoring-plugins-${CENTREON_PLUGIN} RUN ./configure --with-nagios-user=centreon-engine --with-nagios-group=centreon-engine --prefix=/usr/lib/centreon/plugins --libexecdir=/usr/lib/centreon/plugins --enable-perl-modules --with-openssl=/usr/bin/openssl --enable-extra-opts RUN make RUN make install ########################################### # # Installation Centreon PLUGIN # ########################################### WORKDIR /root/centreon DEBIAN_FRONTEND=noninteractive apt-get install -y --force-yes libxml-libxml-perl libjson-perl libwww-perl libxml-xpath-perl libnet-telnet-perl libnet-ntp-perl libnet-dns-perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl git-core git clone https://github.com/centreon/centreon-plugins.git cd centreon-plugins chmod +x centreon_plugins.pl chown -R centreon-engine:centreon-engine ${DL_DIR}/centreon-plugins cp -Rp * /usr/lib/centreon/plugins/ ########################################### # # Installation centreon broker # ########################################### WORKDIR /root/centreon RUN groupadd -g 6002 centreon-broker RUN useradd -u 6002 -g centreon-broker -m -r -d /var/lib/centreon-broker -c "Centreon-broker Admin" -s /bin/bash centreon-broker RUN usermod -aG centreon-broker centreon-engine RUN export PATH="$PATH:$(dirname $(locate /bin/qmake | head -n 1))" WORKDIR /root/centreon ENV CENTREON_BRK 3.0.8 RUN wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-broker/centreon-broker-${CENTREON_BRK}.tar.gz RUN tar zxf centreon-broker-${CENTREON_BRK}.tar.gz WORKDIR /root/centreon/centreon-broker-${CENTREON_BRK}/build RUN cmake -DWITH_DAEMONS='central-broker;central-rrd' -DWITH_GROUP=centreon-broker -DWITH_PREFIX=/usr -DWITH_PREFIX_BIN=/usr/sbin -DWITH_PREFIX_CONF=/etc/centreon-broker -DWITH_PREFIX_LIB=/usr/lib/centreon-broker -DWITH_PREFIX_VAR=/var/lib/centreon-broker -DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker -DWITH_STARTUP_DIR=/etc/init.d -DWITH_STARTUP_SCRIPT=auto -DWITH_TESTING=0 -DWITH_USER=centreon-broker . RUN make RUN make install RUN mkdir /var/log/centreon-broker RUN chown centreon-broker:centreon-engine /var/log/centreon-broker RUN chmod 775 /var/log/centreon-broker RUN chmod 775 /var/lib/centreon-broker RUN update-rc.d cbd defaults ########################################### # # Installation SNMP # ########################################### #RUN ln -s /usr/share/mibs/ /usr/share/snmp/mibs RUN echo "export MIBDIRS=/usr/share/snmp/mibs" >> /etc/default/snmpd RUN echo "export MIBS=ALL" >> /etc/default/snmpd ########################################### # # Installation centreon web # ########################################### RUN groupadd -g 6000 centreon RUN useradd -u 6000 -g $centreon -m -r -d /usr/share/centreon -c "Centreon Web user" -s /bin/bash centreon RUN usermod -aG centreon centreon RUN ln -s /usr/share/mibs/ /usr/share/snmp/mibs ADD files/ /etc/default/snmpd ADD files/ /etc/default/snmptrapd RUN sed -i -e "s/view systemonly/#view systemonly/g" /etc/snmp/snmpd.conf; RUN sed -i -e "s/#rocommunity public localhost/rocommunity public localhost/g" /etc/snmp/snmpd.conf; RUN sed -i -e "s/rocommunity public default -V systemonly/# rocommunity public default -V systemonly/g" /etc/snmp/snmpd.conf; RUN sed -i -e "s/defaultMonitors/#defaultMonitors/g" /etc/snmp/snmpd.conf; RUN sed -i -e "s/linkUpDownNotifications/#linkUpDownNotifications/g" /etc/snmp/snmpd.conf; RUN sed -i -e "s/mibs/#mibs/g" /etc/snmp/snmp.conf; RUN service snmpd restart RUN service snmptrapd restart WORKDIR /root/centreon ENV CENTREON_UI 2.8.9 ADD files/centreon-silent-install.txt /root/centreon/centreon-silent-install.txt RUN wget https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon/centreon-web-${CENTREON_UI}.tar.gz RUN mkdir -p /usr/local/nagios/libexec RUN chown centreon:centreon /usr/local/nagios/libexec RUN tar xzf centreon-web-${CENTREON_UI}.tar.gz WORKDIR /root/centreon/centreon-web-${CENTREON_UI} RUN ./install.sh -i -f ../centreon-silent-install.txt ########################################### # # Installation finalisation # ########################################### #Modify default config # Monitoring engine information sed -i -e "s/share\/centreon-engine/sbin/g" /usr/share/centreon/www/install/var/engines/centreon-engine; sed -i -e "s/lib64/lib/g" /usr/share/centreon/www/install/var/engines/centreon-engine; # sed -i -e "s/CENTREONPLUGINS/CENTREON_PLUGINS/g" /usr/share/centreon/www/install/var/engines/centreon-engine; # Broker module information sed -i -e "s/lib64\/nagios\/cbmod.so/lib\/centreon-broker\/cbmod.so/g" /usr/share/centreon/www/install/var/brokers/centreon-broker; # bug Centreon_plugin # sed -i -e "s/CENTREONPLUGINS/CENTREON_PLUGINS/g" /usr/share/centreon/www/install/steps/functions.php; sed -i -e "s/centreon_plugins'] = \"\"/centreon_plugins'] = \"\/usr\/lib\/centreon\/plugins\"/g" /usr/share/centreon/www/install/install.conf.php; # Add mysql config for Centreon echo '[mysqld] innodb_file_per_table=1 open_files_limit=32000' > /etc/mysql/conf.d/centreon.cnf service mysql restart RUN sed -i -e "s/;date.timezone =/date.timezone = `echo Europe/Paris | sed 's:\/:\\\/:g' `/g" /etc/php5/apache2/php.ini; # reload conf apache a2enconf centreon.conf service apache2 reload RUN chmod 775 /var/lib/centreon-broker/ RUN usermod -aG centreon-engine www-data RUN usermod -aG centreon-engine centreon RUN usermod -aG centreon-engine centreon-broker RUN chown centreon-engine:centreon-engine /var/lib/centreon-engine/ ########################################### # # Installation widgets # ########################################### ENV WIDGET_HOST 1.5.2 ENV WIDGET_HOSTGROUP 1.3.0 ENV WIDGET_SERVICE 1.5.3 ENV WIDGET_SERVICEGROUP 1.3.1 ENV WIDGET_GRID_MAP 1.0.0 ENV WIDGET_TOP_CPU 1.1.1 ENV WIDGET_TOP_MEMORY 1.1.1 ENV WIDGET_TACTICAL_OVERVIEW 1.0.1 ENV WIDGET_HTTP_LOADER 1.0.0 ENV WIDGET_ENGINE_STATUS 1.0.0 ENV WIDGET_GRAPH 1.5.2 RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-host-monitoring/centreon-widget-host-monitoring-${WIDGET_HOST}.tar.gz | tar -C /usr/share/centreon/www/widgets --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-hostgroup-monitoring/centreon-widget-hostgroup-monitoring-${WIDGET_HOSTGROUP}.tar.gz | tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-service-monitoring/centreon-widget-service-monitoring-${WIDGET_SERVICE}.tar.gz | tar -C /usr/share/centreon/www/widgets --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-grid-map/centreon-widget-grid-map-${WIDGET_GRID_MAP}.tar.gz | tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-live-top10-cpu/centreon-widget-live-top10-cpu-usage-${WIDGET_TOP_CPU}.tar.gz | tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-live-top10-memory/centreon-widget-live-top10-memory-usage-${WIDGET_TOP_MEMORY}.tar.gz | tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-tactical-overview/centreon-widget-tactical-overview-${WIDGET_TACTICAL_OVERVIEW}.tar.gz| tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-httploader/centreon-widget-httploader-${WIDGET_HTTP_LOADER}.tar.gz | tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-engine-status/centreon-widget-engine-status-${WIDGET_ENGINE_STATUS}.tar.gz | tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv RUN wget -qO- https://s3-eu-west-1.amazonaws.com/centreon-download/public/centreon-widgets/centreon-widget-servicegroup-monitoring/centreon-widget-servicegroup-monitoring-${WIDGET_SERVICEGROUP}.tar.gz| tar -C /usr/share/centreon/www/widgets/ --strip-components 1 -xzv /usr/bin/git clone -b ${WIDGET_GRAPH} https://github.com/Centreon-Widgets/centreon-widget-graph-monitoring.git mv centreon-widget-graph-monitoring/graph-monitoring /usr/share/centreon/www/widgets/ chown -R centreon:centreon/usr/share/centreon/www/widgets ADD files/centreon-engine_install /usr/local/centreon/centreon-core/www/install/var/engines/centreon-engine ADD files/centreon-broker_install /usr/local/centreon/centreon-core/www/install/var/brokers/centreon-broker ADD files/install_conf_php /usr/local/centreon/centreon-core/www/install/install.conf.php #RUN a2enconf centreon.conf #RUN service httpd reload RUN service centcore start RUN service cbd start RUN service centreontrapd start #add pagerduty flush cron, by default the cron is disabled in the cron file ADD files/pagerduty.cron /etc/cron.d/pagerduty #add check_by_ssh master WORKDIR /root/centreon RUN git clone https://github.com/osklil/nagios-misc.git && cd nagios-misc/check_by_ssh_master/ && make && mv check_by_ssh_master /usr/local/nagios/libexec/ ADD files/widgets.tgz /usr/local/centreon/centreon-core/www/widgets RUN chown -R centreon:centreon /usr/local/centreon/centreon-core/www/widgets #fix exim4 smarthost, edit files/start.sh to set the right smarthost and redirect_to COPY files/exim4.conf.tpl /etc/exim4/exim4.conf.tpl #fix sshd locales overwrite, this to allow ssh into the docker container, controversial, but useful to test checks RUN sed -i -e"s/^AcceptEnv LANG LC_\*/#AcceptEnv LANG LC_*/" /etc/ssh/sshd_config #add ssl to apache #RUN cd /etc/apache2/mods-enabled/ && ln -sf ../mods-available/ssl* . #RUN mkdir /etc/apache2/ssl #ADD files/sslcert.crt /etc/apache2/ssl/ #ADD files/sslcert.key /etc/apache2/ssl/ #ADD files/sslcert_chain.crt /etc/apache2/ssl/ #RUN chown -R www-data:www-data /etc/apache2/ssl/ && chmod 600 /etc/apache2/ssl/sslcert.key #ADD files/default-ssl /etc/apache2/sites-enabled/default-ssl ADD files/start.sh /start.sh ADD files/foreground.sh /etc/apache2/foreground.sh ADD files/supervisord.conf /etc/supervisord.conf RUN chmod 755 /start.sh RUN chmod 755 /etc/apache2/foreground.sh RUN mkdir -p /usr/local/centreon/status/www/ ADD files/naglite/* /usr/local/centreon/status/www/ #add basic auth to naglite #ADD files/status_access /usr/local/centreon/status/www/.htaccess #ADD files/status_access.htpasswd /etc/centreon/status_access ADD files/apache2_ports.conf /etc/apache2/ports.conf ADD files/000-default /etc/apache2/sites-available/000-default.conf ADD files/apache_centreon /etc/apache2/conf-enabled/centreon.conf #ADD a private/pub key for check_by_ssh #RUN mkdir /home/centreon/.ssh && chmod 700 /home/centreon/.ssh && chown centreon:centreon /home/centreon/.ssh #ADD files/id_dsa /home/centreon/.ssh/id_dsa #ADD files/id_dsa.pub /home/centreon/.ssh/id_dsa.pub #RUN chmod 600 /home/centreon/.ssh/id_dsa RUN mkdir /root/.ssh && chmod 700 /root/.ssh ADD files/authorized_keys /root/.ssh/authorized_keys RUN mkdir /var/run/sshd EXPOSE 8080 EXPOSE 22 CMD ["/bin/bash", "/start.sh"]
Taggé , , , , , .Mettre en favori le Permaliens.

Les commentaires sont fermés.