centos7.4安装监控软件系列2:nagios(1)

网友投稿 238 2022-11-12

centos7.4安装监控软件系列2:nagios(1)

与系列1的Cacti类似,nagios也是一种监控软件,涉及插件较多,可灵活监控服务器资源,使用更广泛;nagios自身是没有监控功能的,它所有的功能都是通过调用插件来完成的,它的工作模式有两种:主动监控、被动监控。【被动监控】nagios通过nsca进行被动监控。就是由被检测端服务器主动上传数据到nagios监控系统中,然后nagios读取数据。这种监控方式提高了数据的实时性,降低监控延迟,监控的数据量也大大增加。目前已知的只有nsca插件可以支持被动监控。【主动监控】nagios通过nrpe插件和snmp协议进行主动监控。Nagios会周期性地调用插件去获取远程主机的数据,这样一来实时性就差了一些。对于监控主机数量少的情况可以采用主动模式。

这里介绍主动监控的配置:

nagios调用它的插件库,插件将监控结果返回给nagios,nagios分析这些结果并以web的方式展现给我们看,同时也会调用插件提供报警功能。而对于远程监控则需要check_nrpe插件,nagios执行该插件,并告诉check_nrpe去检测哪些服务。check_nrpe通过SSL连接远端机器上的NRPE daemon,然后NRPE 可以运行本地的各种插件去检测本地的服务和状态,最后NRPE把检测的结果传给nagios端的check_nrpe,nagios端的check_nrpe再把结果送到状态队列中让nagios读取信息,最终呈现给管理员的web页面结果。Nagios的四种监控状态:0(OK)正常,绿色1(warning)警告,×××2(Critical)严重错误,红色3(unknown)位置错误,深×××

本例:监控客户端的mysql

nagios服务端(监控端):192.168.80.80 需安装如下软件:LAMP架构 提供网页监控查看nagios-4.3.4.tar.gz 服务端nagios主程序nagios-plugins-2.2.1.tar.gz nagios插件nrpe-3.2.1.tar.gz 插件,负责远程连接pnp4nagios-0.6.26.tar.gz 图表工具

ngios客户端(被监控):192.168.80.81 需安装如下软件:nagios-plugins-2.2.1.tar.gz nagios插件nrpe-3.2.1.tar.gz 插件,负责远程连接mysql 编译安装,仅供测试

案例实施:

一.服务端(监控端)配置

1.安装lamp,可yum安装,节省时间,调试可提供网站服务即可;

2.安装nagios:

groupadd nagcmduseradd -G nagcmd nagiosusermod -a -G nagcmd apacheid -n -G apache

tar xf nagios-4.3.4.tar.gzcd nagios-4.3.4./configure --with-command-group=nagcmd

make all

make installmake install-init //生成管理脚本make install-commandmode //自动为nagios用户设置相关目录的权限make install-config //安装配置文件

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg //检查配置文件/etc/init.d/nagios checkconfig //检查配置问题make install-webconf //生成nagios/apache配置文件

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios

service nagios startservice restart

win10访问 //会进入nagios的主控制台,且会有登陆提示

3.安装nagios-plugins

tar xf nagios-plugins-2.2.1.tar.gzcd nagios-plugins-2.2.1./configure \--with-nagios-user=nagios \--with-nagios-group=nagcmd \--enable-perl-modules

make && make install

4.安装nrpe

tar xf nrpe-3.2.1.tar.gzcd nrpe-3.2.1./configuremake allmake install-pluginmake install-daemon

cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg

ls /usr/local/nagios/libexec/ //检查插件安装情况

/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg //启动nrpe

echo "/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg" >> /etc/rc.local //可设置开机启动

chmod +x /etc/rc.d/rc.local netstat -lnput|grep 5666

/usr/local/nagios/libexec/check_nrpe -H localhost //测试本地连接NRPE v3.2.1

二:客户端(被监控)设置

1.手动编译安装mysql,测试可提供mysql服务

2.安装nagios-plugins

yum install -y perl-devel perl-CPAN openssl-devel

tar xf nagios-plugins-2.2.1.tar.gz

useradd -M nagios

cd nagios-plugins-2.2.1./configure \--with-nagios-user=nagios \--with-nagios-group=nagios \--enable-perl-modules

make && make install

3.安装nrpe

tar xf nrpe-3.2.1.tar.gzcd nrpe-3.2.1

./configure

make allmake install-pluginmake install-daemon

mkdir /usr/local/nagios/etc/cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg //复制模板,下面需要配置使用

