???紵 发表于 2019-1-13 10:57:21

Nagios监控平台搭建

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios和cacti有什么区别呢?简单的来说cacti主要监控流量,服务器状态页面展示;nagios主要监控服务,邮件及短信报警灯,当然也有简单的流量监控界面,二者综合使用效果更好。(附Nagios工作简单逻辑图)
Nagios监控客户端需要借助插件及NRPE软件来实现,NRPE作为中间的代理程序,接收Nagios服务器端发来的请求,另一端在远程主机上指定的相关的监控信息。
http://s3.运维网.com/wyfs02/M01/6F/DA/wKiom1WrGVCjrmUkAAIMFOk4r_0339.jpg
  下面简单说下nagios平台搭建
  1. 准备工作
  nagios-3.2.1.tar.gz

  nagios-plugins-1.4.14.tar.gz
  nrpe-2.14.tar.gz
  2. 服务端环境搭建

  useradd -s /sbin/nologin nagios
  mkdir /usr/local/nagios
  chown -R nagios.nagios /usr/local/nagios
  tar zxvf nagios-3.2.1.tar.gz
  cd nagios-3.2.1
  ./configure--prefix=/usr/local/nagios--with-command-group=nagios
  make all
  make install;
  make install-init;
  make install-config;
  make install-commandmode;
  make install-webconf;
  注:
      make install //来安装主程序,CGI和HTML文件
      make install-init //在/etc/rc.d/init.d安装启动脚本
      make install-config //来安装示例配置文件,安装的路径是/usr/local/nagios/etc
      make install-commandmode //来配置目录权限
      make install-webconf // 配置nagios跟apache整合
  

  

  安装Nagios-plugins
  tar zxvf nagios-plugins-1.4.14.tar.gz
  cd nagios-plugins-1.4.14
  ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-   group=nagios
  make && make install
  nagios访问控制设置
  htpasswd-c/usr/local/nagios/etc/htpasswd.users nagiosadmin
  输入两次密码即可,登录页面的时候会用到这个密码.
  Nagios测试访问
  重启nagios
  /etc/init.d/nagios restart ;
  /etc/init.d/httpd restart ;
  http://IP/nagios/
  

  3. 添加一个客户端监控的步骤:
  cp localhost.cfg192.168.2.99.cfg
  把默认配置文件里面的locahost、127.0.0.1、check_local替换成最新
   因为没有在客户端安装nagios插件及NRPE,
      需删掉配置文件里disk、swap、process、user、cpu等监控配置段(这里根据个人需求修改)


  cd /usr/local/nagios/etc
  vi nagios.cfg
  在nagios.cfg 36行后加入cfg_file=/usr/local/nagios/etc/objects/192.168.2.99.cfg
  最后执行:/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg没有报错即可。
  

  4. Nagios客户端插件安装
  Nagios客户端安装需要安装两个软件,nagios-plugins-1.4.14.tar.gz和nrpe-2.14.tar.gz
  安装方法如下:
  useradd nagios ;
  tar -xzfnagios-plugins-1.4.14.tar.gz
  cd nagios-plugins-1.4.14
  ./configure --prefix=/usr/local/nagios
  make &&make install
  tar -xzf nrpe-2.14.tar.gz
  cd nrpe-2.14
  ./configure --enable-ssl --with-ssl-lib
  make all && make install-plugin && make install-daemon && make install-daemon-config
  chown -R nagios:nagios /usr/local/nagios/
  

  5. Nrpe客户端配置
  修改vi /usr/local/nagios/etc/nrpe.cfg 修改默认配置段的内容如下,
  allowed_hosts=192.168.2.91(这里是改为服务器监控机的IP)
  command=/usr/local/nagios/libexec/check_users -w 5 -c 10
  command=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
  command=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda2
  command=/usr/local/nagios/libexec/check_procs -w 50 -c 100
  command=/usr/local/nagios/libexec/check_swap -w 20 -c 10
  启动nrpe客户端命令:
  /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
  Nagios服务器nrpe配置
  Nagios 服务器端也需要安装nrpe,同时需要定义nrpe监控命令,写command.cfg末尾即可:
  define command{
  command_name check_nrpe
  command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  }
  

  在服务器端对应IP的配置文件中,加入需要监控的项目:
  define service{
  use                           local-service
  host_name                     192.168.2.99
  service_description             Users_Monitor
  check_command                   check_nrpe!check_users
  notifications_enabled         1
  }
  其他同理,添加的方法一样。只要在客户端nrpe.cfg里面添加的监控命令,都可以在服务端引用。
  

  Nagios监控端HTTP关键词
  
  在真实的线上环境中,如果要监控HTTP、web、tomcat某个URL关键词,监控网站关键词是否被篡       改,如果来实现呢?
  这里可以使用默认监控命令check_http命令+相关的参数来实现,如下:
  在command.cfg添加如下关键词监控命令:check_http_word,参数解析:-I指定IP或者主机名,-u   指定URL,-p指定端口,-s指定关键词。
  vim commands.cfg (这里是在监控服务器上的修改)

  definecommand{
  command_name    check_http_word
  command_line$USER1$/check_http -I $HOSTADDRESS$ -u$ARG1$ -p $ARG2$ -s$ARG3$
  }
  然后在服务器端监控主机的配置文件里面引用即可,引用的方法如下:
  define service{
  use                           local-service
  host_name                     192.168.2.99
  service_description             Discuz
  check_command                   check_http_word!/forum.php!80!Discuz
  notifications_enabled         1
  }
  通常在修改配置文件的时候最好是在外边命令测试一下 比如:
  /usr/local/nagios/libexec/check_http -I 192.168.2.99 -u /index.php -p 80 -s "Discuz"
  Nagios监控Mysql主从报警
  

  监控Mysql可以用个nagios mysql插件,首先在command.cfg中定义如下配置:
  define command{
  command_name   check_mysql_slave
  command_line$USER1$/check_mysql -H $HOSTADDRESS$ -S -uroot -p123456
  }
  然后在主机配置文件中定义监控项目:
  define service{
  use                           local-service
  host_name                     192.168。2.99
  service_description             MYSQL_Slave_Monitor
  check_command                   check_mysql_slave
  }
  配置完毕后 重启nagios服务查看监控状态
  
  Nagios邮件及短信报警
  安装邮件服务:
  # yuminstall sendmail* mailx -y
  Loaded plugins: fastestmirror
  说明fastestmirror不能使用 可以禁用这个插件

[*]  1.修改插件的配置文件
[*]  # vi/etc/yum/pluginconf.d/fastestmirror.conf
[*]  enabled = 1//由1改为0,禁用该插件
[*]  2.修改yum的配置文件
[*]  # vi /etc/yum.conf
[*]  plugins=1//改为0,不使用插件
  重新安装即可

  重启服务

  service sendmailrestart;
  chkconfigsendmail on
  邮件测试:

  echo "test" | mail-s"test"123456789@139.com
  测试OK后
  修改配置文件:
  vi /usr/local/nagios/etc/objects/contacts.cfg修改为需要发送的邮箱即可
  最后重启nagios服务,可以测试关闭某个服务,过一会就会收到nagios发来的报警邮件。

  
  



页: [1]
查看完整版本: Nagios监控平台搭建