A.Nagios服务端
1.安装软件包

  1. yum install -y httpd

2.下载nagios

  1. wget http://syslab.comsenz.com/downloads/linux/nagios-3.0.5.tar.gz
  2. wget http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz
  3. wget http://syslab.comsenz.com/downloads/linux/nrpe-2.12.tar.gz

3.添加nagios账号

  1. useradd nagios

4.编译安装nagios

  1. mkdir /opt/hadoop/
  2. tar -xzvf nagios-3.0.5.tar.gz
  3. cd nagios-3.0.5
  4. ./configure --prefix=/opt/hadoop/nagios
  5. make all
  6. make fullinstall
  7. mkdir /opt/hadoop/nagios/etc
  8. mkdir /opt/hadoop/nagios/etc/objects
  9. cp ./sample-config/cgi.cfg /opt/hadoop/nagios/etc/
  10. cp ./sample-config/nagios.cfg /opt/hadoop/nagios/etc/
  11. cp ./sample-config/resource.cfg /opt/hadoop/nagios/etc/
  12. cp ./sample-config/template-object/commands.cfg /opt/hadoop/nagios/etc/objects/
  13. cp ./sample-config/template-object/contacts.cfg /opt/hadoop/nagios/etc/objects/
  14. cp ./sample-config/template-object/timeperiods.cfg /opt/hadoop/nagios/etc/objects/
  15. cp ./sample-config/template-object/templates.cfg /opt/hadoop/nagios/etc/objects/
  16. cp ./sample-config/template-object/localhost.cfg /opt/hadoop/nagios/etc/objects/
  17. touch /opt/hadoop/nagios/var/nagios.log
  18. chmod -R 755/opt/hadoop/nagios/etc/
  19. chown -R nagios:nagios /opt/hadoop/nagios

5.编译安装nagios-plugins

  1. tar zxvf nagios-plugins-1.4.13.tar.gz
  2. cd nagios-plugins-1.4.13
  3. ./configure --prefix=/opt/hadoop/nagios --with-nagios-user=nagios --with-nagios-group=nagios
  4. make && make install

检查是否已经安装成功,看这个目录下是否有插件文件

  1. ls /opt/hadoop/nagios/libexec/

6.安装nrpe

  1. tar zxvf nrpe-2.12.tar.gz
  2. cd nrpe-2.12
  3. ./configure --prefix=/opt/hadoop/nagios --enable-ssl --enable-command-args
  4. make all
  5. make install-plugin
  6. make install-daemon
  7. make install-daemon-config

7.配置httpd
添加web账号

  1. htpasswd -c /opt/hadoop/nagios/etc/htpasswd.users nagiosadmin

B.Nagios客户端
1.准备软件包

  1. wget http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz
  2. wget http://syslab.comsenz.com/downloads/linux/nrpe-2.12.tar.gz

2.添加nagios账号,准备安装目录

  1. mkdir /opt/hadoop/nagios
  2. useradd nagios

3.编译安装nrpe

  1. tar -xzvf nrpe-2.12.tar.gz
  2. cd nrpe-2.12
  3. ./configure --prefix=/opt/hadoop/nagios --enable-ssl --enable-command-args
  4. make all
  5. make install-plugin
  6. make install-daemon
  7. make install-daemon-config

4.安装nagios-plugin

  1. tar -xzvf nagios-plugins-1.4.13.tar.gz
  2. cd nagios-plugins-1.4.13
  3. ./configure --prefix=/opt/hadoop/nagios --with-nagios-user=nagios --with-nagios-group=nagios
  4. make && make install

检查是否已经安装成功,看这个目录下是否有插件文件

  1. ls /opt/hadoop/nagios/libexec/

5. 配置nrpe

  1. vim /opt/hadoop/nagios/etc/nrpe.cfg
  2. 找到”allowed_hosts=127.0.0.1”改成“allowed_hosts=127.0.0.1,10.130.2.72”,后边的IP是nagios服务端IP
  3. 找到” dont_blame_nrpe=0”改成“dont_blame_nrpe=1”

