设为首页 收藏本站
查看: 577|回复: 0

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

[复制链接]

尚未签到

发表于 2019-1-12 11:37:12 | 显示全部楼层 |阅读模式
  与系列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 nagcmd
useradd -G nagcmd nagios
usermod -a -G nagcmd apache
id -n -G apache
  tar xf nagios-4.3.4.tar.gz
cd nagios-4.3.4
./configure --with-command-group=nagcmd
  make all
  make install
make 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 start
service httpd restart
  win10访问http://192.168.80.80/nagios/  //会进入nagios的主控制台,且会有登陆提示
3.安装nagios-plugins
  tar xf nagios-plugins-2.2.1.tar.gz
cd 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.gz
cd nrpe-3.2.1
./configure
make all
make install-plugin
make 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.gz
cd nrpe-3.2.1
  ./configure
  make all
make install-plugin
make 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,.20
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[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_nrpe
command_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                    www.bb.com //监控平台上显示的名称
address                  192.168.80.81 //被控端地址
}
define hostgroup{  //定义主机组
hostgroup_name  testgroup
alias           mysql
members         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            admins
process_perf_data         1
}
define service{
host_name               mysql
service_description     check-procs
check_command           check_nrpe!check_total_procs
max_check_attempts        3
check_interval     2
retry_interval      2
check_period              24x7
notification_interval     300
notification_period       24x7
notification_options      w,u,c,r
#contact_groups            admins
process_perf_data         1
}
define service{
host_name               mysql
service_description     check-load
check_command           check_nrpe!check_load
max_check_attempts        3
check_interval     2
retry_interval      2
check_period              24x7
notification_interval     300
notification_period       24x7
notification_options      w,u,c,r
#contact_groups            admins
process_perf_data         1
}
define service{
host_name               mysql
service_description     check-ssh
check_command           check_ssh
max_check_attempts        3
check_interval     2
retry_interval      2
check_period              24x7
notification_interval     300
notification_period       24x7
notification_options      w,u,c,r
#contact_groups            admins
process_perf_data         1
}
  cd /usr/local/nagios/etc //增加nagios组授权
grep nagiosadmin cgi.cfg //检查配置文件中相关授权的用户组默认只有nagiosadmin
sed -i 's/nagiosadmin/nagiosadmin,nagios/g' cgi.cfg //增加nagios组授权
  service nagios restart
3.测试:
  win10访问http://192.168.80.80/nagios 就可以看到监控主机80.81
  至此,nagios监控基本配置完毕,如何图形化更直观的在web上查看呢?就要添加使用图形化模块,未完待续。。。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-662329-1-1.html 上篇帖子: nagios客户端安装设置 下篇帖子: centos7.4安装监控软件系列2:nagios(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表