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

nagios服务的搭建

[复制链接]

尚未签到

发表于 2019-1-13 10:44:35 | 显示全部楼层 |阅读模式
参考文章:http://my.oschina.net/julienbin/blog/69186

环境:服务端 Ubuntu 10.04.4 LTS \n \l

    客户端 Ubuntu 12.04.5 LTS \n \l

  nagios3主程序版本:3.2.0

1.简介

nagios是一个用来监视系统和网络的开源应用软件,它通常运行于Liunx或Unix操作系统服务器上,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。Nagios 利用其众多的插件实现对本机和远端服务的监控,它是一个基于TCP/IP协议的软件包。Nagios适合各类企业的网络应用。


  •   网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  •   主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)
  •   通过监控各个服务的端口(用check_tcp插件来完成),来判断公司业务是否正常运行

2.基本架构

利用nagios服务器1.1.1.1来监控自己(localhost)和远程的linux主机2.2.2.2的负载,磁盘利用率,http,站点是否能访问,监控端口和各种service等内容。工作原理最经典的图是下面这个:


其中database不用即可,除非你有特殊的要求。



3.基本目录简介

  nagios3主程序的配置文件目录/etc/nagios3

  其中conf.d目录下的内容有下面这些,这些文件是定义host和service的,用来向插件的配置文件(定义commond的地方)传递具体的参数:
   extinfo_nagios2.cfg       generic-service_nagios2.cfg  hostgroups_nagios2.cfg  services_nagios2.cfg     contacts_nagios2.cfg  generic-host_nagios2.cfg  
  host-gateway_nagios3.cfg     localhost_nagios2.cfg   timeperiods_nagios2.cfg
  

  ls  /usr/lib/nagios/plugins  //插件程序的位置

  重要:怎么查看各个插件的使用帮助?
  可以这样: /usr/lib/nagios/plugins/check_dns -h
  

  /etc/nagios-plugins/config //插件的配置文件所在目录(里面定义了各种命令commond,它只是写出了带变量的通用命令,需要nagios的conf.d目录下定义host和service的配置文件来向其传递具体的参数

  nagios的监控页面具体存放的目录  在 /usr/share/nagios3目录下的htdocs目录下,

  nagios安装完成后,会在apache2的/etc/apache2/conf.d目录下生成一个软链接文件,名字叫做nagios3.conf,它链接的真实文件是/etc/nagios3/apache2.conf,见下图:

  看其内容:

  你现在知道为什么访问 http://1.1.1.1/ngios3 会访问到监控页面了吧!它做了一个别名 /nagios3,访问的页面其实是/usr/share/nagios3/htdocs下面的网页。
  

4.安装基本的软件包
nagios服务端(1.1.1.1)需要安装的软件包有:
nagios3(主监控程序)
nagios-plugin(一般的插件,比如ssh等)
nagios-nrpe-plugin(nrpe插件,它和远程linux主机联系,用来收集它们的状态)
apache2和php5  监控页面的访问需要这2个软件哦!
安装命令:
sudo apt-get install nagios3  nagios-plugins  nagios-nrpe-plugin  apache2 php5
服务的启动:
sudo service nagios3 start
查看一下版本号:

nagios3 --version
Nagios Core 3.2.0
nagios被监控端(linux主机2.2.2.2)需要安装的软件包有:
nagios-plugin(一般的插件,比如ssh,http,disk等)
nagios-nrpe-server(nrpe服务端,它可以利用nagios-plugin中的插件来收集各种服务的状态信息并传递给nagios服务端1.1.1.1)
安装命令:
sudo apt-get install nagios-plugins nagios-nrpe-server
  

  5.为了安全,访问首页的时候需要进行身份验证,下面用htpasswd命令来设置账号密码:
  sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
  回车后根据提示输入密码 111111 ,这样访问http://1.1.1.1/nagios3 就能访问进入首页了。
  注: -c 代表密码文件输出路径,即存放位置,文件名叫做htpasswd.users;后面的nagiosadmin是要设置的账号!
  6.nagios主程序配置
  6.1 /etc/nagios3/nagios.cfg  //主配置文件,一些通用的配置,可根据需要设置,一般不用改
     6.2 vim /etc/nagios3/conf.d/localhost_nagios2.cfg //这里定义要监控的本机资源的内容,像磁盘这些, "!" 号代表传递参数!!!!