6.一段nrpe启停脚本,放在/etc/init.d/nrpe里

  1. #!/bin/bash
  2. #
  3. # chkconfig: 2345 55 25
  4. # description: NRPE Daemon
  5. #
  6. # source function library
  7. ./etc/rc.d/init.d/functions
  8. RETVAL=0
  9. prog='nrpe'
  10. NRPE_CFG='/opt/hadoop/nagios/etc/nrpe.cfg'
  11. NRPE_PRG='/opt/hadoop/nagios/bin/nrpe'
  12. NRPE_OPT='-d'
  13. PID_FILE='/var/run/nrpe.pid'
  14. start()
  15. {
  16. echo -n $"Starting $prog: "
  17. [-f $PID_FILE ]&& rm -f $PID_FILE
  18. $NRPE_PRG -c $NRPE_CFG $NRPE_OPT
  19. pid=`ps aux | grep -v grep | grep $NRPE_PRG | awk '{print $2}'`
  20. echo $pid > $PID_FILE
  21. if ps aux | grep -v grep | grep -q $NRPE_PRG ;then
  22. RETVAL=0
  23. success
  24. else
  25. RETVAL=1
  26. failure
  27. fi
  28. echo
  29. }
  30. stop()
  31. {
  32. echo -n $"Stopping $prog: "
  33. ps --pid=`cat $PID_FILE`&>/dev/null
  34. if[ $?-eq 0];then
  35. kill -9`cat $PID_FILE`
  36. RETVAL=0
  37. fi
  38. success
  39. echo
  40. RETVAL=0
  41. }
  42. case"$1"in
  43. start)
  44. start
  45. ;;
  46. stop)
  47. stop
  48. ;;
  49. restart)
  50. stop
  51. start
  52. ;;
  53. status)
  54. status -p $PID_FILE $prog
  55. RETVAL=$?
  56. ;;
  57. *)
  58. echo $"Usage: $0 {start|stop|restart|status}"
  59. RETVAL=1
  60. esac
  61. exit $RETVAL

6. 启动nrpe

  1. /etc/init.d/nrpe start

C.Nagios服务端添加被监控机
1.配置监控机目录

  1. mkdir /opt/hadoop/nagios/etc/servers
  2. vim /opt/hadoop/nagios/etc/nagios.cfg 追加cfg_dir=/opt/hadoop/nagios/etc/servers

2.添加配置的机器

  1. vim /opt/hadoop/nagios/etc/servers/10.130.2.22.cfg
  2. define host{
  3. use linux-server
  4. host_name 10.130.2.22
  5. alias 10.130.2.22
  6. address 10.130.2.22
  7. }
  8. define service{
  9. use generic-service
  10. host_name 10.130.2.22
  11. service_description check_ping
  12. check_command check_ping!100.0,20%!200.0,50%
  13. max_check_attempts 5
  14. normal_check_interval 1
  15. }
  16. define service{
  17. use generic-service
  18. host_name 10.130.2.22
  19. service_description check_ssh
  20. check_command check_ssh
  21. max_check_attempts 5
  22. normal_check_interval 1
  23. }

3.reload nagios服务端使配置生效

  1. service nagios reload

重新加载nagios后就可以在nagios的界面上看到新的被监控的机器了
4.添加使用nrpe的监控

  1. 在/opt/hadoop/nagios/etc/objects/commands.cfg里增加如下行
  2. define command{
  3. command_name check_nrpe
  4. command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  5. }

在服务器监控配置文件中加入如下行,确保被监控机的nrpe服务是开的

  1. define service{
  2. use generic-service
  3. host_name 10.130.2.22
  4. service_description check_load
  5. check_command check_nrpe!check_load
  6. max_check_attempts 5
  7. normal_check_interval 1
  8. }

重新加载nagios使配置生效。

  1. service nagios reload

5.自定义监控脚本
编写脚本check_diskmount.sh

  1. vim /opt/hadoop/nagios/libexec/check_diskmount.sh
  2. #!/bin/bash
  3. num=`cat /proc/mounts | grep '/disk' | wc -l`
  4. if[ $num -eq 12];then
  5. echo "OK - mount disk is $num"
  6. exit 0
  7. else
  8. echo "Critical - mount disk is $num"
  9. exit 1
  10. fi

加上可执行权限

  1. chmod +x /opt/hadoop/nagios/libexec/check_diskmount.sh

在被监控机的nrpe里加入自定义脚本路径

  1. vim /opt/hadoop/nagios/etc/nrpe.cfg
  2. command[check_diskmount]=/opt/hadoop/nagios/libexec/check_diskmount.sh

重启nrpe

  1. /etc/init.d/nrpe restart

