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

nagios与nconf整合与使用

[复制链接]

尚未签到

发表于 2019-1-14 11:58:50 | 显示全部楼层 |阅读模式
  nagios和nconf整合与使用
  一. nagios和nconf简介 3
  1.nagios简介 3
  2.nconf简介 3
  二. 实验环境 3
  1.安装mysql 3
  2.安装apache 4
  3.安装php 4
  4.配置防火墙和selinux 4
  三. Nagios安装配置 4
  1.安装基础支持套件 4
  2.创建nagios用户和用户组 4
  3.编译安装nagios 4
  4.安装nagios插件 5
  5.配置apache 5
  6.创建apche目录验证文件 6
  7.配置nagios 6
  8.启动apache服务 7
  9.nagios安装完成 7
  四. nconf安装配置 7
  1. 检查/etc/php.ini设置 7
  2. 下载安装nconf 7
  3. 创建nconf数据库以用户 8
  4. 修改相关目录权限 8
  5. 设置安全上下文 8
  6. 在浏览器中访问 8
  7. 安装完毕,整理nconf目录 12
  8. 访问nconf: 12
  五. nrpe安装配置 13
  1.NRPE 工作原理 13
  2. 在监控主机上安装check_nrpe插件 14
  3. 在被监控主机安装nrpe deamon 14
  3.1 新增用户 14
  3.2 安装nagios插件 14
  3.3修改目录权限 15
  3.4 安装nrpe 15
  3.5 测试nrpe是否正常工作 15
  六. nconf的简单使用 16
  1.添加监控设备流程 16
  1.1 添加监控设备 16
  1.2 添加监控服务 17
  1.3 生成nagios配置文件 18
  1.4 执行脚本使nagios配置生效 19
  1.5 成功配置 19
  2. 新增服务流程 19
  2.1 上传监控脚本 19
  2.2 添加Check命令 19
  2.3 添加高级监控服务 20
  2.4 使用刚添加的监控服务 22
  3. 配置nagios自动部署 23
  3.1 修改部署配置文件 23
  3.2 修改/etc/sudoers 24
  3.3 修改nagios的主配置 24
  3.4 修改目录所有者 24
  3.5 自动发布 24
  3.6 重载nagios配置 25
  3.7 成功进行自动部署 25
  一.nagios和nconf简介
  1.nagios简介
  Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
  Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
  启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。
  Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。打开Nagios官方的文档,会发现Nagios基本上没有什么依赖包,只要求系统是Linux或者其他Nagios支持的系统。不过如果你没有安装apache(http服务),那么你就没有那么直观的界面来查看监控信息了,所以apache姑且算是一个前提条件。
  2.nconf简介
  NConf是一个用来配置Nagios监控软件的Web工具。它不同于类似的工具,它能够提供企业级功能,如模板、依赖、并能够配置一个大型分布式的Nagios服务器拓扑结构。它可以让你毫不费力地保持一个分布式的Nagios拓扑。具有一个用户友好的GUI,其特点是主机和服务的模板,图形依赖浏览器,多个身份验证模式,一个Nagios配置的提供者,一个CSV文件导入和Perl的数据库API,其数据架构是可定制和可扩展。
  二.实验环境
  LAMP环境部署
  1.安装mysql
  # yum install mysql perl mysql-server perl-DBI perl-DBD-MySQL
  2.安装apache
  # wget http://archive.apache.org/dist/httpd/httpd-2.4.6.tar.bz2
  # tar -xvf httpd-2.4.6.tar.bz2
  # cd httpd
  # ./configure --prefix=/usr/local/apache2
  # make&&make install
  3.安装php
  # wget http://cn2.php.net/distributions/php-5.5.3.tar.bz2
  # tar -xvf php-5.5.3.tar.bz2
  # cd php-5.5.3
  #./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache2/bin/apxs --with-mysql
  # make&&make install
  4.配置防火墙和selinux
  # iptables -F
  # iptables -X
  # iptables -Z
  # iptables -P INPUT ACCEPT
  # iptables -P OUTPUT ACCEPT
  # iptables -P FORWARD ACCEPT
  # setenforce 0
  三.Nagios安装配置
  1.安装基础支持套件
  yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
  2.创建nagios用户和用户组
  # useradd -s /sbin/nologin nagios
  # mkdir /usr/local/nagios
  # chown -R nagios:nagios /usr/local/nagios
  3.编译安装nagios
  # wget  http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
  # tar -zxvf nagios-3.5.1.tar.gz
  # cd nagios
  # ./configure --prefix=/usr/local/nagios
  # make all
  # make install
  # make instal-init
  # make install-commandmode
  # make install-config
  # chkconfig --add nagios
  # chkconfig --level 35 nagios on
  # chkconfig --list nagios
  4.安装nagios插件
  #wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
  # tar --zxvf nagios-plugins-1.4.16.tar.gz
  # cd nagios-plugins-1.4.16
  # ./configure --prefix=/usr/local/nagios
  # make&&make install
  5.配置apache
  修改/usr/local/apache2/conf/httpd.conf文件:
  将User和Group修改如下:
  User nagios
  Group nagios
  将DirectoryIndex修改如下:
  DirectoryIndex index.html index.php
  添加以下内容:
  AddType application/x-httpd-php .php
  为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件新增以下内容:
  #setting for nagios
  ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
  
  AuthType Basic
  Options ExecCGI
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthUserFile /usr/local/nagios/etc/htpasswd
  Require valid-user
  
  Alias /nagios "/usr/local/nagios/share"
  
  AuthType Basic
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "nagios Access"
  AuthUserFile /usr/local/nagios/etc/htpasswd
  Require valid-user
  
  防止nagios页面乱码,在httpd.conf中新增如下:
  AddDefaultCharset utf-8
  同时将以下两行的注释去掉:
  LoadModule cgid_module modules/mod_cgid.so
  LoadModule actions_module modules/mod_actions.so
  6.创建apche目录验证文件
  在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件(可根据实际情况新增,此处新增luyx这个账号):
  # /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd luyx
  这样就在/usr/local/nagios/etc 目录下创建了一个htpasswd 验证文件,当通过http://192.168.9.188/nagios/ 访问时就需要输入用户名和密码了。
  7.配置nagios
  修改/usr/local/nagios/etc/cgi.cfg文件,使得用户luyx具备相应的权限:
  authorized_for_system_information=nagiosadmin,luyx   