切记切记:
在nagios配置文件中用定义的service向插件命令command传递参数的时候,那个check_command一定要与插件里面定义的command_name保持一致,即名字要一样,不然你把参数传给谁了?不一样就会调用错的。。
  6.3 /etc/nagios3/conf.d/services_nagios2.cfg //这个文件是监控本机的服务的,比如ssh和http等,根据你的需要自行更改
  7. nagios服务器上的插件配置

  插件配置文件的目录上面已经说过了,是/etc/nagios-plugins/config
  下面随便说一个文件,比如disk.cfg(检测磁盘使用率的),记得常看帮助哦。
  /usr/lib/nagios/plugins/check_disk  -h
  


  切记切记:
  在nagios配置文件中用定义的service向插件命令command传递参数(调用插件中定义的commond)的时候,那个check_command一定要与插件里面定义的command_name保持一致,名字要一样,不然你会调用错的!
  就像这样配置,本机就会很容易实现监控的!
  8.监控别的linux主机(2.2.2.2)
  8.1 先在nagios服务器1.1.1.1上面配置
  这就要靠nrpe插件了,即/usr/lib/nagios/plugins目录下的check_nrpe插件。
  用  /usr/lib/nagios/plugins/check_nrpe -h 可查看帮助。
  根据需要更改配置文件:(要看你设置几个变量),下面的配置我就设置一个变量即可!!
  vim /etc/nagios-plugins/config/check_nrpe.cfg
  define command {
  command_name    check_nrpe
  command_line    /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$'   -c   '$ARG1$'
  }
  

  注:command_name    check_nrpe //定义一个check_nrpe命令;
  command_line    /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$'   -c   '$ARG1$'
  //定义具体的命令,要利用的是/usr/lib/nagios/plugins/check_nrpe这个nrpe插件,-H 定义主机地址变量,-c定义要告诉远程被监控linux主机应该执行的动作,比如check_load这些。
  
  在/etc/nagios3/conf.d 下面为远程主机2.2.2.2建立一个的配置文件,比如bm.cfg
  这里用来定义host和service,向插件配置文件传递参数,参数一般为check_load(让远程主机监控其负载并向nagios服务器汇报)等。
  vim bm.cfg
  define host{   //定义一个新的主机
  use                     generic-host            ; Name of host template to use
  host_name               bm   //定义主机名,要直观好记,你要认得
  alias                   bm  //别名,在网页上面显示的是这个名字
  address                 远程linux主机的ip地址
  }
  

  define service{       //定义要监控的service,这个是其中一个,监控远程主机的disk
  use                             generic-service         ; Name of service template to use
  host_name                       bm
  service_description             micro_Disk //在网页上面显示的是这个名字
  check_command                   check_nrpe!check_disk //调用插件配置文件/etc/nagios-plugins/config/check_nrpe.cfg中定义的check_nrpe命令,并向其传递参数check_disk, 意思是让nagios上面的nrpe插件来命令和控制远程主机要执行check_disk指令!!!
  }
  

  8.2 在远程被监控linux主机上面配置
  进入nrpe服务器目录下:
  cd /etc/nagios
  ls -l //查看
  -rw-r--r-- 1 root root 7414 Aug 16 09:49 nrpe.cfg
  drwxr-xr-x 2 root root 4096 May 31  2013 nrpe.d
  -rw-r--r-- 1 root root  117 May 31  2013 nrpe_local.cfg
  

  编辑主配置文件:
  vim  nrpe.cfg
  

  allowed_hosts=127.0.0.1,1.1.1.1  //把nagios服务器地址加进白名单!
  

  # Values: 0=do not allow arguments, 1=allow command arguments
  dont_blame_nrpe=1  //允许带参数,把参数改为1
  

  调用插件里面定义的命令,并向插件传递具体的参数,找到下面这些根据需要添加或删除,注意其中[]里面的命令要与插件配置文件中定义的commond名字保持一致!!!! 另外你这里传递的参数的个数要与插件里面定义的 $ARG1$ 这些变量的个数保持一致。

  就这样配置一下,基本上就可以了,打开监控网页看一下吧!
  

  另外要注意,改完配置文件一定要重启啊!!!!
  sudo service nagios3 restart //nagios3主程序重启
  

  sudo service  nagios-nrpe-server restart  //被监控linux主机的nrpe服务的重启
  

  怎么不用重启nagios3服务端来测试配置的语法是否有问题?
  sudo /usr/sbin/nagios3 -v  /etc/nagios3/nagios.cfg
  

  /usr/sbin/nagios3 -h   //查看主程序的使用帮助
  Usage: /usr/sbin/nagios3 [options]
  

  -v的解释:
  -v, --verify-config          Verify all configuration data
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  





运维网声明 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-662664-1-1.html 上篇帖子: 安装nagios 登陆后提示nagios Internal Server Error 下篇帖子: nagios服务器磁盘损坏==修复方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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