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. altium designer Summer09出现的问题解决方案

    在编译原理图时,引脚和连线旁边出现很多红线,提示 error:signal with no driver. 原理图没有加入到Project里. 第一次导入没问题,但是改了个元件的封装,在更新一下(De ...

  2. Cypress的开发板的UART接口打印调试信息

    说实话,在官方论坛现在还没有找到相关有用的消息,因为我们这个开发板的UART没引出来. http://www.cypress.com/?app=forum&id=167&rID=527 ...

  3. 利用Visual Studio寻找C#程序必要的运行库文件

    在工程打包中,有时候很头痛的就是运行所需要的库文件不能够全面的包含进来,特别是有时候调用了一系列外部扩展.对于这些问题,我们可以借用Visual Studio的打包功能帮助我们寻找软件运行必须的库文件 ...

  4. mysql 存储过程:提供查询语句并返回查询执行影响的行数

    mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREAT ...

  5. art.dialog

    关闭指定弹出窗: art.dialog({ id: 'hetong' }).close(); 关闭所有的iframe弹出窗,art.dia.close();

  6. 在线C语言编译器/解释器

    在线C语言编译器/解释器 本文介绍两个C语言在线解释器/编译器,这些工具可以提高代码片段检测方便的工作效率,并可以保证这些代码的正确性,而且还可以和别人一起编辑/分享之间的代码,这样可以共同分析代码并 ...

  7. OpenWrt sscanf问题之于MT7620N与AR9341

    在MT7620N平台做好了wifidog的相关调试工作,除了eth驱动.wireless性能问题,其余的都能够基本正常. 依据实际须要要对已完毕的工作在AR9341平台上实现. 事实上也简单.基本功能 ...

  8. LoadRunner测试下载功能点脚本(方法一)

    性能需求:对系统某页面中,点击下载功能做并发测试,以获取在并发下载文件的情况下系统的性能指标. 备注:页面上点击下载时的文件可以是word.excel.pdf等. 问题1:录制完下载的场景后,发现脚本 ...

  9. Android字数限制的EditText实现方案研究

    在应用开发中,有时需要实现有字数限制的EditText,首先来分析下市面上存在的类似实现方案吧,好有个感性的认识. [方案一:腾讯微博] 每个中文字符算一个字数,每两个英文字符算一个字数,当用户输入内 ...

  10. Android Xfermode 实战 实现圆形、圆角图片

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42094215,本文出自:[张鸿洋的博客] 1.概述 其实这篇本来准备Androi ...