nagios全新的包安装和配置方式-程序员宅基地

技术标签: 运维  操作系统  

前言:nagios的文章在网上已经犹如浩瀚烟海一般一抓一大把,但是据我翻阅的资料情况看,大部分都描述的是源码包的安装方式且抄袭和老旧现象严重。现如今,常见的开源系统早就把nagios放入的cvs库,并且安装和配置的方式已经有很大改变。包安装能够免去你手动查找和安装依赖包的过程,如此提高效率的方式我们为什么不用呢?今天我们就以ubuntu为例,来看看新的nagios包安装方式的安装和配置有什么不同。
 
我们这里采用ubuntu8.10系统。
 
1、安装
首先找一个快的更新源,这个在网上能搜到很多,就不列举了。
打开新立得,找到需要的包并且都安装上。安装过程犹如win一般傻瓜,也不详述了。
 
2、变化
(1)nagios的配置文件已经移到/etc/nagios3/,这里是主配置目录,此外etc下还有plugin和nagiosgraph等插件的配置目录,/usr/local下空空如也,不用费劲再去这里找了。
(2)配置文件:/etc/nagios3/中没有objects,需要自行创建。
(3)命令脚本路径:/etc/nagios-plugins/config;里面已经分类放好了各种check的脚本,已经不再需要修改commands.cfg。
(4)命令执行文件路径:/usr/lib/nagios/plugins;
(5)nagios3没有start和reload参数指令。
(6)环境和临时文件路径/var/lib/nagios。
(7)已经配置好的模板和旧版本配置文件/etc/nagios3/conf.d
(8)对于apache的配置文件路径/etc/apache2/conf.d/nagios3.conf
 
3、配置
(1)/etc/nagios3/建立htpasswd.users,添加nagios授权用户,比如为nagios。
 
(2)修改cgi.cfg,将所有授权用户信息写入,比如按照刚才要求把nagiosadmin改成nagios;
 
(3)nagios3 -d /etc/nagios3/nagios.cfg启动进程,先测试下网页是否正常启动。
先附上nagios3指令的参数:
Usage: nagios3 [options] <main_config_file>
Options:
  -v, --verify-config          Verify all configuration data
  -s, --test-scheduling        Shows projected/recommended check scheduling and other
                               diagnostic info based on the current configuration files.
  -x, --dont-verify-paths      Don't check for circular object paths - USE WITH CAUTION!
  -p, --precache-objects       Precache object configuration - use with -v or -s options
  -u, --use-precached-objects  Use precached object config file
  -d, --daemon                 Starts Nagios in daemon mode, instead of as a foreground process
 
(4)网页访问,用户名nagios,密码为空,确定可以访问。
 
(5)修改nagios.cfg文件,测试能够通过网页传递指令。
改check_external_commands=0为check_external_commands=1
把command_check_interval的值从默认的1改成command_check_interval=10s
 
(6)遇到老问题,没有权限生成和修改/var/lib/nagios/rw/nagios.cmd的时候,需要修改rw文件夹的权限属性。
dpkg -statoverride  --update  --add nagios www -data  2710  / var /lib /nagios3 /rw
dpkg -statoverride  --update  --add nagios nagios  751  / var /lib /nagios3
这样就可以用网页传递指令了。
 
(7)默认监控的本机信息:
 
(8)当出现没有权限访问.gvfs的时候,就会出现“磁盘空间”检测的报警,查阅很多方法都无效,这里推荐一个治标的方法,因为这种方法重启后系统还会将改目录锁定。
umount .gvfs
rm -rf .gvfs
 
4、外部查看器
如果要看3D视图,需要在客户端安装vrml查看器。
vrml查看器  http://cic.nist.gov/vrml/vbdetect.html页面中有详细的检测和下载推荐,会根据你当前主机浏览器进行配置。
 
如果客户端是windows系统,推荐:
http://www.octaga.com的player,同时具备windows和linux下的支持,也没有openVRML编译那么繁琐。
 
如果客户端是linux系统,推荐:
有install.sh脚本很简单,需要libopenal1 libopenal-dev这两个包,这两个包在新立得里看不到,最好在黑屏下手动apt-get。
 
安装完后,需要调整下mozilla的plugin里插件的一个链接,程序默认链接错误,这里就不详述了。

 
 
5、配置被监控windows
(1)下载安装
看到了现在的变化多大!已经非常智能了。
 
完全不需要你再去手动修改配置文件的很多地方。
 
(2)配置
安装完后服务会自动启动,我们还是稍作修改:
一是改桌面交互。
二是修改NSC.ini
将 [modules]部分的所有模块前面的注释都去掉,除了CheckWMI.dll and RemoteConfiguration.dll这两个 

必须保证[NSClient]的'port'选项并没有被注释,并且它的值是'12489',这是NSClient的默认监听端口
然后重启服务。
看到了新版本的图标也已修改。
 
(3)检查
确认管理的服务内已经启动并且监听12489端口
防火墙一定要开放这个端口!!!
 
6、配置nagios监控
这里配置文件写法同网上各种教程,因为资料非常多,就概要说明下。
 
(1)自己建立objects文件夹,并在里面自行添加services.cfg、hosts.cfg、contacts.cfg等文件,同时在nagios.cfg中配置好路径。
cfg_file=/etc/nagios3/objects/contacts.cfg
cfg_file=/etc/nagios3/objects/hosts.cfg
cfg_file=/etc/nagios3/objects/services.cfg
timeperiods.cfg这个文件不用做,因为最新版本会自动引用/etc/nagios3/conf.d里的文件,否则会产生重复定义的问题。
 
(2)需要注意的是,有些配置书写格式已经修改,比如contacts.cfg文件中的格式。这点可以通过阅读commamds.cfg了解。
比如:
        service_notification_commands   notify-by-email
        host_notification_commands      host-notify-by-email
需要改成
        service_notification_commands   notify-host-by-email
        host_notification_commands      notify-service-by-email
注意,配置文件里不能使用中文,包括服务描述也不行,否则网页在解析的时候,会带上中文乱码的URL路径,出发CGI报警,无法授权访问。
 
(3)杀掉进程并重新开启监控:nagios3 -d /etc/nagios3/nagios.cfg
 
(4)排错:比如监控报错:could not fetch information from server
除了检查NSclient端的password和allow_hosts设置外,如果在nagios端怎么测试都是通的,打开debug检查nsclient日志,如果没有发现任何前来探测的痕迹,说明问题出在nagios端
这时注意一定要检查/etc/nagios-plugins/config下的脚本。
比如nt.cfg,发现其没有默认端口。
command_line    /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -v $ARG1$
一定要自己根据实际情况修改,比如我们前面配置的12489。
command_line    /usr/lib/nagios/plugins/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
这样就能正常访问了。
 
7、小节
新的nagios在和linux结合的过程中,各个linux发行版都对这个系统的配置和路径进行了本土化的修改,但是我们一定要清醒的认识到,只要了解其工作原理和方式,这些表面的修改只是一些小儿科而已。本文简要的点了几处需要注意的地方,权当抛砖引玉,希望在网上还有和我一样用包安装方式的朋友能够少走弯路。



     本文转自 beansprouts 51CTO博客,原文链接:http://blog.51cto.com/netwalk/224429 ,如需转载请自行联系原作者


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34146805/article/details/89998247

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签