CARVIEW |
Select Language
HTTP/2 200
date: Wed, 30 Jul 2025 23:42:40 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"b0d99d1536df22a91b24e4f54845f1e2"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=vYXax%2BjnCXvAS%2Bt5ResRDeayIZOX3Lab%2FN8HRoRR%2Fvlkzxe78xe0crue5mC5MoA0s%2FUF3BByscXKstwFIO7PIivDLFciiOHHN1vLvOenPzraYwErvDpuik1bP3G%2FAOPMyHCcyAM0SAbsbO2mK3Ib75%2Fdprjm5IyyU2NOPkOFaFHIA7PGvCe4gEsZwpREbMRqHMPBlVru7U2CkR%2F8nA%2FExODOA3DoIAHkEisYFEBHTKBcCYG1yXgsdRBZPCMZ%2F%2B%2Bi%2BZq3MoOAizS8D1RR31uqNw%3D%3D--PgK2mENpkn4mzIdc--qby42xmD7f1iVBbb0IUDgw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1792511264.1753918959; Path=/; Domain=github.com; Expires=Thu, 30 Jul 2026 23:42:39 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 30 Jul 2026 23:42:39 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 9586:184B44:CA209:12FA97:688AADEF
Naemon and Adagios Install Guide · opinkerfi/adagios Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 75
Naemon and Adagios Install Guide
hakong edited this page Apr 9, 2019
·
57 revisions
This document explains how to install Adagios and Naemon on CentOS 7 or Red Hat Enterprise Linux 7 x86_64.
If you find any errors in these docs, please be so kind to either update the wiki or file an issue in the issue tracker.
# If you don't know how to configure SElinux, put it in permissive mode:
sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config
setenforce 0
# First install the opensource.is and consol labs repositories
rpm -ihv https://opensource.is/repo/ok-release.rpm
rpm -Uvh https://labs.consol.de/repo/stable/rhel7/x86_64/labs-consol-stable.rhel7.noarch.rpm
yum update -y ok-release
# Centos users need to install the epel repositories (fedora users skip this step)
yum install -y epel-release
# Redhat users:
subscription-manager repos --enable=rhel-7-server-optional-rpms
subscription-manager repos --enable=rhel-7-server-extras-rpms
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# Install Naemon / Thruk
yum install -y naemon
# Install Adagios and other needed packages
yum --enablerepo=ok-testing install -y python2-django16 adagios okconfig git acl pnp4nagios python-setuptools
# Now all the packages have been installed, and we need to do a little bit of
# configuration before we start doing awesome monitoring
# Lets make sure adagios can write to naemon configuration files, and that
# it is a valid git repo so we have audit trail
cd /etc/naemon/
git init
git config user.name "User"
git config user.email "email@mail.com"
git add .
git commit -a -m "Initial commit"
# Fix permissions for naemon and pnp4nagios
chgrp naemon /etc/pnp4nagios/process_perfdata.cfg
chown naemon:naemon -R /etc/adagios
chown naemon:naemon /var/lib/adagios /var/lib/pnp4nagios /var/spool/pnp4nagios
chown -R naemon:root /var/log/okconfig /var/log/pnp4nagios
setfacl -R -m group:naemon:rwx -m d:group:naemon:rwx /etc/naemon/ /etc/adagios /var/lib/adagios /var/lib/pnp4nagios /var/spool/pnp4nagios
setfacl -R -m user:naemon:rwx -m d:user:naemon:rwx /var/log/okconfig /var/log/pnp4nagios
# Make sure nagios doesn't interfere
mkdir /etc/nagios/disabled
mv /etc/nagios/{nagios,cgi}.cfg /etc/nagios/disabled/
# Make objects created by adagios go to /etc/naemon/adagios
mkdir -p /etc/naemon/adagios
pynag config --append cfg_dir=/etc/naemon/adagios
# Make adagios naemon aware
sed -i '
s|/etc/nagios/passwd|/etc/thruk/htpasswd|g
s|user=nagios|user=naemon|g
s|group=nagios|group=naemon|g' /etc/httpd/conf.d/adagios.conf
sed -i '
s|/etc/nagios/nagios.cfg|/etc/naemon/naemon.cfg|g
s|nagios_url = "/nagios|nagios_url = "/thruk|g
s|/etc/nagios/adagios/|/etc/naemon/adagios/|g
s|/etc/init.d/nagios|/etc/init.d/naemon|g
s|nagios_service = "nagios"|nagios_service = "naemon"|g
s|livestatus_path = None|livestatus_path = "/var/cache/naemon/live"|g
s|/usr/sbin/nagios|/usr/bin/naemon|g' /etc/adagios/adagios.conf
# Make okconfig naemon aware
sed -i '
s|/etc/nagios/nagios.cfg|/etc/naemon/naemon.cfg|g
s|/etc/nagios/okconfig/|/etc/naemon/okconfig/|g
s|/etc/nagios/okconfig/examples|/etc/naemon/okconfig/examples|g' /etc/okconfig.conf
okconfig init
okconfig verify
# Add naemon to apache group so it has permissions to pnp4nagios's session files
usermod -G apache naemon
# Allow Adagios to control the service
sed -i '
s|nagios|naemon|g
s|/usr/sbin/naemon|/usr/bin/naemon|g' /etc/sudoers.d/adagios
# A list of strings representing the host/domain names that this Django site can
# serve. This is a security measure to prevent HTTP Host header attacks
echo "ALLOWED_HOSTS = ['*']" >> /etc/adagios/adagios.conf
# Make naemon use nagios plugins, more people are doing it like that.
sed -i 's|/usr/lib64/naemon/plugins|/usr/lib64/nagios/plugins|g' /etc/naemon/resource.cfg
# Configure pnp4nagios
sed -i 's|/etc/nagios/passwd|/etc/thruk/htpasswd|g' /etc/httpd/conf.d/pnp4nagios.conf
sed -i '
s/user = nagios/user = naemon/g
s/group = nagios/group = naemon/g' /etc/pnp4nagios/npcd.cfg
# Enable Naemon performance data
pynag config --set "process_performance_data=1"
# service performance data
pynag config --set 'service_perfdata_file=/var/lib/naemon/service-perfdata'
pynag config --set 'service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$'
pynag config --set 'service_perfdata_file_mode=a'
pynag config --set 'service_perfdata_file_processing_interval=15'
pynag config --set 'service_perfdata_file_processing_command=process-service-perfdata-file'
# host performance data
pynag config --set 'host_perfdata_file=/var/lib/naemon/host-perfdata'
pynag config --set 'host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$'
pynag config --set 'host_perfdata_file_mode=a'
pynag config --set 'host_perfdata_file_processing_interval=15'
pynag config --set 'host_perfdata_file_processing_command=process-host-perfdata-file'
pynag add command command_name=process-service-perfdata-file command_line='/bin/mv /var/lib/naemon/service-perfdata /var/spool/pnp4nagios/service-perfdata.$TIMET$'
pynag add command command_name=process-host-perfdata-file command_line='/bin/mv /var/lib/naemon/host-perfdata /var/spool/pnp4nagios/host-perfdata.$TIMET$'
pynag config --append cfg_dir=/etc/naemon/commands/
# Reset password for Thruk/Naemon admin user
htpasswd -c /etc/thruk/htpasswd thrukadmin
# Disable OMD thruk service
systemctl disable thruk.service
# We need to restart both apache and naemon so new changes take effect
systemctl enable naemon httpd npcd
systemctl restart naemon httpd npcd
# Allow connections through the firewall on port 80 and 443
firewall-cmd --add-service=https --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
# Install nagios plugins
yum install -y nagios-plugins-all
# Install nagios plugins from Opin Kerfi (nagios-okplugin)
yum install -y nagios-okplugin-* --skip-broken
You can’t perform that action at this time.