flavien.peyre 12c581710b Add check_nova_host_status
Change-Id: I2733f70d9caf4ca593ef54075d17e42e4eb20bad
2015-06-02 16:15:09 -04:00

132 lines
6.6 KiB
Docker

FROM ubuntu:trusty
MAINTAINER Alexandre Viau <alexandre.viau@savoirfairelinux.com>
RUN apt-get update && apt-get install -y vim supervisor python-dev libffi-dev libssl-dev nagios-nrpe-server wget python-virtualenv
# libffi-devand libssl-dev are for python-cryptography
### Alignak
RUN apt-get update && apt-get install -y python-pip python-pycurl
RUN useradd alignak && pip install https://github.com/Alignak-monitoring/alignak/archive/d7f457d5ed94f08d9a6a38809106d3e0d35a1712.tar.gz
## modules
# mod-webui
RUN cd /tmp && \
wget -O mod-webui.tar.gz https://github.com/shinken-monitoring/mod-webui/archive/3215d6c775326d1fb3afb161eb279dfb44e45986.tar.gz && \
tar -zxvf mod-webui.tar.gz && \
mv /tmp/mod-webui-*/module /var/lib/alignak/modules/webui && \
rm -rfv /tmp/mod-webui*
# auth-cfg-password
RUN cd /tmp && \
wget -O mod-auth-cfg-password.tar.gz https://github.com/shinken-monitoring/mod-auth-cfg-password/archive/6079d31974305b74e332424df44efecc9dfeabfc.tar.gz && \
tar -zxvf mod-auth-cfg-password.tar.gz && \
mv /tmp/mod-auth-cfg-password-*/module /var/lib/alignak/modules/auth-cfg-password && \
rm -rfv /tmp/mod-auth-cfg-password*
# mod-booster-nrpe
RUN cd /tmp && \
wget -O mod-booster-nrpe.tar.gz https://github.com/shinken-monitoring/mod-booster-nrpe/archive/de7099706855e32c1962c77740be0fae446d15f5.tar.gz && \
tar -zxvf mod-booster-nrpe.tar.gz && \
mv /tmp/mod-booster-nrpe-*/module /var/lib/alignak/modules/mod-booster-nrpe && \
rm -rfv /tmp/mod-booster-nrpe*
# mod-mongodb
RUN pip install pymongo==3.0.2
RUN cd /tmp && \
wget -O mod-mongodb.tar.gz https://github.com/shinken-monitoring/mod-mongodb/archive/5396fded1c56d57202236d1236703a160aec7375.tar.gz && \
tar -zxvf mod-mongodb.tar.gz && \
mv /tmp/mod-mongodb-*/module /var/lib/alignak/modules/mod-mongodb && \
rm -rfv /tmp/mod-mongodb*
# mod-influxdb
RUN pip install influxdb==2.3.0
RUN cd /tmp && \
wget -O mod-influxdb.tar.gz https://github.com/savoirfairelinux/mod-influxdb/archive/28c1bf1a34748002ad8ee1404123579373ce82fd.tar.gz && \
tar -zxvf mod-influxdb.tar.gz && \
mv /tmp/mod-influxdb-*/module /var/lib/alignak/modules/mod-influxdb && \
rm -rfv /tmp/mod-influxdb*
# mod-ws-arbiter
RUN cd /tmp && \
wget -O mod-ws-arbiter.tar.gz https://github.com/shinken-monitoring/mod-ws-arbiter/archive/ebae7950be9452ab80ec58575e9887d9b2a15d2a.tar.gz && \
tar -zxvf mod-ws-arbiter.tar.gz && \
mv /tmp/mod-ws-arbiter-*/module /var/lib/alignak/modules/ws-arbiter && \
rm -rfv /tmp/mod-ws-arbiter*
# mod-mongo-live-config
RUN cd /tmp && \
wget -O mod-mongo-live-config.tar.gz https://github.com/savoirfairelinux/mod-mongo-live-config/archive/0.3.0.tar.gz && \
tar -zxvf mod-mongo-live-config.tar.gz && \
mv /tmp/mod-mongo-live-config-*/mod_mongo_live_config /var/lib/alignak/modules/mod_mongo_live_config && \
rm -rfv /tmp/mod-mongo-live-config*
# mod-ceilometer
RUN cd /tmp && \
wget -O mod-ceilometer.tar.gz https://github.com/savoirfairelinux/mod-ceilometer/archive/062c546b12f6a57b3f9810955e1aee6b5b92e38f.tar.gz && \
tar -zxvf mod-ceilometer.tar.gz && \
mv /tmp/mod-ceilometer-*/module /var/lib/alignak/modules/mod-ceilometer && \
rm -rfv /tmp/mod-ceilometer*
## plugins
RUN apt-get update && apt-get install -y nagios-plugins nagios-nrpe-plugin
# run permissions for user `alignak`
RUN chmod u+s /usr/lib/nagios/plugins/check_icmp
RUN chmod u+s /bin/ping
RUN chmod u+s /bin/ping6
# Download plugins
ENV MONITORING_TOOLS_VERSION 0.3.2
RUN apt-get update && apt-get install -y subversion && \
svn checkout https://github.com/savoirfairelinux/monitoring-tools/tags/${MONITORING_TOOLS_VERSION}/plugins/check-glance /plugins/check_glance && \
svn checkout https://github.com/savoirfairelinux/monitoring-tools/tags/${MONITORING_TOOLS_VERSION}/plugins/check-keystone /plugins/check_keystone && \
svn checkout https://github.com/savoirfairelinux/monitoring-tools/tags/${MONITORING_TOOLS_VERSION}/plugins/check-nova /plugins/check_nova && \
svn checkout https://github.com/savoirfairelinux/monitoring-tools/tags/${MONITORING_TOOLS_VERSION}/plugins/check-cinder /plugins/check_cinder && \
svn checkout https://github.com/savoirfairelinux/monitoring-tools/tags/${MONITORING_TOOLS_VERSION}/plugins/check-ceilometer /plugins/check_ceilometer && \
svn checkout https://github.com/savoirfairelinux/monitoring-tools/tags/${MONITORING_TOOLS_VERSION}/plugins/check-nova-host-status /plugins/check_nova_host_status && \
apt-get remove -y subversion
## Install plugins dependencies
RUN mkdir -p /opt/surveilplugins
RUN virtualenv /opt/surveilplugins/env
ENV PATH=$PATH:/opt/surveilplugins/env/bin
RUN /opt/surveilplugins/env/bin/pip install "pbr>=0.6,!=0.7,<1.0" shinkenplugins python-keystoneclient python-glanceclient
## Install Plugins
RUN mkdir -p /usr/lib/alignak/plugins
RUN cd /plugins/check_keystone && sudo /opt/surveilplugins/env/bin/python setup.py install && ln -s /opt/surveilplugins/env/bin/check_keystone /usr/lib/alignak/plugins/
RUN cd /plugins/check_glance && sudo /opt/surveilplugins/env/bin/python setup.py install && ln -s /opt/surveilplugins/env/bin/check_glance /usr/lib/alignak/plugins/
RUN cd /plugins/check_nova && sudo /opt/surveilplugins/env/bin/python setup.py install && ln -s /opt/surveilplugins/env/bin/check_nova /usr/lib/alignak/plugins/
RUN cd /plugins/check_cinder && sudo /opt/surveilplugins/env/bin/python setup.py install && ln -s /opt/surveilplugins/env/bin/check_cinder /usr/lib/alignak/plugins/
RUN cd /plugins/check_ceilometer && sudo /opt/surveilplugins/env/bin/python setup.py install && ln -s /opt/surveilplugins/env/bin/check_ceilometer /usr/lib/alignak/plugins/
RUN cd /plugins/check_nova_host_status && sudo /opt/surveilplugins/env/bin/python setup.py install && ln -s /opt/surveilplugins/env/bin/check_nova_host_status /usr/lib/alignak/plugins/
## packs
RUN sh -c 'gpg --recv-keys --keyserver keyserver.ubuntu.com 2320E8F8 && gpg --export --armor 2320E8F8 | apt-key add -' && \
sh -c "echo 'deb http://deb.kaji-project.org/ubuntu14.04/ plugins main' >> /etc/apt/sources.list.d/kaji.list" && \
apt-get update && \
apt-get install -y --force-yes monitoring-packs-sfl-generic-host monitoring-packs-sfl-linux-system-nrpe
## configuration
ADD setup.sh /setup.sh
RUN rm -rf /etc/alignak
ADD etc/alignak /etc/alignak
RUN chown -R root:alignak /etc/alignak
### Supervisor
ADD etc/supervisor /etc/supervisor
# Alignak WEBUI
EXPOSE 7767
# ws-arbiter
EXPOSE 7760
# OpenStack Authentication credentials. Used for sending data to Ceilometer
ENV SURVEIL_OS_AUTH_URL=http://keystone:5000/v2.0
ENV SURVEIL_OS_USERNAME=admin
ENV SURVEIL_OS_PASSWORD=password
ENV SURVEIL_OS_TENANT_NAME=admin
CMD ./setup.sh && /usr/bin/supervisord