Nagios监控基础安装与监控项部署(下)

上文总结了nagios监控的基础安装配置,现在来总结一下Nagios监控项部署

一、Nagios服务端监控部署

1、Nagios服务端目录与相关配置文件说明

Nagios 安装完成后,/usr/local/nagios/目录下会生成 nagios 相关目录及配置文件,默认的的配置文件在/usr/local/nagios/etc 目录下。详细的描述如下:

a)nagios安装后的目录结构

[[email protected] ~]# ll /usr/local/nagios/              # Nagios 安装后的目录结构
total 32
drwxrwxr-x.  2 nagios nagios 4096 Jun  6 15:53 bin      # Nagios 相关命令
drwxrwxr-x.  3 nagios nagios 4096 Jun  6 15:53 etc      # Nagios 配置文件
drwxr-xr-x.  2 root   root   4096 Jun  6 15:52 include  # Nagios 引用文件
drwxrwxr-x.  2 nagios nagios 4096 Jun  6 15:53 libexec     # Nagios 插件目录
drwxrwxr-x.  2 nagios nagios 4096 Jun  6 15:40 sbin      # Nagios 外部命令
drwxrwxr-x. 11 nagios nagios 4096 Jun  6 15:52 share      # Nagios Web 页面展示相关目录
drwxrwxr-x.  5 nagios nagios 4096 Jun  6 18:41 var      # Nagios 数据及日志目录

所有客户端本地的监控都是通过执行libexec目录下的插件来实现的,另外,如果开启了snmp,nagios服务端也可以主动抓取

b)nagios核心配置文件说明

Nagios主配置文件为nagios.cfg,默认在/usr/local/nagios/etc/下,另外,在/usr/local/nagios/etc/下有个objects目录(类似nginx中的extra目录),里面存放的是主配置文件nagios.cfg包含的其他nagios配置文件:如下:

[[email protected] ~]# tree /usr/local/nagios/etc/    # Nagios 配置文件目录
/usr/local/nagios/etc/
|-- cgi.cfg|-- htpasswd.users # 登录 Nagios Web 页面时的用户名密码认证
|-- nagios.cfg         ##主配置文件
|-- nrpe.cfg          # 客户端配置文件
|-- objects          # 主配置文件包含的配置文件目录,用于定义nagios对象
|   |-- commands.cfg    # 存放 Nagios 自己定义的命令(与linux里的插件命令关联)
|   |-- contacts.cfg    # 用于配置报警联系人
|   |-- hosts.cfg      # 用于配置被监控的主机
|   |-- localhost.cfg    # 用于定义对本机的监控条目
|   |-- printer.cfg     # 用于定义对打印机的监控条目
|   |-- services.cfg    # 用于配置被监控的服务
|   |-- switch.cfg     # 用于定义对交换机的监控条目
|   |-- templates.cfg    # 模板配置文件
|   |-- timeperiods.cfg   # 用于配置报警周期时间
|   `-- windows.cfg     # 用于定义对 Windows 的监控条目
`-- resource.cfg

主配置nagios.cfg中可以指定单独包含一个cfg文件,也可以指定包含一个目录,而这个被包含目录下所有的cfg文件也都会被nagios.cfg包含:

2、主配置文件nagios.cfg配置过程

[[email protected] ~]# cd /usr/local/nagios/etc/

[[email protected] etc]# ls

cgi.cfg  htpasswd.users  nagios.cfg  nrpe.cfg  objects  resource.cfg

a)增加主机和服务的配置文件

[[email protected] etc]# vim nagios.cfg +34
#20170605
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
cfg_dir=/usr/local/nagios/etc/objects/services

#---cfg_dir是为备用增加的一个service目录,作用:在目录下的文件只要符合*.cfg就可以被nagios加载。使用脚本批量部署时,可以非常方便的随机命名配置文件。

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

#---localhost.cfg为服务端本地配置文件,注释掉,然后进行统一监控

b)根据已有数据生成hosts.cfg主机文件

[[email protected] etc]# cd /usr/local/nagios/etc/objects/
[[email protected] objects]# head -51 localhost.cfg > hosts.cfg
[[email protected] objects]# chown nagios.nagios /usr/local/nagios/etc/objects/hosts.cfg

c)生成services.cfg服务文件

[[email protected] objects]# touch services.cfg    #---预留
[[email protected] objects]# chown nagios.nagios services.cfg

d)生成服务的配置文件目录,此目录下所有的*.cfg配置文件,都会被自动被包含到主配置文件中生效!

