nagios配置文件介绍

nagios配置文件介绍Nagios 配置文件简介 1 1 配置文件概述 nagios 安装完成后 配置文件在安装时放在了 usr local nagios etc 目录下 root Nagios Server ls l usr local nagios etc total88 rw rw r1nagiosnagi 09cg

Nagios配置文件简介

1.1配置文件概述

nagios安装完成后,配置文件在安装时放在了/usr/local/nagios/etc/目录下。

[root@Nagios-Server ~]# ls -l /usr/local/nagios/etc/

total 88

-rw-rw-r– 1 nagios nagios 11408 May 29 02:09 cgi.cfg #CGI 配置文件

-rw-r-r– 1 root root 22 May 29 02:13 htpasswd.users #Apache 验证密码文件

-rw-rw-r– 1 nagios nagios 43776 May 29 02:09 nagios.cfg #Nagios 主配置文件

drwxrwxr-x 2 nagios nagios 4096 May 29 02:09 objects #监控对象定义文件目录

-rw-rw—- 1 nagios nagios 1340 May 29 02:09 resource.cfg #Nagios资源配置文件



1.2主配置文件

主配置文件包括了一系列的设置,它们会影响 Nagios 守护进程。不仅是 Nagios 守护进程要使用主配置文件,CGIs 程序组模块也需要,在主配置文件里,我们可以指定主机、主机组、服务、服务组、命令、通知人、通知人组等配置文件的位置。

主配置文件参数众多,在这里只修改小部分,确保 Nagios可以正常运行。

[root@Nagios-Server ~]# vi /usr/local/nagios/etc/nagios.cfg

# You can specify individual object config files as shown below:

cfg_file=/usr/local/nagios/etc/objects/commands.cfg #命令配置文件

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/contactgroups.cfg #联系组定义文件

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg #增加主机配置文件

cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg #增加主机组配置文件

cfg_file=/usr/local/nagios/etc/objects/services.cfg #增加服务配置文件

cfg_file=/usr/local/nagios/etc/objects/servicegroups.cfg #增加服务组配置文件

# Definitions for monitoring the local (Linux) host

#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg #注释掉

1.3 资源配置文件

资源文件可以保存用户自定义的宏。资源文件的一个主要用处是用于保存一些敏感的配置信息如系统口令等不能让 CGIs 程序模块获取到的东西。

1.4对象定义文件

对象定义文件是管理员经常需要修改的配置文件,用于定义主机、服务、主机组、服务组、联系人、联系人组、命令等等,也就是要定义监控的对象和监控的方法。

对象定义文件有两种基本写法,例如监控一台 Linux服务器。

方法一:将该主机写入主机定义文件,将要监控的服务写到服务定义文件中,前提是在 Nagios的主配置文件里需要定义这两个配置文件。

方法二:将该主机的配置写入到一个如【主机名】.cfg 文件里,然后再 Nagios 的主配置文件里定义这个配置文件。

这两种方法的选择要根据实际情况,方法一由于主机数的增加会增加配置文件的管理难度,文件内容多,容易出现配置错误等问题。

方法二由于是每个监控主机一个配置文件,这样虽然清晰明了,但对于想结构化管理的用户不太方便。

1.5 CGI 配置文件

CGI 配置文件包含了一系列的设置,它们会影响 CGIs 程序模块。还有一些保存在主配置文件之中,因此CGI 程序会知道你是如何配置的 Nagios 并且在哪里保存了对象定义。

1.6通过实例介绍配置文件

下面通过监控一台服务器是否存活的实例来介绍相关配置文件的用法。

1.6.1主机定义文件

定义你要监控的对象,这里定义的 host_name 被应用到其它的所有配置文件中,这个是我们配置 Nagios 必须修改的配置文件。

