nagios服務器搭建與使用
下載安裝包
nagios服務器端安裝包上官網下
或百度網盤
https://pan.baidu.com/s/1sALFDRt3n24LRheqA6Hp4g
t72q
建議去官網
安裝阿裏yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum makecache fast
#安裝epel源
yum makecache fast
服務器端
#安裝httpd和php
yum install -y httpd
yum install -y php php-cli php-common
#下載
cd /opt
wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
wget https://github.com/NagiosEnterprises/nrpe/archive/nrpe-3.0.tar.gz
[root@localhost opt]# ll
總用量 14052
-rw-r--r-- 1 root root 11155576 3月 7 17:04 nagios-4.2.1.tar.gz
-rw-r--r-- 1 root root 518015 3月 7 17:04 nrpe-3.2.1.tar.gz
#解壓
tar axf nagios-4.2.1.tar.gz
tar axf nagios-plugins-2.1.2.tar.gz
tar axf nrpe-3.2.1.tar.gz
安裝依賴包
#服務器端
yum install -y gcc glibc gcc-c++ make cmake unzip glibc-common gd gd-devel php perl-devel mysql-server openssl-devel
yum install -y gcc glibc make cmake glibc-common gd gd-devel php perl-devel mysql-server openssl-devel
編譯安裝nagios
mkdir /usr/local/nagios
cd nagios-4.2.1
./configure --prefix=/usr/local/nagios
make all && make install && echo $?
make install-config??#?把配置文件樣例復制到nagios的安裝目錄
make install-commandmode #?給外部命令訪問nagios配置文件的權限
make install-init??#?把nagios做成一個運行腳本,使nagios隨系統開機啟動
編譯安裝nagios-plugins
cd /opt/nagios-plugins-2.1.2
./configure --prefix=/usr/local/nagios
make && make install && echo $?
編譯安裝nrpe
cd /opt/nrpe-3.2.1
./configure --prefix=/usr/local/nagios --enable-command-args
編譯
make all
安裝
添加nagios用戶
make install-groups-users
安裝
make install
添加主配置文件
make install-config
配置xinetd
make install-inetd
設置nrpe管理命令
make install-init
編譯插件
make check_nrpe
安裝插件
make install-plugin
配置
修改nrpe設置
#先備份
cp /usr/local/nagios/etc/nrpe.cfg{,.bak}
#將hda1改為sda
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
#啟動nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
修改httpd設置
#先備份
cp /etc/httpd/conf/httpd.conf{,.bak}
vim /etc/httpd/conf/httpd.conf
#在文件最後添加
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
#啟動httpd
systemctl restart httpd
修改nagios配置
設置用戶密碼
!!!!註意,不適用nagiosadmin用戶會報錯,解決方法在"報錯"欄中
htpasswd -c /usr/local/nagios/etc/htpasswd admin
設置郵箱
#安裝發送郵件服務(sendmail不是必須)
yum install -y sendmail mailx
#設置smtp
vim /etc/mail.rc
set from=發送者信息
set smtp=smtp.263.net #smtp,這裏是263郵箱的
set smtp-auth-user=發送者郵箱
set smtp-auth-password=發送者郵箱認證
set smtp-auth=login
#測試發送郵件
echo "testmail"|mail -s "title" 接收者郵箱
#修改郵箱配置文件
vim /usr/local/nagios/etc/objects/commands.cfg(郵件發送,mailx可以不設置)
#指定接收者郵箱,多個用" "分隔
vim /usr/local/nagios/etc/objects/contacts.cfg
email 14******[email protected] 15******[email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
#添加監控主機配置文件目錄
vim /usr/local/nagios/etc/nagios.cfg
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cfg_dir=/usr/local/nagios/etc/servers/
#創建目錄
mkdir -pv /usr/local/nagios/etc/servers/
#添加對nrpe的支持
vim /usr/local/nagios/etc/objects/commands.cfg
#nrpe
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
啟動nagios
systemctl restart nagios
#重新導入配置文件
systemctl reload nagios
報錯
It appears as though you do not have permission to view information for any of the hosts you requested...
這是由於web使用用戶不是nagiosadmin,需要修改cgi.cfg
vim /usr/local/nagios/etc/cgi.cfg
在nagiosadmin後添加自定義的管理員名稱,如
nagiosadmin,admin
nagios服務器搭建與使用