[[email protected] objects]# mkdir services 
[[email protected] objects]# chown nagios.nagios services

3、配置nagios服务端监控项

1)hosts.cfg配置文件说明



#---hosts.cfg是用来存放nagios要监控的主机的相关配置

#---hosts.cfg主机定义部分的参数说明:

define host{                           #此为定义被监控主机的配置文件 

 use                linux-server      #引用类,定义主机使用的模板,在templates.cfg中预定义 

 host_name          web01          #指定主机名,并不是实际机器的主机名,自己定义,方便以后在定义服务时调用 

alias               web01           #别名 

address             10.0.0.8           #指定被监控主机的地址 

check_command       check-host-alive   #检查主机存活命令,来自commands.cfg

max_check_attempts      3              #故障后,最大尝试检测次数

normal_check_interval   2              #正常检查时间间隔,单位分钟

retry_check_interval    2              #故障后,重试的检查间隔,单位分钟

check_period            24x7           #检查周期,参见timeperiods.cfg

notification_interval   300            #故障后两次报警的时间间隔,单位分钟

notification_period     24x7           #一天内通知的周期。一天或半天,参见timeperiods.cfg

notification_options    d,u,r          #主机状态通知选项,down,unreacheable,recovery

contact_groups          admins         #报警到admins    用户组。在contacts.cfg中定义

}        



2)配置hosts.cfg,添加你想要监控的客户端主机及主机组(HOST GROUP)。

以客户端web01、web02主机为例:

[[email protected] ~]# cd /usr/local/nagios/etc/objects    #---nagios.cfg包含的辅助配置文件目录
[[email protected] objects]# cat hosts.cfg
#client_host
# Define a host for the local machine
define host{
    use             linux-server
    host_name       web01
    alias           web01
    address         10.0.0.8
}
define host{
    use             linux-server
    host_name       web02
    alias           web02
    address         10.0.0.7
}
define host{
    use             linux-server
    host_name       nagios01
    alias           nagios01
    address         10.0.0.71
}
# Define an optional hostgroup for Linux machines
define hostgroup{
    hostgroup_name  linux-servers
    alias           Linux Servers
    members         web01,web02,nagios01
}


3)配置services.cfg,定义要监控的主机资源

services.cfg文件是配置监控服务的,是nagios核心的配置文件之一,(服务器在50台以内时)自己想要监控的多半服务配置都能添加在这里

注:该文件需要手动添加

services.cfg配置参数:

define service {

use                 generic-service

host_name           web01

service_description Current Load

check_command       check_nrpe!check_load

max_check_attempts      2

normal_check_interval   4

retry_check_interval    4

check_period            24x7

retry_interval          1

notification_interval   1440

notification_period     24x7

notification_options    w,c,u,r

contact_groups          admins

process_perf_data       1

#retain_nonstatus_information 0

}

*对监控客户端本地资源的配置:

[[email protected] objects]# cat services.cfg
##################################
#           被动监控             #
##################################
#磁盘分区
define service {
    use                 generic-service
    host_name           web01,web02,nagios01
    service_description Disk Partition
    check_command       check_nrpe!check_disk
}
#swap
define service {
    use                 generic-service
    host_name           web01,web02,nagios01
    service_description Swap Useage
    check_command       check_nrpe!check_swap
}
#内存
define service {
    use                 generic-service
    host_name           web01,web02,nagios01
    service_description Mem Useage
    check_command       check_nrpe!check_mem
}
#以上监控项,可以通过templates.cfg简写成如下配置:
#系统负载
define service {
    use                 generic-service
    host_name           web01,web02,nagios01
    service_description Current Load
    check_command       check_nrpe!check_load
}
#磁盘I/O
define service {
    use                 generic-service
    host_name           web01,web02,nagios01
    service_description Disk I/O stat
    check_command       check_nrpe!check_iostat!5!11
}
##################
#    主动监控    #
##################
#PING监控
define service {
    use                 generic-service
    host_name           web01,web02,nagios01
    service_description PING
    check_command       check_ping!100.2,20%!500.0,60%
}


4)调试hosts.cfg和service.cfg的所有配置

[[email protected] etc]# /etc/init.d/nagios checkconfig    #---检查语法
Running configuration check... OK.

二、小结

在nagios监控项部署过程中,有很多问题出现,本人也正在对nagios进行仔细研究。关于nagios及zabbix的博文会持续更新

时间: 2024-10-08 00:33:27

Nagios监控基础安装与监控项部署(下)的相关文章

