一、系统环境

操作系统:CentOS 7 (最小化安装)

软件版本:Nagios 4.11 Pnp4nagios 0.6.25

二、部署脚本

安装脚本如下:

#!/bin/sh#mysql密码mysqlps=123#nagios账户密码nagiospa=123#nagiosadmin账户密码nagadps=123#获取本机IPhostip=`ipa|grepinet|grep-v127.0.0.1|grep-vinet6|awk'{print$2}'|awk-F/'{print$1}'|tail-1`#系统配置systemctlstopfirewalld.servicesystemctldisablefirewalld.servicesed-i"s/SELINUX=enforcing/SELINUX=disabled/g"/etc/selinux/configsetenforce0yum-yinstallepel-releaseyum-yinstallbash-completionntpmailxexpectyum-axelgetvimecho"aliasvi='vim'">>/etc/bashrcecho"aliasll='ls-lh--color=auto'">>/etc/bashrcecho"setnu">>/etc/vimrcyumupdate-y#安装LAMPyum-yinstallhttpdmariadb-servermariadbphpphp-mysqlphp-gdphp-pearsystemctlstarthttpdsystemctlenablehttpdsystemctlstartmariadbsystemctlenablemariadbexpect<<EOFsettimeout-1spawnmysql_secure_installationexpect{"*(enterfornone):"{send"\r";exp_continue}"*password:"{send"${mysqlps}\r";exp_continue}"*password:"{send"${mysqlps}\r";exp_continue}"*users?"{send"Y\r";exp_continue}"*remotely?"{send"Y\r";exp_continue}"*it?"{send"Y\r";exp_continue}"*now?"{send"Y\r";exp_continue}}expecteofEOF#安装Nagiosyuminstall-ygdgd-develgccglibcglibc-commonopensslopenssl-developenssl-perlunzipwgetuseradd-mnagiosexpect<<EOFsettimeout-1spawnpasswdnagiosexpect{"*password:"{send"${nagiospa}\r";exp_continue}"*password:"{send"${nagiospa}\r"}}expecteofEOFgroupaddnagcmdusermod-a-Gnagcmdnagiosusermod-a-Gnagcmdapachecd/tmpwgethttps://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gztarxzfnagios-4.1.1.tar.gzcdnagios-4.1.1./configure--with-command-group=nagcmdmakeallmakeinstallmakeinstall-initmakeinstall-commandmodemakeinstall-configmakeinstall-webconfmakeinstall-exfoliationmakeinstall-classicui#安装nagios-plugins、nrpeyuminstall-ynagios-plugins*nrpe*echo-e"#'check_nrpe'commanddefinitiondefinecommand{\tcommand_namecheck_nrpe\tcommand_line\$USER1\$/check_nrpe-H\$HOSTADDRESS\$-c\$ARG1\$}">>/usr/local/nagios/etc/objects/commands.cfgsed-i"s/nrpe_user=nrpe/nrpe_user=nagios/g"/etc/nagios/nrpe.cfgsed-i"s/nrpe_group=nrpe/nrpe_group=nagcmd/g"/etc/nagios/nrpe.cfgsed-i"s%/usr/local/nagios/libexec%/usr/lib64/nagios/plugins%g"/usr/local/nagios/etc/resource.cfg#设置nagiosWeb访问密码expect<<EOFsettimeout-1spawnhtpasswd-c/usr/local/nagios/etc/htpasswd.usersnagiosadminexpect{"*password:"{send"${nagadps}\r";exp_continue}"*password:"{send"${nagadps}\r"}}expecteofEOF#修复假报警touch/var/www/html/index.html#安装pnp4nagiosyum-yinstallphp-gdrrdtool-perlrrdtoollibrrds-perlperl-Time-HiRescd/tmpwgethttp://nchc.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gztarzxvfpnp4nagios-0.6.25.tar.gzcdpnp4nagios-0.6.25./configure--with-nagios-user=nagios--with-nagios-group=nagcmdmakeallmakefullinstallsed-i"s%Orderallow,deny%Requireallgranted%g"/etc/httpd/conf.d/pnp4nagios.confsed-i"s%Allowfromall%%g"/etc/httpd/conf.d/pnp4nagios.confcd/usr/local/pnp4nagios/etcls|grepsample|awk-F"."'{print$1}'|xargs-i{}mv{}.cfg-sample{}.cfgcd/usr/local/pnp4nagios/etc/pagesls|grepsample|awk-F"."'{print$1}'|xargs-i{}mv{}.cfg-sample{}.cfgcd/usr/local/pnp4nagios/etc/check_commandsls|grepsample|awk-F"."'{print$1}'|xargs-i{}mv{}.cfg-sample{}.cfgmv/usr/local/pnp4nagios/share/install.php/usr/local/pnp4nagios/share/install.php.baksed-i's%process_performance_data=0%process_performance_data=1%'/usr/local/nagios/etc/nagios.cfgsed-i's%enable_environment_macros=0%enable_environment_macros=1%'/usr/local/nagios/etc/nagios.cfgsed-i's%#host_perfdata_command%host_perfdata_command%'/usr/local/nagios/etc/nagios.cfgsed-i's%#service_perfdata_command%service_perfdata_command%'/usr/local/nagios/etc/nagios.cfgsed-i's%#host_perfdata_file=/usr/local/nagios/var/host-perfdata%host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata%'/usr/local/nagios/etc/nagios.cfgsed-i's%#service_perfdata_file=/usr/local/nagios/var/service-perfdata%service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata%'/usr/local/nagios/etc/nagios.cfgsed-i'847ihost_perfdata_file_template=DATATYPE::HOSTPERFDATA\\tTIMET::\$TIMET\$\\tHOSTNAME::\$HOSTNAME\$\\tHOSTPERFDATA::\$HOSTPERFDATA\$\\tHOSTCHECKCOMMAND::\$HOSTCHECKCOMMAND\$\\tHOSTSTATE::\$HOSTSTATE\$\\tHOSTSTATETYPE::\$HOSTSTATETYPE\$'/usr/local/nagios/etc/nagios.cfgsed-i'848iservice_perfdata_file_template=DATATYPE::SERVICEPERFDATA\\tTIMET::\$TIMET\$\\tHOSTNAME::\$HOSTNAME\$\\tSERVICEDESC::\$SERVICEDESC\$\\tSERVICEPERFDATA::\$SERVICEPERFDATA\$\\tSERVICECHECKCOMMAND::\$SERVICECHECKCOMMAND\$\\tHOSTSTATE::\$HOSTSTATE\$\\tHOSTSTATETYPE::\$HOSTSTATETYPE\$\\tSERVICESTATE::\$SERVICESTATE\$\\tSERVICESTATETYPE::\$SERVICESTATETYPE\$'/usr/local/nagios/etc/nagios.cfgsed-i's%#host_perfdata_file_mode%host_perfdata_file_mode%'/usr/local/nagios/etc/nagios.cfgsed-i's%#service_perfdata_file_mode%service_perfdata_file_mode%'/usr/local/nagios/etc/nagios.cfgsed-i's%#host_perfdata_file_processing_interval=0%host_perfdata_file_processing_interval=15%'/usr/local/nagios/etc/nagios.cfgsed-i's%#service_perfdata_file_processing_interval=0%service_perfdata_file_processing_interval=15%'/usr/local/nagios/etc/nagios.cfgsed-i's%#host_perfdata_file_processing_command%host_perfdata_file_processing_command%'/usr/local/nagios/etc/nagios.cfgsed-i's%#service_perfdata_file_processing_command%service_perfdata_file_processing_command%'/usr/local/nagios/etc/nagios.cfgsed-i's%process-service-perfdata%psp12%'/usr/local/nagios/etc/objects/commands.cfgsed-i's%process-host-perfdata%php12%'/usr/local/nagios/etc/objects/commands.cfgcat>>/usr/local/nagios/etc/objects/commands.cfg<<-EOF#BulkwithNPCDmode#definecommand{command_nameprocess-service-perfdata-filecommand_line/bin/mv/usr/local/pnp4nagios/var/service-perfdata/usr/local/pnp4nagios/var/spool/service-perfdata.\$TIMET\$}definecommand{command_nameprocess-host-perfdata-filecommand_line/bin/mv/usr/local/pnp4nagios/var/host-perfdata/usr/local/pnp4nagios/var/spool/host-perfdata.\$TIMET\$}EOFcat>>/usr/local/nagios/etc/objects/templates.cfg<<-EOFdefinehost{namehost-pnpaction_url/pnp4nagios/index.php/graph?host=\$HOSTNAME\$&srv=_HOST_'class='tips'rel='/pnp4nagios/index.php/popup?host=\$HOSTNAME\$&srv=_HOST_register0}defineservice{namesrv-pnpaction_url/pnp4nagios/index.php/graph?host=\$HOSTNAME\$&srv=\$SERVICEDESC\$'class='tips'rel='/pnp4nagios/index.php/popup?host=\$HOSTNAME\$&srv=\$SERVICEDESC\$register0}EOFsed-i's%linux-server%linux-server,host-pnp%'/usr/local/nagios/etc/objects/localhost.cfgsed-i's%local-service%local-service,srv-pnp%'/usr/local/nagios/etc/objects/localhost.cfgsed-i's%hostgroup_namelinux-server,host-pnp%hostgroup_namelinux-server%'/usr/local/nagios/etc/objects/localhost.cfg#重启服务ln-s/usr/local/nagios/bin/nagios/usr/bin/nagios-v/usr/local/nagios/etc/nagios.cfgsleep3systemctlstartnrpesystemctlenablenrpechkconfignpcdonsystemctlstartnpcdchkconfignagiosonsystemctlstartnagiossystemctlrestarthttpdsystemctlstatus-lnpcdsystemctlstatus-lnrpesystemctlstatus-lnagiossystemctlstatus-lhttpdecho"请访问http://${hostip}/nagios验证配置!!"


部署完成!