[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/hosts.cfg

define host

Unknown macro: { 
              host_name Nagios-Server #设置主机的名字,该名字会出现在hostgroups.cfg和 services.cfg中。
              alias Nagios Server #别名 
              address 192.168.140.128 #主机的 IP 地址 
              check_command check-host-alive #检查的命令 
              check_interval 5 #检测的时间间隔 
              retry_interval 1 #检测失败后重试的时间间隔 
              max_check_attempts 5 #最大重试次数 
              check_period 24×7 #检测的时段 
              process_perf_data 0 retain_nonstatus_information 0 contact_groups sagroup #联系组 
              notification_interval 30 #通知的时间间隔 notification_period 24×7 #通知的时间段 
              notification_options d,u,r #通知的选项 #w—报警(warning),u—未知(unkown) #c—严重(critical),r—从异常情况恢复正常
              }


define host

Unknown macro: { 
              host_name Nagios-Client #设置主机的名字,该名字会出现在hostgroups.cfg和 services.cfg中。 
              alias Nagios Client #别名 
              address 192.168.140.129 #主机的 IP 地址 
              check_command check-host-alive #检查的命令 
              check_interval 5 #检测的时间间隔 
              retry_interval 1 #检测失败后重试的时间间隔 
              max_check_attempts 5 #最大重试次数 
              check_period 24×7 #检测的时段 process_perf_data 0 retain_nonstatus_information 0 
              contact_groups sagroup #联系组 notification_interval 30 #通知的时间间隔 
              notification_period 24×7 #通知的时间段 
              notification_options d,u,r #通知的选项 #w—报警(warning),u—未知(unkown) #c—严重(critical),r—从异常情况恢复正常
              }

1.6.2主机组定义文件

将刚才定义的两个主机加入到主机组中,针对生产环境就像把所有的 MySQL 服务器加到一MySQL 主机组里,方便管理和查看。

[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/hostgroups.cfg

define hostgroup

Unknown macro: { 
              hostgroup_name Nagios-Example #主机组名字 
              alias Nagios Example #主机组别名 
              members Nagios-Server,Nagios-Client 
              #主机组成员,用逗号隔开 
              }

1.6.3服务定义文件

服务定义文件定义你需要监控的对象的服务,比如本例子为检测主机是否存活,在后面会讲到如何监控其它服务,比如服务器负载、内存、磁盘等。

define service

Unknown macro: { 
              host_name Nagios-Server #主机名 
              service_description check-host-alive #服务描述 
              check_period 24×7 #检测的时间段 
              max_check_attempts 4 
              normal_check_interval 3 
              retry_check_interval 2 
              contact_groups sagroup 
              notification_interval 10 
              notification_period 24×7 
              notification_options w,u,c,r 
              check_command check-host-alive 
              }

define service

Unknown macro: { 
              host_name Nagios-Client 
              service_description check-host-alive 
              check_period 24×7 
              max_check_attempts 4 
              normal_check_interval 3 
              retry_check_interval 2 
              contact_groups sagroup 
              notification_interval 10 
              notification_period 24×7 
              notification_options w,u,c,r 
              check_command check-host-alive }

1.6.4服务组定义文件

[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/servicegroup.cfg

define servicegroup

Unknown macro: { 
              servicegroup_name Host-Alive 
              alias Host Alive 
              members Nagios-Server,check-host-alive,Nagios-Client,check-host-alive
              }

1.6.5联系人定义文件

[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/contacts.cfg

define contact

Unknown macro: { 
              contact_name nagiosadmin 
              use generic-contact 
              alias System Administrator 
              email nagios@localhost
              }

1.6.6联系人组定义文件

[root@Nagios-Server ~]# vi /usr/local/nagios/etc/objects/contactgroups.cfg

define contactgroup

Unknown macro: { 
              contactgroup_name sagroup 
              alias Nagios Administrators 
              members nagiosadmin 
              }

1.6.7启动Nagios

1> 修改配置文件所有者

[root@Nagios-Server ~]# chown -R nagios:nagios /usr/local/nagios/etc/objects/

2> 检测配置是否正确

[root@Nagios-Server ~]#

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

3> 启动 Nagios

[root@Nagios-Server ~]# /etc/init.d/httpd restart

1.6.8登陆验证配置






版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205998.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午4:42
下一篇 2026年3月19日 下午4:43


相关推荐

  • 计算机网络-常见洪水攻击「建议收藏」

    计算机网络-常见洪水攻击「建议收藏」什么是洪水攻击洪水攻击(FLOODATTACK)是指利用计算机网络技术向目标主机发送大量无用的数据报文,使得目标主机忙于处理无用的数据报文而无法提供正常服务的网络行为。主要原理:利用了网络协议中安

    2022年8月6日
    10
  • CentOS下安装Git

    CentOS下安装GitCentOS 下安装 Gitbr Git nbsp 是一个版本控制软件 可按如下步骤进行源码安装 br 1 安装依赖项 br nbsp yuminstallge develexpat develcurl develzlib developenssl develbr 2 获取 Git 的源码 br cd usr local srcbr wgethttp kernel org pub software scm git git 1 7 1 tar gzbr

    2025年9月12日
    6
  • android listview单击事件

    android listview单击事件今天我们来学习下listview单击事件,这在开发中是经常用的组件之一。1.新建一个项目,名为ListViewDemo。2.布置布局文件main.xmlandroid:orientation=”vertical”android:layout_width=”fill_parent”android:layout_height=”fill_parent”>

    2022年7月22日
    12
  • hashmap面试题简书_三年php面试题

    hashmap面试题简书_三年php面试题这篇文章仅限小编个人的理解,小编不是Java方向的,只是对Java有很高的学习兴趣如果有什么不对的地方还望大佬指点HashMap的底层是数组+链表,(很多人应该都知道了)JDK1.7的是数组+链表(1.7只是一个例子,以前的话也是这样后面就以1.7为例子了)首先是一个数组,然后数组的类型是链表元素是头插法JDK1.8的是数组+链表或者数组+红黑树首先是一个数组,然后数组的类型是链表在链表的元素大于8的时候,会变成红黑树在红黑树的元素小于6的时候会变成链表元素进行尾插HaspM.

    2022年8月10日
    9
  • ECIF与CRM

    ECIF与CRMhttp blog csdn net li2008xue200 article details 百度百科 ECIF EnterpriseCu 企业客户信息工厂 是指对企业的客户信息进行整合 形成集中 全面的客户信息 通常 企业的信息系统都是分别建成的 尤其是在初期 企业没有一个很好的发展规划 只根据应

    2026年3月16日
    2
  • 大厂首发!java中public是什么意思[通俗易懂]

    大厂首发!java中public是什么意思[通俗易懂]一、前言Redis提供了5种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要。备注:按照分析顺序,本节应该说道有序集合对象了,但是考虑到有序集合对象的底层实现中使用到了跳跃表结构,避免在分析有序集合时造成突兀,所以本节先来看看redis中跳跃表结构的具体实现。Maven权威指南首先,本书适合所有Java程序员阅读。由于自动化构建、依赖管理等问题并不只存在于Java世界,因

    2022年7月7日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号