Nagios监控基础安装与监控项部署(上)

前言:NAGIOS介绍: Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. 主要功能 (1)网络服务监控(SMTP.POP3.HTTP.NNTP.ICMP.SNMP.FTP.SSH) (2)主机资源监控(CPU load.diskusage.system logs),也包括Windows主机(使用NSC

安装流量监控系统-NTOP:中文版

Linux/Centos安装ntop中文版 一:安装环境 yum install libpcap libpcap-devel libpng gdbm gdbm-devel glib libxml2-devel pango pango-devel gd dos2unix  libtool-ltdl libtool-ltdl-devel gcc libtool rrdtool-devel 检测下: yum install -y libpcap* freetype* libpng* gdbm* lib

nagios服务端安装

系统环境:操作系统:CentOS-5.7 x86_64Apache版本: Apache-2.2.22Nagios版本: nagios-3.3.1GD库: gd-2.0.33 2.安装前准备:2.1.安装GD库 1 ; html-script: false ]yum install -y gd.x86_64 gd-devel.x86_64 2.2.安装Apachehttp://www.ttlsa.com/html/654.html2.3.下载Nagios,Nagios-plugins,nrpe官方

运维监控利器Nagios之:安装nagios

一.安装前准备 (1)创建nagios用户和用户组 [[email protected] ~]#useradd -s /sbin/nologin nagios [[email protected] ~]#mkdir /usr/local/nagios [[email protected] ~]#chown –R  nagios.nagios /usr/local/nagios (2)开启系统sendmail服务 在nagios监控服务器上开启sendmail服务的主要作用是让nagios在检测到

Zabbix分布式监控平台安装部署

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位.解决存在的各种问题. Zabbix监控平台部署 安装zabbix之前需要LAMP架构,为了快速上手,我们这里采用yum安装LAMP,如果你想尝试,也可以使用源码版LAMP,效果是一样,都是为了解析zabbix php代码.执行如下命令安装LAMP环境: yum install httpd httpd-d

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警

zabbix源码安装,自定义监控205的用户数,有触发器但没有邮件报警 监控端配置:(192.168.4.5) 1基础环境:(实验环境可以关闭防火墙,但生产环境不能关闭,否则不安全,要设置相应规则) [[email protected]桌面]# /etc/init.d/iptables stop [[email protected]桌面]# setenforce 0 2搭建lamp平台,(它运行在lamp平台上) [[email protected]桌面]# yum -y install htt

运维监控基础

一.运维监控基础1.报告网路/系统/业务运行状况2.提前发现被监控设备的问题 二.监控的资源类别硬件监控:CPU.内存.磁盘I/O系统监控:存活状态.进程数.用户数.磁盘使用率网络监控:故障点监测.出站流量.入站流量应用监控:Web/FTP等服务.TCP/UDP端口检测 三.监控服务平台Cacti---------基于SNMP协议的监控软件,强大的绘图能力Nagios-------基于Agent监控,强大的报警机制.插件扩展Zzbbix-------基于Agent+SNMP多种监控手段,模板丰富

zabbix的安装以及监控

做运维前前后后也有2年多了,时间不长不短.有些牛逼的可能已经学到很多,收入颇丰.但是自己的成长却很慢.年龄也越来越大.自己有时候想学点东西,但是上班的时候没有时间也没有氛围学习,下班后的时间很少,就不想学习.想学习的时候却感觉自己不懂的东西太多,什么都想学习,却往往都是半途而废,今天思考了一下,还是一件件的慢慢来吧. 正好目前公司的测试服务器的zabbix服务器需要重新安装并监控.感觉这是 一个系统学习的好机会,以前对于监控,会的可能就是简单的安装.添加主机.添加监控项.添加默认的魔板,像邮件微

ZABBIX企业监控实践(1):ZABBIX详细部署过程

前言: 从2014年15日,那时我刚刚开始接触ZABBIX,到现在刚好整整一年时间,这一年里,谈不上对ZABBIX进行深入研究,接触过两个ZABBIX的项目,平时或多或少的对这两个项目进行修修补补.直到最近的两个月内,公司决定采用ZABBIX进行二次开发成自己的产品(之前一直在SCOM与ZABBIX之间纠结),所以有了充足的时间对ZABBIX进行系统学习,逐步对ZABBIX有了更深入的了解,也积累了一些学习笔记. 最近打算整理一下笔记,对这年来关于ZABBIX的知识做一些梳理,并将尽量围绕项目要