这几天开始接触nagios,记录下学习的心得

监控机上需要安装nagios,nagios-plugins, nrpe

被监控机上需要安装nagios-plugins, nrpe

nagios通过插件nrpe来监控

添加主机当然是要到server端(监控中心)修改配置文件了。

修改主配置文件

cd /usr/local/nagios/etc/

vim nagios.cfg

增加内容:

cfg_dir=/usr/local/nagios/etc/services ##定义一个目录,以后把新增加的主机信息文件全部放到这里

添加被监控主机信息

mkdir /usr/local/nagios/etc/services

cd /usr/local/nagios/etc/services

vim 被监控机IP.cfg 如10.0.0.2.cfg加入如下内容:

  1. define host{
  2. use linux-server
  3. host_name 10.0.4.56
  4. alias 10.0.4.56
  5. address 10.0.4.56
  6. }
  7. define service{
  8. use generic-service
  9. host_name 10.0.4.56
  10. service_description check_ping
  11. check_command check_ping!100.0,20%!200.0,50%
  12. max_check_attempts 5
  13. normal_check_interval 1
  14. }
  15. define service{
  16. use generic-service
  17. host_name 10.0.4.56
  18. service_description check_ssh
  19. check_command check_ssh
  20. max_check_attempts 5
  21. normal_check_interval 1
  22. }
  23. define service{
  24. use generic-service
  25. host_name 10.0.4.56
  26. service_description check_http
  27. check_command check_http
  28. max_check_attempts 5
  29. normal_check_interval 1
  30. }

// 注意,这里的IP是client端的IP,监控的项目有三个ping, ssh, http。其实这三个项目使用的脚本都为本地脚本,也就是说,即使远程主机没有安装nagios和nrpe同样可以监控这些项目。但是如果想监控load,disk,等等就需要通过nrpe服务来搞定了,道理很简单,load和disk都需要登录到远程主机上去获得信息,而ping,ssh,http都不需要的。这个到远程主机获取相关的信息的过程是由nrpe完成的。如果你的client上没有启动nrpe服务那么我们是无法获取远程主机的load和disk等信息的。

需要在监控机上编辑/usr/local/nagios/etc/objects/commands.cfg

vim /usr/local/nagios/etc/objects/commands.cfg # 在最后面添加如下内容

  1. define command{
  2. command_name check_nrpe
  3. command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  4. }

然后编辑10.0.4.56.cfg (还是server上)

cd /usr/local/nagios/etc/services

vim 10.0.4.56.cfg # 加入如下内容:

  1. define service{
  2. use generic-service
  3. host_name 10.0.4.56
  4. service_description check_load
  5. check_command check_nrpe!check_load
  6. max_check_attempts 5
  7. normal_check_interval 1
  8. }
  9.  
  10. define service{
  11. use generic-service
  12. host_name 10.0.4.56
  13. service_description check_disk_hda1
  14. check_command check_nrpe!check_hda1
  15. max_check_attempts 5
  16. normal_check_interval 1
  17. }
  18.  
  19. define service{
  20. use generic-service
  21. host_name 10.0.4.56
  22. service_description check_disk_hda2
  23. check_command check_nrpe!check_hda2
  24. max_check_attempts 5
  25. normal_check_interval 1
  26. }

所有的监控命令都是通过check_nrpe+命令来实现的

在远程主机上编辑/usr/local/nagios/etc/nrpe.cfg 文件

vim /usr/local/nagios/etc/nrpe.cfg (client上)

把” command[check_hda1]”那行改成:

command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1

然后再增加一行:

command[check_hda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda2

这里的check_hda1 和 check_hda2 都是自定义的,和server端的定义的service中的check_command对应。也就是说,如果在server端定义了一个service(通过nrpe方式)那么必须要在客户端上的nrpe.cfg中定义相应的脚本。保存这个文件后,需要重新启动一下nrpe服务。

killall nrpe ; /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d (client上)

重启nagios服务

修改了配置需要重启服务才能使添加的监控主机生效。

/etc/init.d/nagios restart (监控机上)

此时再到web页面去观察是否多了一台10.0.4.56

  1.  

nagios学习记录的更多相关文章

  1. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  2. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  3. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  4. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  5. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  6. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  7. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  8. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

  9. UWP学习记录7-设计和UI之控件和模式4

    UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...

随机推荐

  1. TortoiseSVN与VisualSVN Server搭建SVN版本控制系统【转】

    转自:http://www.cnblogs.com/xing901022/p/4399382.html 本片主要介绍如何搭建SVN版本控制系统,主要使用工具: 1 客户端:TortoiseSVN (小 ...

  2. (十一)__LINE__、__FUNCTION__的使用

    单片机中也可以用__LINE和__FUNCTION__进行异常信息打印,分别代表当前代码行数和当前代码函数名 printf("line:%d\r\n",__LINE__); pri ...

  3. jQuery,月历,左右点击事件实现月份的改变

    html页面: <div class="recordbriefing-title-top-body"> <span class="record-left ...

  4. 使用bottle进行web开发(9):文件上传;json传递

    1.文件上传 如果要完成文件上传,则需要对上文的form做一点改动,具体如下: <form action="/upload" method="post" ...

  5. Mysql的碎片查看与处理

    -- 每张表的大小 参考网址:http://www.oschina.net/question/12_3673 -- DATA_FREE 大于零表示有碎片 -- 在我们的项目中,生产环境一律采用独立的表 ...

  6. Laravel使用Carbon人性化显示时间

    1.下载Carbon composer require nesbot/carbon Laravel自带Carbon包,可以直接使用 use Carbon\Carbon; 2.如果数据库存的是日期格式, ...

  7. DB2、ORACLE SQL写法的主要区别

    DB2.ORACLE SQL写法的主要区别   说实话,ORACLE把国内的程序员惯坏了,代码中的SQL充斥着大量ORACLE特性,几乎没人知道ANSI的标准SQL是什么样子,导致程序脱离了ORACL ...

  8. HDU 1532.Drainage Ditches-网络流最大流

    Drainage Ditches Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. 纯css 超链接变按钮

    a{ font-family:Arial; font-size:.8em; text-align:center; margin:3px;}a:link,a:visited{ color:#A62020 ...

  10. HDU 6214 Smallest Minimum Cut 【网络流最小割+ 二种方法只能一种有效+hdu 3987原题】

    Problem Description Consider a network G=(V,E) with source s and sink t . An s-t cut is a partition ...