dinggela 发表于 2019-1-13 06:20:55

监控服务之nagios服务

监控服务之nagios服务搭建
  Nagios是一款开源的监控软件,与cacti,zabbix等开源监控软件并驾齐驱,它能够有效监控windows,linux,unix,交换机和路由器的主机状态和相关运行的服务,在系统或者服务异常时发出邮件或者短信报警,通知运维人员解决问题。ngios本身并没有监控功能,他是通过nagios-plugin插件完成的,插件将结果返回给nagios,然后nagios再以web界面的方式将信息呈现出来,出错了就告警,通过轻量级服务nrpe和nagios-plugin可以实现对远程服务器主机状态和网络服务的监控。
  准备材料:
  nagios-cn-3.2.3.tar.bz2    nagios-plugins-2.1.1.tar.gz   gd-devel-2.0.35-11.el6.x86_64.rpm
  步骤:
  第一步:(nagios服务安装)   --server端
  #yuminstall-ygccgcc-c++ 编译环境   
  #yuminstall -y gd-devel-2.0.35-11.el6.x86_64.rpm 解决nagios服务的依赖项。
  #yuminstall -y httpd安装apache服务
  #/etc/init.d/httpd start
  #groupaddnagcmd新建nagcmd组,主要是方便后续文件的访问
  #useradd-M -d/usr/local/nagios-G nagcmd   nagios
  #usermod-G nagcmdapache 添加apache用户到nagcmd组里面,方便访问
  #tar-jxfnagios-cn-3.2.3.tar.bz2解压文件
  #./configure--with-command-group=nagcmd配置文件,指定命令组为nagcmd
  #make all   编译
  #make install      安装
  #make install-init
  #makeinstall-commandmode
  #makeinstall-config
  #makeinstall-webconf
  #vim /etc/hosts
172.25.45.20 server20.example.com(真机,便于解析)
  #/etc/init.d/nagios start    nagios服务启动
  #/etc/init.d/httpdrestart(注意:此时apache服务一定要重起,否则web页面无法访问,重起的目的是加载nagios服务的一些配置文件)
  
  #Firefox--->172.25.10.100/nagios
http://s1.运维网.com/wyfs02/M02/82/A4/wKiom1ddoS3Cw4c1AAL7jObCfjo853.png-wh_500x0-wm_3-wmp_4-s_2014768675.png
  

  http://s1.运维网.com/wyfs02/M02/82/A2/wKioL1ddon7zzNlgAAPa8AQ67zU596.png-wh_500x0-wm_3-wmp_4-s_3368070383.png
  第二步:(nagios插件的安装)--server端
  #tarzxfnagios-plugins-2.1.1.tar.gz
  #yuminstall -ymysql-developenssl-devel    进行数据传输加密的依赖项
  #cdnagios-plugins-2.1.1
  #./configure----> make ----->make install源码编译三部曲
  #cd   /usr/local/nagios/libexec/
  #chownnagios.nagios*-R将libexec里面的文件用户与用户组全部更改为nagios.nagios
  #/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg检查nagios主配置文件有没有语法错误。
  /etc/init.d/nagiosreload    没有语法错误,则进行重起
  #Firefox-->172.25.45.20/nagios   刷新网页,则能检测相应的数据并且进行监控。
   http://s5.运维网.com/wyfs02/M00/82/A3/wKioL1ddoq7Tb9XkAAPM23hsb1Q832.png-wh_500x0-wm_3-wmp_4-s_574628910.png
  第三步:nagios服务的配置(因为以上那些监控项及服务不是我们需要的,因此我们需要进行私有定制,这就是nagios的优势所在,并且可以随时添加其他的主机和监控的服务)
  # cd/usr/local/nagios/etc/
  #vim nagios.cfg
34 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
35 cfg_file=/usr/local/nagios/etc/objects/services.cfg
38#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg   
  注销38行,其实是将38行一分为2,也就是上面添加的两行,hosts.cfg和services.cfg文件,使得添加用户和服务分开进行,更加方便。
图:

  # cd/usr/local/nagios/etc/objects/
  # cplocalhost.cfghosts.cfg -p
  #cplocalhost.cfgservices.cfg -p   (此处注意复制时一定要保持用户其用户组均不变,也就是nagios.nagios)
  #vim hosts.cfg          配置host.cfg文件
25 define host{         ###设置为本地主机
26         use      linux-server            
27      host_name    server20.example.com
28      alias      HomeSwitch
29      address      172.25.45.20
30      icon_image   switch.gif
31      statusmap_imageswitch.gd2
32         2d_coords   100,200
33      3d_coords      100,200,100
34         }

46 define hostgroup{
47      hostgroup_namelinux-servers
48      alias         Linux Servers
49         members       *##成员指任何主机   
50         }
  
  #vim services.cfg      
1 defineservicegroup{
2         servicegroup_name 系统负荷检查
3         alias 负荷检查
4         members server20.example.com,进程总数,server20.example.com,登录用户数,server20.example.com,根分区,server20.example.com,交换空间利用率
5         }
  注意:前面关于hosts和hostsgroup全部删掉,只剩下一个servergroup 和services ,且进行全文替换:
“:%s/田朝阳家用机电/server20.example.com/g”
  
  #/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg 语法检查
  #/etc/init.d/nagiosreload
  #firefox--> 172.25.45.20/nagios刷新页面
  
  ######cd libexec/--> ./check_disk -w 20 -c 10
  
  第四步:监控客户端的运行主机的网络服务及主机资源 --> client端
  资料: nrpe-2.15.tar.gz   nagios-plugins-2.1.1.tar.gz
  (一) 对mysql服务的监控   server2.example.com   ip 172.25.45.3
  #yum install -ymysql-server       安转数据库
  #/etc/init.d/mysqld   start             启动数据库
  #mysql_secure_installation            数据库初始化
  #mysql -uroot-predhat            登陆数据库   