authorized_for_configuration_information=nagiosadmin,luyx   
authorized_for_system_commands=nagiosadmin,luyx   
authorized_for_all_services=nagiosadmin,luyx   
authorized_for_all_hosts=nagiosadmin,luyx   
#authorized_for_all_service_commands=nagiosadmin,luyx
  #authorized_for_all_host_commands=nagiosadmin,luyx
  8.启动apache服务
  # /usr/local/apache2/bin/apachectl start
  nagios的验证方法:
  # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  Nagios的启动和停止:
  # service nagios start
  #service nagios stop
  9.nagios安装完成
  到此nagios的安装基本完成,可以通过web来访问了。

  四.nconf安装配置
  1.检查/etc/php.ini设置
  该配置文件应该设置成如下:
  short_open_tag = On  
register_globals = Off  
magic_quotes_gpc = Off
  2.下载安装nconf
  # wget http://file2.运维网.com/?mod=getCode&n=a1c4OzkJqDodjYyJUtT8qoXUQHDVx4Xn8la69BE+vme4/TcJWiteKExcBLbdVe/yfK0UaAaL1NDGHFyrL1Wm6wi2rxpOv95TdFEHryQQsp64mpf7+SU+Onn9mXx0ENS1d/1GBCjpotG0pag+a+QAA9+VABK6cEkv17n9SCKJiC6w2A
  # tar -xvf nconf-1.3.0.0.tgz -C /usr/local/apache2/htdocs/
  3.创建nconf数据库以用户
  # mysql -u root -p   (root初始密码为空,可自行更改)
  mysql> create database nconf;
  mysql> grant all privileges on nconf.* to nconf@localhost identified by '1q2w3e';
  mysql> flush privileges;
  # cd /usr/local/apache2/nconf
  # mysql -u nconf -p nconf < INSTALL/create_database.sql
  4.修改相关目录权限
  # chown -R nagios:nagios config/ temp/ static_cfg/ output/
  5.设置安全上下文
  如果selinux打开了,需要设置安全上下文:
  # chcon -R -t httpd_sys_content_t /usr/local/apache2/nconf/
  # chcon -t httpd_sys_script_exec_t /usr/local/apache2/nconf/bin/nagios
  6.在浏览器中访问
  在浏览器中输入http://ip/nconf/,此例中地址为http://192.168.9.188/nconf/ 安装画面如下:
     




  7.安装完毕,整理nconf目录
  # cd /usr/local/apache2/htdocs/nconf
  # rm -rf INSTALL* UPDATE*
  # cp /usr/local/nagios/bin/nagios bin/nagios
  # chown -R nagios:nagios bin
  8.访问nconf:
  此例为http://192.168.9.188/nconf/页面:

  登录后界面如下,表示安装成功:

  五.nrpe安装配置
  要利用nagios来监控linux主机,需要在监控主机中安装check_nrpe,在被监控主机中安装nrpe deamon.
  1.NRPE 工作原理

  NRPE 总共由两部分组成:
  1 check_nrpe 插件,位于监控主机上
  2 NRPE daemon,运行在远程的Linux主机上(通常就是被监控机)
  按照上图,整个的监控过程如下:
  当Nagios 需要监控某个远程Linux 主机的服务或者资源情况时:
  1 Nagios 会运行check_nrpe 这个插件,告诉它要检查什么;
  2 check_nrpe 插件会连接到远程的NRPE daemon,所用的方式是SSL;
  3 NRPE daemon 会运行相应的Nagios 插件来执行检查;
  4 NRPE daemon 将检查的结果返回给check_nrpe 插件,插件将其递交给nagios做处理。
  注意:NRPE daemon 需要Nagios 插件安装在远程的Linux主机上,否则,daemon不能做任何的监控。
  2.在监控主机上安装check_nrpe插件
  此处以监控机192.168.8.188为例:
  # wget http://download-vdisk.sina.com.cn/40070246/208595c175d726e8e377d565b21897f4de1648cc?ssig=xYr6eu70pI&Expires=1378279074&KID=sae,l30zoo1wmz&fn=nrpe-2.12.tar.gz
  # tar -xvf nrpe-2.12.tar.gz
  # cd nrpe-2.12
  # ./configure
  # make install
  # make-plugin
  在commands.cfg中增加对check_nrpe的定义:
  # vi /usr/local/nagios/etc/objects/commands.cfg

  3.在被监控主机安装nrpe deamon
  此处以被监控主机192.168.9.190为例:
  3.1 新增用户
  # useradd nagios
  # passwd nagios
  3.2 安装nagios插件
  # tar -xvf nagios-plugins-1.4.16.tar.gz
  # cd nagios-plugins-1.4.16
  # ./configure --prefix=/usr/local/nagios
  # make&&make install
  3.3修改目录权限
  # chown nagios.nagios /usr/local/nagios
  # chown -R nagios.nagios /usr/local/nagios/libexec
  3.4 安装nrpe
  # Tar -xvf nrpe-2.12.tar.gz
  # cd nrpe-2.12
  # ./configure
  # make all
  # make install-plugin
  # make install-daemon
  # make install-daemon-config
  ####将nrpe作为xinetd下的一个服务来管理
  # make install-xinetd
  ####在配置文件中新增监控主机的IP地址
  # vi /etc/xinetd.d/nrpe

  ####编辑/etc/services文件,增加nrpe服务

  ####重启xinetd服务
  #service xinetd restart
  3.5 测试nrpe是否正常工作
  # /usr/local/nagios/libexec/check_nrpe -H localhost

  ####返回nrpe的版本,说明nrpe daemon正常。
  ####注意,若有开启防火墙,需要放行5666端口。
  至此,nagios与nconf的整合完毕。
  六.nconf的简单使用
  1.添加监控设备流程
  以linux系统192.168.9.190为例:
  1.1 添加监控设备
   

  1.2 添加监控服务

  1.3 生成nagios配置文件
  保存后设备添加完成,点【Generate Nagios config】生成nagios配置文件

  1.4 执行脚本使nagios配置生效
  如果生成Nagios配置文件没问题的话,就可以执行以下脚本使nagios配置生效:
  # /usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh
  执行后看到以下结果说明正常:
  #/usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh
  Running configuration check...done.
  Reloading nagios configuration...done
  注:可以将此脚本做成计划任务1分钟执行一次,这也是nconf官方推荐的,但是这里没有做成计划任务,因为个人觉得这没必要,这个配置不会天天修改,一分钟执行一次太频繁了,完全没这个必要。当然,想增加计划任务也是可以的,按个人需要,如果你想增加计划任务的话,执行此命令即可添加:
  echo '* * * * * root /usr/local/apache2/htdocs/nconf/ADD-ONS/deploy_local.sh'>> /etc/crontab
  1.5 成功配置
  至此通过nconf来配置nagios完成,http://IP/nagios 进行查看刚添加的监控设备。
  2.新增服务流程
  2.1 上传监控脚本
  编写好相关的监控脚本check_mem.sh,上传至Nagios的/usr/local/nagios/libexec/ 目录里,或者利用该目录内已有的check命令:
  ####修改权限:   
