由于公司在本市有一些服务器需要对其进行监测,其中大部分是windows的服务器,看了一些相关的监控的软件,最后决定使用nagios进行监控,在这里对Sery文章的帮助表示感谢。
      下面就是一些安装的步骤,由于安装的时候与现在较早,有些地方没有好好的保留,如有不对的地方望大家积极指出,如有不懂的地方可以去nagios的官网去查看,也可以在搭好后的web主页上获得帮助,呵呵,我就是看那里的。不说了,下面是配置步骤。

首先,到www.nagios.orq 上下载nagios 的软件包

2.下载到相应的目录下解压,进行编译 ./configure prefix=/usr/loacl/nagios
注意先建立nagios 用户和组,也可以再编译的时候进行指定
3、  编译nagios. make all
4、 安装nagios。与别的软件安装稍有不同,nagios的安装要好几步才能完成。第一步执行make install安装主要的程序、CGI及HTML文件,第二步执行 make install- commandmode 给外部命令访问nagios配置文件的权限,第三步执行 make install-config 把配置文件的例子复制到nagios的安装目录。按照安装向导的提示,其实这里 还有一个 make install-init的步骤,它的作用是把nagios做成一个运行脚本,使nagios随系统开机启动,这是一个很方便的措施。但本人是一个喜欢把问题简化的人,没 有执行这样的操作。
5、 验证程序是否被正确安装。切换目录到安装路径(这里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正 确的安装到系统了。后表是五个目录功能的简要说明:
 
 
bin
Nagios执行程序所在目录,这个目录只有一个文件nagios
etc
Nagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件
sbin
Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录
Share
Nagios网页文件所在的目录
Var
Nagios日志文件、spid 等文件所在的目录

二。安装nagios 的插件,到www.nagios.orq 上下载nagios 的软件包nagios-plugins-1.4.13
执行
./configure prefix=/usr/loacl/nagios     make   make install进行安装
j
注意系统时间的一致性
>
装好后再目标目录下生成 libexec 目录

三、安装web服务器apache
Web服务不是nagios所必须的,但是如果nagios没有web,查看监控对象的状态将是非常费事和没有趣味的事情(只有通过查看nagios的日志来判断状态)。我不愿干特无聊 的事,所以就花少许时间把web安装一下。
在unix/linux世界,apache是web服务器的首选对象,其下载网站为www.apache.org  。建议下载源码。因为我们不需要很复杂的web功能,因此简单的执行一下几个步骤就 可以正确的把apache安装到系统:
1、   解包、配置:tar zxvf httpd-2.2.0.tar.gz ; cd httpd-2.2.0 ; ./configure   –prefix=/usr/local/apache 。
2、   编译安装: make ; make install 。
安装完成后,执行命令 ./usr/local/apache/bin/apachectl –t 检查一下apache是否正确安装。

#setting for nagios
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/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
</Directory>
 
Alias /nagios /usr/local/nagios/share
<Directory "/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
</Directory>
更改目录/usr/local/apache 的权限 为nagios用户
执行/usr/local/apache/bin/apachl -t 检查语法
然后/usr/local/apache/bin/apachctl start & 把apache启动到后台
注意有的版本自带了自己的apache服务,不要试验 /etc/init.d/httpd start 进行启动会冲突

四。进入到/usr/local/nagios/etc/ 下,目录结构如下

然后进入到 ./nagios 下对nagios 配置文件进行修改

cfg_file=/usr/local/nagios//etc/objects/commands.cfg   //会在 object 的目录下生成相应的配置文档
cfg_file=/usr/local/nagios//etc/objects/contacts.cfg    //同上
cfg_file=/usr/local/nagios//etc/objects/timeperiods.cfg   // 同上
cfg_file=/usr/local/nagios//etc/objects/templates.cfg         // 同上
cfg_file=/usr/local/nagios//etc/objects/windows.cfg    //取消的注释行,开启监测windows服务器
cfg_file=/usr/local/nagios//etc/objects/switch.cfg      //取消的注释行,开启对路由和交换机的监测
command_check_interval=-10s  //设定服务器掉线的允许时间,默认为1s
enable_notifications=1  //是否发送通知的过滤器

在cgi.cfg中进行修改

authorized_for_system_information=nagiosadmin,zhangbo
authorized_for_configuration_information=nagiosadmin,zhangbo
authorized_for_system_commands=zhangbo //多个用户之间用逗号隔开
authorized_for_all_services=nagiosadmin,zhangbo
authorized_for_all_hosts=nagiosadmin,zhangbo
authorized_for_all_service_commands=nagiosadmin,zhangbo
authorized_for_all_host_commands=nagiosadmin,zhangbo

下面进入到 ./object 的目录下,改目录的结构如下:

再 contacts.cfg 中进行修改:这里主要是联系人的相关设置

define contactgroup{
        contactgroup_name       admins  //联系组的相应组名,后面要用到
        alias                   Nagios Administrators   //别名
        members                 zhangbo    //成员,多用户用“,”隔开
        }

define contact{
        contact_name                    zhangbo         //联系人             
        alias                           Nagios zhangbo  (Admin)   //别名       
        email                           zhangbo@邮箱     //联系人的邮箱,通知的邮箱 
        }

再timeperiods.cfg 中没有修改:  //这里主要是一些关于监测时间,报警时间,间断时间的一些设置,保持默认即可

在 localhost.cfg 下的修改:

define hostgroup{
        hostgroup_name  hostadmin     //监视的主机组的名称
        alias           hostadmin   //别名
        members         zhangbo        //成员名 ,多用户用“,”隔开
         }

define host{
        use                     linux-server  //使用的类定义,根据templates.cfg的定义
        host_name               zhangbo             //主机名
        alias                   zhangbo                //别名
        parents                 MainSwitch
        address                 192.168.1.251     //对应的ip地址
        icon_p_w_picpath              server.gif
        statusmap_p_w_picpath         server.gd2
        2d_coords               500,200
        3d_coords               500,200,100
        }

再  templates.cfg 中进行修改://可以根据自己的需要进行相应类的定义

define contact{
        name                                    generic-contact       //定义的类名
        service_notification_period     24x7                   
        host_notification_period        24x7                  
        service_notification_options    w,u,c,r,f,s           
 events, and scheduled downtime events
        host_notification_options       d,u,r,f,s              
ents, and scheduled downtime events
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email   
        register                        0

检测:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
出现下面情况表示成功
Checking misc settings...
 
Total Warnings: 0
Total Errors:   0
 
Things look okay - No serious problems were detected during the pre-flight check

对于监测是点来说,我这里都是一些windows的机器,因为系统的差异,对windows的监控得需要在各监控点上安装第三方的软件--NSClient++

NSClient++ 客户端在windos上的安装步骤

1,到官方网站上下载最新的稳定的 NSClient++ 软件包或安装程序

2. 将其安装再C盘下

3.再 cmd 的模式下,进入到安装目录,执行:
       NSClient++ /uninstall
    NSClient++ SysTray uninstall
 
    NSClient++ /install 
    NSClient++ SysTray install

4.再安装目录下对配置文件进行修改:
 
将 [modules]部分的所有模块前面的注释都去掉,除了CheckWMI.dll and RemoteConfiguration.dll这两个 
在[Settings]部分设置'password'选项来设置密码,作用是在nagios连接过来时要求提供密码.这一步是可选的,我这里方便起见跳过它,不要密码. 
将[Settings]部分'allowed_hosts'选项的注释去掉,并且加上运行nagios的监控主机的IP.我改为如下这样allowed_hosts=127.0.0.1/32,192.168.0.111 以逗号相隔.这个地方是支持子网的,如果写成192.168.0.0/24则表示该子网内的所有机器都可以访问.如果这个地方是空白则表示所有的主机都可以连接上来.注意是[Settings]部分的,因为[NSClient]部分也有这个选项. 
必须保证[NSClient]的'port'选项并没有被注释,并且它的值是'12489',这是NSClient的默认监听端口 
 
5.在CMD中执行nsclient++ /start启动服务,注意所在目录是C:\NSClient++
     
password=secret-password

下面是web的nagios的监控图形界面

对服务器监控测试正常

转载于:https://blog.51cto.com/zhangbo/224128

搭建nagios监控服务相关推荐

  1. linux下搭建nagios监控

    一.什么是nagios 1.nagios 简介 Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.Nagios可运行在L ...

  2. 搭建nagios监控平台

    Centos7,使用nagios-4.3.1.tar.gz,nagios-plugins-2.2.1 nrpe2.12.tar.gz源码包 安装nagios主程序:./configure --pref ...

  3. nagios监控服务短信报警开发及部署细节

    网站监控的及时报警方式主要就是短信报警了:1)邮箱转短信报警. 2)微信,MSN,QQ转手机信息提醒. 3)短信网关报警(本文推荐) 4)短信猫报警. 5)飞信报警. 6)手机邮件客户端直接收邮件提示 ...

  4. nagios监控php-fpm,Nginx平台安装Nagios监控服务

    安装环境:CentOS5.5 1.下载相关软件 FCGI-0.67.tar.gz FCGI-ProcManager-0.18.tar.gz IO-All-0.39.tar.gznagios-3.2.3 ...

  5. Nginx平台安装Nagios监控服务(0608更新)

    安装环境:centos5.5 Nginx平台安装 1.下载相关软件 FCGI-0.67.tar.gz FCGI-ProcManager-0.18.tar.gz IO-All-0.39.tar.gz n ...

  6. 通过Nagios监控weblogic服务

    1.前言      前段时间搭建了一套Nagios监控服务,心血来潮想自己写一个脚本,拓展Nagios插件来监控公司的weblogic服务. 环境:weblogic10.3.3.0 . CentOS6 ...

  7. 使用graphite和cabot搭建监控服务

    说起监控,我们一般会首先想到zabbix,nagios,ganglia等等.但是对于非ops开发人员而言,这些东西,多多少少让人感到陌生.所以本文将从一个服务端开发人员的视角,介绍如何通过graphi ...

  8. nagios 监控平台搭建

    nagios搭建配置 一.需要的软件包 1.nagios-3.2.3.tar.gz  nagios主监控包 tar -zxvf nagios-3.2.3.tar.gz cd nagios-3.2.3 ...

  9. nagios监控linux主机及服务信息

    Nagios监控linux等多方应用 一.Nagios简介 1.Nagios是一款遵循GPLv2的开源网络监控软件,可用来监控指定的多种系统的主机.服务,并可在它们的工作状态发生变化时通知管理员.它的 ...

