-
Notifications
You must be signed in to change notification settings - Fork 74
Install Guide on Raspian Wheezy (Raspberry Pi)
Adagios on Raspbian Wheezy 7.11 (Raspberry Pi)
Make sure your system is fully updated
apt-get update
apt-get upgrade
Install pre-requisites
Select a password for the nagios user when prompted
apt-get -y install nagios3 check-mk-livestatus
(optional) Install NRPE if you want it
Changes by OpenSSL have made some problems for the nrpe client and servers. The NRPE team have made some changes to remedy it but it requires the newest version which afaik isn't on the system repos yet, so we must get it straight from the source.
https://github.com/NagiosEnterprises/nrpe/issues/113
Commit used 5a517649580f05533e47cdfb77167b2fb5e9e848
apt-get install -y automake autotools-dev libmcrypt4 m4
if you are installing nrpe from source on clients we also need gcc libssl-dev make
cd
git clone https://github.com/NagiosEnterprises/nrpe.git
cd nrpe/
autoconf
./configure --enable-command-args
make all
make install-groups-users
make install
make install-config
make install-init
update-rc.d nrpe start 2 3 4 5 stop 0 1 6
the update-rc.d is for the raspian, you'd want systemctl enable nrpe or other commands on other systems
Install dependencies
apt-get -y install git apache2 libapache2-mod-wsgi python-simplejson pnp4nagios libgmp-dev python-dev
Install Pip
cd
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
Install Pynag
Neither Pynag in the Raspbian repo nor Pynag from Pip work correctly, so we get it from the source
Pynag used in this guide was commit 9bcf9ed60d249e7212a49af3de2099e7fb9a2352
cd
mkdir pynag
cd pynag
git clone https://github.com/pynag/pynag.git
cd pynag/
python setup.py build
python setup.py install
The path to nagios is wrong in the Pynag package which messes up the Daemon detection method so we need to change them
sed -i 's|nagios_bin="/usr/bin/nagios"|nagios_bin="/usr/bin/nagios3"|;' /usr/local/lib/python2.7/dist-packages/pynag/Control/__init__.py
sed -i 's|nagios_cfg="/etc/nagios/nagios.cfg"|nagios_cfg="/etc/nagios2/nagios.cfg"|;' /usr/local/lib/python2.7/dist-packages/pynag/Control/__init__.py
sed -i 's|service_name="nagios"|service_name="nagios3"|;' /usr/local/lib/python2.7/dist-packages/pynag/Control/__init__.py
Install Django 1.6.11
Latest version of Django does not seem to work correctly so we explicitly install Django 1.6.11
cd
mkdir django
cd django
wget https://www.djangoproject.com/m/releases/1.6/Django-1.6.11.tar.gz
tar -xzf Django-1.6.11.tar.gz
cd Django-1.6.11/
python setup.py install
Install Python requirements
First we install the build requirements if needed and then we install the python wheel and latest Paramiko which will take quite a while to complete
apt-get -y install python-dev libffi-dev
pip install setuptools wheel --upgrade
pip install paramiko --upgrade
Install Adagios
The commit used for this guide was 155b9731383f55eca889c98d0cedbab1df30a87c
cd /opt/
git clone https://github.com/opinkerfi/adagios.git
cp -r /opt/adagios/adagios/etc/adagios /etc/
cd /etc/adagios
Update paths in the config file
sed -i 's|/etc/nagios/nagios.cfg|/etc/nagios3/nagios.cfg|;' adagios.conf
sed -i 's|sudo /etc/init.d/nagios|sudo /etc/init.d/nagios3|;' adagios.conf
sed -i 's|nagios_url = "/nagios"|nagios_url = "/adagios"|;' adagios.conf
mkdir /etc/nagios3/adagios
sed -i 's|destination_directory = "/etc/nagios/adagios/"|destination_directory = "/etc/nagios3/adagios/"|;' adagios.conf
sed -i 's|pnp_filepath="/usr/share/nagios/html/pnp4nagios/index.php"|pnp_filepath="/usr/share/pnp4nagios/html/index.php"|;' adagios.conf
sed -i 's|/var/lib/adagios/contrib/|/opt/adagios/adagios/contrib|;' adagios.conf
sed -i 's|nagios_binary="/usr/sbin/nagios"|nagios_binary="/usr/sbin/nagios3"|;' adagios.conf
sed -i 's|nagios_service = "nagios"|nagios_service = "nagios3"|;' adagios.conf
chown -R nagios /etc/adagios/
chown -R nagios /etc/nagios3/
Add new settings to the nagios.conf file with Pynag and create a working directory for Adagios in var/lib
pynag config --append "broker_module=/usr/lib/check_mk/livestatus.o /var/lib/nagios3/rw/livestatus"
pynag config --append cfg_dir=/etc/adagios
pynag config --append cfg_dir=/etc/nagios3/adagios
mkdir /var/lib/adagios
chown nagios /var/lib/adagios
configure Apache
cat << EOF > /etc/apache2/conf.d/adagios.conf
WSGISocketPrefix /var/run/apache2/wsgi
WSGIDaemonProcess adagios user=nagios group=nagios processes=1 threads=25 python-path=/opt/adagios:/opt/adagios/adagios
WSGIProcessGroup adagios
WSGIScriptAlias /adagios /opt/adagios/adagios/wsgi.py
Alias /adagios/media /opt/adagios/adagios/media
<Location /adagios>
AuthName "Adagios Access"
AuthType Basic
AuthUserFile /etc/nagios3/htpasswd.users
Require valid-user
</Location>
EOF
Add a user that can access the Adagios, default username for the first admin is 'adagios'. Change the password to something you want
htpasswd -b /etc/nagios3/htpasswd.users adagios yourpassword
Add nagios to the sudoers file
cat << EOT > /etc/sudoers.d/nagios-adagios
nagios ALL=(root) NOPASSWD: ALL
EOT
chmod 0440 /etc/sudoers.d/nagios-adagios
After restarting everything you can go to http://your server ip here/adagios to test if everything is working properly
service nagios3 restart
service apache2 restart
Installing okconfig
The commit used in this guide was 3e9ee0419873016d647b99992f1ea85dfe3530f9
cd /opt
git clone git://github.com/opinkerfi/okconfig.git
cd okconfig
We need to make some changes to the okconfig config file, I advice also checking the /etc/okconfig.conf file manually and verify if all the paths are correct after executing the following commands
echo 'export PYTHONPATH=$PYTHONPATH:/opt/okconfig' > /etc/profile.d/okconfig.sh
cp /opt/okconfig/etc/okconfig.conf /etc/okconfig.conf
source /etc/profile
ln -s /opt/okconfig/usr/share/okconfig /usr/share/
ln -s /opt/okconfig/usr/bin/okconfig /usr/local/bin/
sed -i 's|/etc/nagios/|/etc/nagios3/|;' /etc/okconfig.conf
pynag config --append cfg_dir=/etc/nagios3/okconfig
Test the config file and install okconfig if there are no errors
okconfig init
okconfig verify
python setup.py install
chown nagios /etc/nagios3/okconfig/
Adagios integrates a git repo handler that stores any configuration changes made in a git repo.
If you do not want this feature you can disable it by going to Gear->Settings->Enable Githandler
cd /etc/nagios3/
git init
git config user.name "yourname"
git config user.email "[email protected]"
git add *
git commit -m "Initial commit"
chown -R nagios /etc/nagios3/* /etc/nagios3/.git
Restart everything
service nagios3 restart
service apache2 restart
And there you have it, Adagios installed.