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

搭建nagios监控服务

[复制链接]

尚未签到

发表于 2019-1-17 08:27:28 | 显示全部楼层 |阅读模式
由于公司在本市有一些服务器需要对其进行监测,其中大部分是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
   
    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

更改目录/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_image              server.gif
        statusmap_image         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的监控图形界面










对服务器监控测试正常







运维网声明 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-664209-1-1.html 上篇帖子: Nagios监控部署(五) 下篇帖子: nagios全新的包安装和配置方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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