最新文章

  1. 面试金典--min栈的实现
  2. Vue---mock.js 使用
  3. Visual Studio Code 开发 .NET Core 看这篇就够了
  4. 【To Read】LeetCode | Jump Game II(转载)
  5. Redis主从复制、哨兵、Cluster安装部署
  6. fiddler抓包第一课--手机数据抓包
  7. 大数据可视化有哪些优势
  8. python绘制国际象棋规则口诀_用Python编写一个国际象棋AI程序
  9. Ubuntu学习 mkdir
  10. 计算机应用基础多媒体应用试题,2020年9月统考《计算机应用基础》多媒体技术试题及答案2...
  11. python图像多层小波分解_Python中图像小波分解与重构以及灰度图加噪
  12. STL之字符串类模板 string(一)、C++ string类库简介
  13. 黑苹果和笔记本键盘按键的映射及快捷键的设置
  14. U3D里UI相关逻辑和文件的组织关系的各种形式的比较
  15. 五行顺口溜_纳音五行口诀
  16. web基础(一)——初识HTML5
  17. 关于我所能改的常用软件的背景图片
  18. 4天快速落地团队内部的UI组件库
  19. Delphi中实现MDI子窗体(转)
  20. 有道云笔记学习Markdown命令

热门文章

  1. mongodb启动成功连不上_MySQL数据导入到MongoDb教程
  2. python to sql_python的to_sql那点儿事
  3. HTML鼠标悬停图片置顶,jquery实现鼠标悬浮停止轮播特效
  4. 数组元素的修改会影响到转换过来的结合_数组长度属性背后有什么魔力?
  5. 成员的访问控制java_java类成员的访问控制(翻译自Java Tutorials)
  6. matlab 高斯函数_光学与matlab:高斯光的模拟
  7. java用thinkpadx1_还用老的办公本? 处理文件速度怎够用
  8. c语言不定长数组_学习C语言这三块“硬骨头”不搞定学了也是白学
  9. 服务器区分几位系统吗,怎么区分服务器是几个CPU,几核
  10. mysql binlog2sql_mysql闪回工具binlog2sql安装配置教程详解