在nagios服务端加入配置

  1. vim /opt/hadoop/nagios/etc/servers/10.130.2.22.cfg
  2. define service{
  3. use generic-service
  4. host_name s9xplan2.isv.cm6
  5. service_description check_diskmount
  6. check_command check_nrpe!check_diskmount
  7. max_check_attempts 3
  8. normal_check_interval 1
  9. }

重新加载nagios,使得配置生效

    1. service nagios reload

摘自:http://www.opstool.com/article/236

(转)CentOS搭建Nagios监控的更多相关文章

  1. 自动安装脚本-------------基于LVMP搭建Nagios 监控

    Mysql初始化参数(mysql-5.6.31) /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local ...

  2. 在Nginx中搭建Nagios监控平台

    本文只做Nginx下Nagiox安装的说明,其它关于Nagios监控的详细配置请参考我的另一篇文章[Ubuntu 10.04下构建Nagios监控平台] Nagios依赖PHP环境和perl环境.由于 ...

  3. 【nagios监控】基于linux搭建nagios监控

    nagios工作原理 nagios的功能是监控服务和主机,但是其自身并不包括这些功能,所有的监控.检测功能都是通过各种插件来完成的. 启动nagios后,它会周期性的自动调用插件去检测服务器状态,同时 ...

  4. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...

  5. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  6. Security基础(四):OpenSSL及证书服务常用系统监控命令、搭建nagios监控服务器、配置文件及插件使用、监控远程主机的公有数据、监控远程主机的私有数据

    一.OpenSSL及证书服务常用系统监控命令 目标: 本案例要求练习常用的系统监控命令完成以下任务: 使用vmstat命令监控内存及磁盘I/O信息 使用iostat命令监控CPU处理器及磁盘的I/O信 ...

  7. Nagios监控平台搭建

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

  8. Centos部署nagios+apache实现服务器监控

    1.Nagios介绍 nagios是 一款功能强大的网络监视工具,它可以有效的监控windows.linux.unix主机状态以及路由器交换机的网络设置,打印机工作状态等,并将状态出 现异常的服务及时 ...

  9. Nagios监控平台搭建及配置文件详解

    Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员, ...

随机推荐

  1. Qt也有垃圾回收(通过QScopedPointer实现),下决心在项目里使用QScopedPointer,省了太多事情了,而且更安全!!

    也谈Qt的垃圾回收 前几天在做代码审核的时候,Kai Uwe Broulik建议使用QScopedPointer来替代手工内存管理,使用后发觉确实节约了不少代码量,我的CHERRY可以延长寿命了!但是 ...

  2. Linux 让进程在后台可靠运行的几种方法

    我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开 ...

  3. JVM基础和调优(五)

    垃圾回收算法中收集器 接着上面的说,了解了JVM收集垃圾的过程,然后我们看一看收集器. 串行收集器:用单线程处理所有垃圾回收工作,因为无需多线程交互,所以效率比较高.但是,也无法使用多处理器的优势,所 ...

  4. java.lang.NoSuchFieldError: deferredExpression解决

       java.lang.NoSuchFieldError: deferredExpression这个问题的出现是在的lib下面有多个版本的jstl.jar包,解决办法很简单,只留下一个版本的jstl ...

  5. [置顶] Android安全机制分析

    Android系统是基于Linux内核开发的,因此,Android系统不仅保留和继承了Linux操作系统的安全机制,而且其系统架构的各个层次都有独特的安全特性[2] . 1. Linux内核层安全机制 ...

  6. Building bridges_hdu_4584(排序).java

    Building bridges Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) ...

  7. Request.Params用法

    使用Request.Params["id"]来获取参数是一种比较有效的途径.有三种方式可以进行参数传递:(1). Form (2). ?id= (3).cookierequest. ...

  8. work staff

    培训一周,很抓狂.不是抓狂培训本身,是自己听不懂,培训还是有用的. 上周四接到一个task,关于checklist.因为组里没有人用过,所以遇到一些问题,本来不应该是一个复杂的工作,但是我需要一个一个 ...

  9. .NET程序猿 - 提升幸福感的组件一览

    1.Newtonsoft.Json.net 操作JSON最简便的方式.  .Net 3.5开始,Framework集成Json序列化器:JavaScriptSerializer,然而Json.net给 ...

  10. 查看kafka的group.id

    kafka/config目录下的consumer.properties中可以看到