chown nagios.nagios check_mem.sh   
chmod 755 check_mem.sh
  2.2 添加Check命令


  2.3 添加高级监控服务
  添加的服务可被多次利用,【Services】是针对单台设备监控添加的服务

  在最尾部,添加参数值:

  2.4 使用刚添加的监控服务


  3.配置nagios自动部署
  3.1 修改部署配置文件
  #vim /usr/local/apache2/htdocs/nconf/config/deployment.ini

  3.2 修改/etc/sudoers
  允许nagios执行sudo:
  #将Defaults requretty注释掉,同时新增nagios这个无密码的sudoers


  3.3 修改nagios的主配置
  # 将其中cfg_file=*******字段全部注释 ,并加入
  cfg_dir=/usr/local/nagios/etc/Default_collector
  cfg_dir=/usr/local/nagios/etc/global
  3.4 修改目录所有者
  chown nagios:nagios /usr/locasl/nagios/etc/Default_collector/
  chown nagios:nagios /usr/locasl/nagios/etc/global/
  3.5 自动发布

  点击Deploy,完成自动部署。


  3.6 重载nagios配置
  重载nagios的配置,使用最新的配置文件:
  # service nagios reload
  3.7 成功进行自动部署
  以下为个人新增的service和host:





运维网声明 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-663169-1-1.html 上篇帖子: Nagios监控HP、Dell服务器的硬件状态 下篇帖子: 0 nagios 方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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