ls /usr/local/nagios/libexec/ //查看nrpe插件

/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg //启动nrpe

echo "/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg" >> /etc/rc.local //可添加到开机启动

chmod +x /etc/rc.d/rc.local netstat -lnput|grep 5666

/usr/local/nagios/libexec/check_nrpe -H localhost //测试本地连接NRPE v3.2.1

4.配置nrpe.cfg

cd /usr/local/nagios/etc/

vi nrpe.cfg

allowed_hosts=127.0.0.1,::1,192.168.80.80 //后面添加监控端80地址,允许服务端地址连接command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 //定义检查用户的命令,超过5个用户w-warning。超过10个用户c-critical 下同command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -c .30,.25,.20command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Zcommand[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200//以上都是客户端定义的nrpe命令,可以被监控端nrpe调用,从而实现监控

/usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs //可先测试本地命令执行情况,确保没有问题

三:服务端(监控端)配置测试

1.测试两台机nrpe是否能远程连接

pkill nrpe/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg //重启nrpe

/usr/local/nagios/libexec/check_nrpe -H 192.168.80.81 //测试连接情况/usr/local/nagios/libexec/check_nrpe -H 192.168.80.81 -c check_sda1 //测试命令是否可执行

2.配置

vi /etc/usr/local/nagios/etc/nagios.cfg //配置主配置文件cfg_dir=/usr/local/nagios/etc/conf //最后或合适位置新增子目录,便于配置mkdir /usr/local/nagios/etc/conf

vi /etc/usr/local/nagios/etc/objects/commands.cfg //配置命令配置文件,其中定义的命令可被其他配置文件调用define command{command_name check_nrpecommand_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$} //最后插入 增加对check_nrpe的定义

vi /etc/usr/local/nagios/etc/objects/contacts.cfg //配置联系人或组,用于出现问题时通知emial aa@163.com //管理员邮箱地址

cd /usr/local/nagios/etc/conf //开始定义主机和主机组、服务vi host81.cfg //定义主机和主机组define host{use linux-server //监控使用的模板host_name mysql //监控平台上显示的名称alias bb.com //监控平台上显示的名称address 192.168.80.81 //被控端地址}define hostgroup{ //定义主机组hostgroup_name testgroupalias mysqlmembers mysql}

vi server81.cfg //定义服务 使用的check_command要在commands.cfg中定义过

define service{host_name mysql //监控服务名 service_description check-host-alive //监控描述 check_command check-host-alive //监控命令名(主机是否存活)max_check_attempts 3 //检查失败后重试次数check_interval 2 //检查间隔时间retry_interval 2 //重试间隔时间check_period 24x7 //监控时间段 timeperiods.cfg中定义的时间notification_interval 300 //提醒的间隔时间,每300秒提醒一次notification_period 24x7 //提醒的周期,是在timeperiods.cfg中定义的notification_options w,u,c,r //当主机出现w-warning, u-unknown,c-critical,r-从异常状态恢复时提醒管理员(d-down)#contact_groups adminsprocess_perf_data 1}define service{host_name mysqlservice_description check-procscheck_command check_nrpe!check_total_procsmax_check_attempts 3check_interval 2retry_interval 2check_period 24x7notification_interval 300notification_period 24x7notification_options w,u,c,r#contact_groups adminsprocess_perf_data 1}define service{host_name mysqlservice_description check-loadcheck_command check_nrpe!check_loadmax_check_attempts 3check_interval 2retry_interval 2check_period 24x7notification_interval 300notification_period 24x7notification_options w,u,c,r#contact_groups adminsprocess_perf_data 1}define service{host_name mysqlservice_description check-sshcheck_command check_sshmax_check_attempts 3check_interval 2retry_interval 2check_period 24x7notification_interval 300notification_period 24x7notification_options w,u,c,r#contact_groups adminsprocess_perf_data 1}

cd /usr/local/nagios/etc //增加nagios组授权grep nagiosadmin cgi.cfg //检查配置文件中相关授权的用户组默认只有nagiosadminsed -i 's/nagiosadmin/nagiosadmin,nagios/g' cgi.cfg //增加nagios组授权

service nagios restart

3.测试:

win10访问就可以看到监控主机80.81

至此,nagios监控基本配置完毕,如何图形化更直观的在web上查看呢?就要添加使用图形化模块,未完待续。。。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot @Cacheable自定义KeyGenerator方式
下一篇:RS232串口的简单介绍_RS232接线方法及电气特性
相关文章

 发表评论

暂时没有评论,来抢沙发吧~