> create database nagdb;      创建nagdb库
> grant all on nagdb.* to nagios@172.25.45.20identified by 'westos';授权并建立用户nagios;
>quit
  # netstat-antlpe   查看数据库端口有没有打开;
  
  ####在server端进行验证以及相应mysql服务监控的配置;
  #cd/usr/local/nagios/libexec
  #./check_mysql -H 172.25.45.3-u nagios-p westos进行验证,看能否有数据过来。或者使用远程登陆数据库;
  (或者 # mysql -h172.25.45.3-u nagios-pwestos )
  
  # cd   /usr/local/nagios/etc/objects      #添加check_mysql命令
  # vimcommand.cfg
##### 'check_mysql' command definition
215 define command{
216    command_name    check_mysql
217    command_line   $USER1$/check_mysql   -H$HOSTADDRESS$-u$ARG1$-p$ ARG2$
218      }

# vimhosts.cfg         ####添加主机 ip为172.25.45.3
36define host{         ###且主机名为server2.example.com
37      use                         linux-server
38      host_name   server2.example.com
39      alias      HomeSwitch
40      parents       server20.example.com
41      address       172.25.45.3
42      icon_image   switch.gif
43      statusmap_imageswitch.gd2
44      2d_coords      200,200
45      3d_coords      200,200,100
46      }
  
  # vimservices.cfg            ###添加监控的服务--MYSQL
112 define service{
113      use          local-service
114      host_name       server2.example.com
115      service_description   MYSQL
116      check_command    check_mysql!nagios!westos
117         }
注意:此处的check_mysql后面跟的是mysql的用户名和密码;
119 define service{
120      use         local-service
121      host_name   server2.example.com
122      service_description   交换空间利用率
123      check_command       check_local_swap!20!10
124         }

  # /usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
  #/etc/init.d/nagios   reload
  Firefox----> 172.25.45.20/nagios    刷新
http://s4.运维网.com/wyfs02/M01/82/A3/wKioL1ddo3vx0bxzAAP06BpwpWY650.png-wh_500x0-wm_3-wmp_4-s_2017117164.png
  
(二) 对客户主机资源的监控server2.example.com   ip 172.25.45.3
  A.客户端配置
  # tarzxfnagios-plugins-2.1.1.tar.gz   
  # yuminstall -ygccgcc-c++   ###编译软件,不然无法编译。
  # yuminstall -ymysql-developenssl-devel
  # useradd-M-d/usr/local/nagios   nagios   建立用户nagios 并制定用户家目录为:/usr/local/nagios
  #cdnagios-plugins-2.1.1         ###源码编译三部曲
  # ./configure   --> make all--> makeinstall
  # cd/usr/local/nagios/   
  # chownnagios.nagios .–R   ##更改文件的用户及用户组
  # tarzxfnrpe-2.15.tar.gz   
  # cd   nrpe-2.15
  # yuminstall -y   xinetd   
  注:xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务,Xinetd是基于服务的超级服务,用来管理和保护轻量级服务,此处就是用来保护nrpe服务的,防止DOS***。
  ##对nrpe服务进行编译安装。
  # ./configure--> # makeall   
  # makeinstall-plugin--> # makeinstall-daemon -->
  # makeinstall-daemon-config--> # makeinstall-xinetd
  #/etc/init.d/xinetdstart
  # vim/etc/xinetd.d/nrpe
15 only_from       =172.25.45.20只允许此ip 取数据。
  #vim/etc/services
22nrpe            5666/tcp    添加nrpe服务端口5666
  #netstat-antlpe    查看端口号5666;
  # cd/usr/local/nagios/libexec
  # scpcheck_nrpe root@172.25.45.20:/usr/local/nagios/libexec/
  #/etc/init.d/xinetd   restart      服务重起
  B服务器端配置
  #cd/usr/local/nagios/libexec
  #chownnagios.nagios check_nrpe   传过来的文件用户及组需要改成nagios.nagios
  #./check_nrpe      -H 172.25.45.3 -c check_disk   进行验证是否有数据返回过来。
  
  配置server服务器的command.cfgservices.cfg hosts.cfg 文件,使服务器能取得客户端的数据并能通过WEB界面监控显示出来。
  #cd/usr/local/nagios/etc/objects
  # vimcommand.cfg
#####'check_nrpe' command definition
222 define command{
223    command_name    check_nrpe
224   command_line    $USER1$/check_nrpe-H $HOSTADDRESS$   -c$ARG1$
225   }
  #vim   hosts.cfg:由于之前已经加入了此ip的主机,故此处不用添加,要是添加其他ip主机,则方法和之前类似。
  # vimservices.cfg
120 define service{
121      use         local-service
122      host_name   server2.example.com
123      service_description   根分区
124      check_command    check_nrpe!check_disk
125      }
127 define service{
128      use            local-service      
129      host_name      server2.example.com
130      service_description   登陆用户数
131      check_command   check_nrpe!check_users
132      }
  #/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
  #/etc/init.d/nagios   reload
  # Firefox   172.25.45.20/nagios    刷新网页
  图:
  
  
  第五步:添加告警功能(110云告警:短信,电话,邮件)
  请看下回,110云告警功能。
  



页: [1]
查看完整版本: 监控服务之nagios服务