nagios的配置和监控

合集下载

Linux上的系统监控工具比较NagiosvsZabbix

Linux上的系统监控工具比较NagiosvsZabbix

Linux上的系统监控工具比较NagiosvsZabbix在Linux系统中,系统监控工具起着至关重要的作用,帮助管理员实时监测系统状态和性能指标。

Nagios和Zabbix是两款流行的系统监控工具,它们在功能和使用上有所差异。

本文将对Nagios和Zabbix进行比较,以帮助读者选择适合自己需求的系统监控工具。

一、NagiosNagios是一款开源的系统监控工具,通过监测主机、服务和网络设备等方面来保证系统的可用性。

它具有以下特点:1. 灵活性:Nagios可以监控各种类型的主机、服务和设备,例如服务器、路由器、数据库等。

用户可以根据自己的需求,通过自定义插件来监测不同的指标。

2. 强大的告警功能:Nagios可以设置各种告警规则和通知方式,当系统出现故障或达到预定的阈值时,及时发送告警信息给管理员。

3. 可扩展性:Nagios拥有丰富的第三方插件和扩展,可以方便地与其他系统集成,满足复杂的监控需求。

4. 灵活的配置:Nagios使用文本配置文件进行管理,管理员可以根据需要编辑配置文件,实现对监控对象和监控指标的灵活配置。

二、ZabbixZabbix也是一款开源的系统监控工具,具有以下特点:1. 自动发现功能:Zabbix可以自动发现并监控网络设备、服务器和服务。

这个功能可以大大减轻管理员配置监控对象的工作量。

2. 实时监控和图形化展示:Zabbix提供实时数据监控和图形化展示功能,可以直观地查看系统的各项性能指标和状态。

3. 强大的报表功能:Zabbix可以生成各种类型的报表,帮助管理员分析历史数据、趋势和性能统计等。

4. 可视化配置:Zabbix提供直观的Web界面进行配置和管理,管理员可以通过图形化界面完成监控对象和监控指标的配置。

三、Nagios vs ZabbixNagios和Zabbix在功能和使用上都有各自的优势,下面对它们进行比较:1. 配置和管理:Nagios使用文本配置文件进行管理,需要具备一定的技术能力和配置经验。

nagios监控mysql详细配置

nagios监控mysql详细配置

Nagios监控mysql工作原理利用特定的用户定期访问指定的mysql数据库。

当不能访问或连不通时则报警。

配置过程如下1、在生产库上安装nagios插件,以nagios-plugins-1.4.15为例来讲述整个配置过程进入nagios-plugins-1.4.15 目录./configure 编译然后是编译完显示一定要有mysql支持,不然没有check_mysql这个插件config.status: creating po/Makefile--with-apt-get-command:--with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s--with-ping-command: /bin/ping -n -U -w %d -c %d %s--with-ipv6: yes--with-mysql: /usr/bin/mysql_config--with-openssl: yes--with-gnutls: no--enable-extra-opts: no--with-perl: /usr/bin/perl--enable-perl-modules: no--with-cgiurl: /nagios/cgi-bin--with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin--enable-libtap: noMake all&&make install插件安装完毕再安装nrpe 安装过程略同时是编译安装三步曲:./configure make make install2、配置mysqlmysql> create database nagios; //建立nagios专用数据Query OK, 1 row affected (0.00 sec)mysql> grant select on nagios.* to nagios@'%' identified by '######'; //建立nagios专用用户权限只给select就OK,给多了不安全。

nagios监控端安装配置手册

nagios监控端安装配置手册

一、系统环境与软件版本情况本文档使用被监控机的操作系统为rhel6.3 _64位。

监控主机操作系统为rhel6.0 _64位及windows 2003,nagios主服务版本Nagios® Core™ 3.2.3,linu被监控机与主监控通信插件NRPE版本为nrpe-2.8.1。

window被监控机与主监控服务软件为NSClient++-0.2.7所使用的软件如下nrpe-2.8.1.tar.gzNSClient++-0.2.7.zip二、安装配置过程。

因为系统安装大家都非常熟悉了此次略过操作系统安装过程,首先是linux环境下被监控机的安装配置过程。

在安装之前先写个nagios监控非本地信息的原理图主监控机被监控机NRPE总共由两部分组成:–check_nrpe 插件,位于在监控主机上–NRPE daemon,运行在远程的linux主机上(通常就是被监控机)按照上图,整个的监控过程如下:当nagios需要监控某个远程linux主机的服务或者资源情况时1.nagios会运行check_nrpe这个插件,告诉它要检查什么.2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL3.NRPE daemon会运行相应的nagios插件来执行检查4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.注意:NRPE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控.因为使用rehl线上的yum源安装需要授权,所以先使用iso搭个本地的yum源。

mount /dev/cdrom /mnt/cdrom/ 挂载光驱mkdir /home/rehliso 创建yum源目录。

cp -Rf /mnt/cdrom/* /home/rehliso/ 拷贝安装文件到源目录cd /etc/yum.repos.d/ 切换至yum配置文件目录cp rhel-source.repo rhel-source.repo.bak 备份配置文件vi rhel-source.repo 编辑配置文件,删除之前内容加入[rhel_6_iso]name=local isobaseurl=file:///home/rehlisogpgcheck=1gpgkey=file:///home/rehliso/RPM-GPG-KEY-redhat-release保存退出Yum clean all清除YUM缓存因为是用二进制安装包进行安装所以要先安装gcc编译器yum -y install gcc 安装gcc编译器安装完成后用sftp上传安装文件nrpe-2.8.1.tar.gz, nagios-plugins-1.4.13.tar.gz至/usr/local/src/目录下创建nagios用户Userad nagiosPasswd nagiosCd /usr/local/src 切换至/usr/local/src/目录解压安装包tar zxvf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13编译安装./configuremakemake install这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share修改目录权限把权限所属chown nagios.nagios /usr/local/nagios/chown -R nagios.nagios /usr/local/nagios/libexec/至此被监控机nagios插件已经安装完成,接下来就是安装nrpe服务了切换至软件包目录Cd /usr/local/src解压安装文件tar zxvf nrpe-2.8.1.tar.gzcd nrpe-2.8.1编译安装./configurechecking for SSL... configure: error: Cannot find ssl libraries 出现了该错误主要是因为监控主机插件check_nrpe与被监控nrpe服务的通信是通过ssl方式连接的所以必须安装sslyum -y install openssl-devel 所以这个可以在gcc安装时顺便也安装了ssl安装完成后重新./configure*** Configuration summary for nrpe 2.8.1 05-10-2007 ***:General Options:-------------------------NRPE port: 5666NRPE user: nagiosNRPE group: nagiosNagios user: nagiosNagios group: nagiosReview the options above for accuracy. If they look okay,type 'make all' to compile the NRPE daemon and client.成功后会出现以上安装的基本信息接下来编译安装make allmake install-daemonmake install-daemon-configmake install-plugin 安装check_nrpe这个插件之前说过监控机需要安装check_nrpe这个插件,被监控机并不需要,我们在这里安装它是为了测试的目的安装xinetd脚本make install-xinetd这里还要补充一下因为官网的安装文档是将NRPE deamon作为xinetd下的一个服务运行的.在这样的情况下xinetd就必须要先安装好,所以还得确定系统是否已经安装了xinetd的服务[root@localhost nrpe-2.8.1]# service xinetd restartxinetd: unrecognized service服务并未安装yum -y install xinetd 安装xinetd服务安装完成后修改配置文件vi /etc/xinetd.d/nrpeservice nrpe{flags = REUSEsocket_type = streamport = 5666 端口wait = nouser = nagios 用户group = nagios 用户组server = /usr/local/nagios/bin/nrpeserver_args = -c /usr/local/nagios/etc/nrpe.cfg --inetdlog_on_failure += USERIDdisable = noonly_from = 127.0.0.1,192.168.1.243}only_from = 127.0.0.1,192.168.1.243在后面增加监控主机的地址192.168.1.243以空格间隔编辑/etc/services文件,增加NRPE服务端口添加如下信息nrpe 5666/tcp #nrpe查看防火墙是否启动chkconfig iptables –list如果启动需要添加5666端口的开放规则vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 5666 -j ACCEPT添加该条目service iptables restart 重启iptables服务重启xinetd服务service xinetd restart检查服务端口状态[root@localhost ~]# netstat -natp |grep 5666tcp 0 0 :::5666 :::* LISTEN 1959/xinetd 服务端口已经启动测试NRPE是否则正常工作之前我们在安装了check_nrpe这个插件用于测试,现在就是用的时候.执行[root@localhost ~]# /usr/local/nagios/libexec/check_nrpe -H localhostNRPE v2.8.1返回了版本信息说明nrpe已经正常的工作了。

软件系统运维技术使用中的监控工具推荐

软件系统运维技术使用中的监控工具推荐

软件系统运维技术使用中的监控工具推荐在软件系统运维的过程中,使用监控工具是必不可少的。

监控工具可以帮助我们实时监测系统的运行状态,发现潜在的问题并及时处理,提高系统的稳定性和性能。

在选择监控工具时,我们需要考虑到其功能全面性、易用性和性价比等因素。

下面是几款被广泛使用且备受好评的监控工具推荐。

1. NagiosNagios是一款开源的网络监控工具,它被广泛应用于监控网络设备、服务器、应用程序等。

Nagios拥有强大的可扩展性,可以通过插件的方式集成各种监控功能。

同时,Nagios提供了直观的用户界面和灵活的配置选项,便于管理和定制化。

另外,Nagios提供了强大的报警功能,可以通过电子邮件、短信等方式及时通知系统管理员。

2. ZabbixZabbix是一款功能强大的网络监控工具,它可以监控各种网络设备、服务器和应用程序。

Zabbix支持多种监控方式,包括SNMP、IPMI、JMX等,并提供了易用的Web界面,方便用户进行配置和管理。

同时,Zabbix还提供了强大的图像展示功能,能够生成各种类型的图表和报表,帮助用户进行系统性能分析和优化。

3. PrometheusPrometheus是一款开源的监控和告警工具,它被广泛应用于云原生环境。

Prometheus以高度可扩展的方式监控各种服务和资源,并提供了灵活的查询语言和图表展示功能。

Prometheus还支持多种告警方式,包括电子邮件、PagerDuty、Slack等,可以及时通知系统管理员。

另外,Prometheus还提供了轻量级的客户端,对系统资源的消耗较低。

4. GrafanaGrafana是一款开源的数据可视化工具,它可以与各种监控工具集成,包括Nagios、Zabbix和Prometheus等。

Grafana提供了直观的用户界面和丰富的图表展示功能,方便用户进行数据分析和监控报表的生成。

同时,Grafana还支持自定义仪表盘和插件,用户可以根据自身需求进行定制。

Nagios安装与配置详解

Nagios安装与配置详解

Nagios学习笔记之(一)最初搭建2012-07-17 13:05:08标签:linux监控nagios cacti声明:原创作品,如需,请与作者联系。

否则将追究法律责任。

Nagios学习笔记之一最初搭建一、简介:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。

在系统或服务状态异常时发出或短信报警第一时间通知运维人员,在状态恢复后发出正常的或短信通知。

二、搭建过程:OS:CentOS 5.5 x86_64(最小化即可)Nagios主程序:nagios-cn-3.4.1Nagios插件:nagios-plugins-1.4.15.tar.gz2.1安装前:2.1.1安装依赖包,下载源程序包1.#cd/etc/yum.repos.d/2.#rm-fr./*3.#wget wget mirrors.163./.help/CentOS-Base-163.repo4.#yum makecache#删除系统自带的yum源,下载网易的网络源并更新缓存1.#yum-y install gcc glibc glibc-common gd gd-devel httpd#安装必须的依赖包1.#wget /sourceforge/nagios/nagios-3.4.1.tar.gz2.#wget /sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz#下载nagios主程序以及插件程序2.1.2正式安装:1.#groupadd nagcmd2.#useradd-G nagcmd nagios3.#usermod-G nagcmd apache#创建一个用户组名为nagcmd用于从Web接口执行外部命令。

将nagios用户和apache用户都加到这个组中。

1.#tar zxf nagios-3.4.1.tar.gz2.#cd nagios3.#./configure--prefix=/usr/local/nagios --with-command-group=nagcmd4.#解压程序包,并进行预编译前的配置(默认用户就是nagios,所以只需指定组)5.#make all#编译Nagios程序包源码6.#make install#安装二进制运行程序7.#make install-init#初始化脚本8.#make install-config#配置文件样本9.#make install-commandmode#设置运行目录权限10.#make install-webconf#安装Nagios的WEB配置文件到Apache的conf.d目录下#htpasswd -c /usr/local/nagios/etc/ers nagiosadmin#创建一个nagiosadmin的用户用于登录Nagios的web界面。

nagios安装配置笔记

nagios安装配置笔记
各个版本基本都可以使用。
# tar zxvf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins
# ./configure --prefix=/usr/local/nagios nagios-plugins是安装到nagios的主目录下的
# make
make install 安装主要的程序、CGI、HTML文件等等。
make install-commandmode 赋予外部命令访问nagios配置文件的权限
make install-config 将nagios的配置文件的例子复制到nagios的安装目录下
make install-init 将nagios做成一个运行脚本,放入init.d中,使nagios可以随系统的开机而启动
分析nagios的配置文件
# vi /usr/local/nagios/etc/localhost.cfg
把下面的几行注释去掉
cfg_file=/usr/local/nagios/etc/objects/contactgroups.cfg //联系组配置文件路径
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg //联系人配置文件路径
PS: 好吧, 弄了一整天终于把nagios全部配置完成了,先应用到内部的服务器,观察一段时间。
决定记录下过程和心得。顺便说一句
这东西确实麻烦,配置好了都不大能看得懂web界面信息,相当痛苦,慢慢来吧。
【nagios概述】
Nagios是一个非常强大且柔性化的软件,但可能需要不少心血来学习如何配置使之
# SSLRequireSSL

Nagios监控Linux主机(NRPE安装与应用)

Nagios监控Linux主机(NRPE安装与应用)

Nagios监控Linux主机(NRPE安装与应用)一、NRPE简介及工作原理NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。

例如,cpu负载、内存使用、硬盘使用等等。

NRPE可以称为nagios 的for linux 客户端。

NRPE 由两个部分组成:工作在监控机一侧的check_nrpe 插件、工作在被监控机一侧的NRPE 守护进程。

Nagios 服务器执行check_nrpe 插件并告诉他检查哪个服务,check_nrpe 插件通过SSL 连接方式联系远程服务器上的NRPE 守护进程,NRPE 守护进程执行相应的插件完成指定的检查,并返回结果。

工作原理是:插件nrpe在被监控机上开启一个daemon,通过这个daemon来和监控主机建立一条ssl加密通道,通过这条通道来传送被监控机的本地信息,达到监控的目的。

装在被监控机上的daemon就相当于一个nagios的传递员,命令行从nagios监控主机发出,然后daemon接受到信息,就会执行这条命令行,执行的方式,其实是和nagios主机是一样的,所以被监控机上也需要装一套nagios-plugins插件。

例如:nagios主机需要监控被监控机的硬盘信息,就会对被监控机发出一条命令说:“我要看你的硬盘信息。

”被监控机nrpe的daemon接到这个命令之后,就会运行一个插件,来检查被监控机本地硬盘的信息,然后插件把信息反馈到nrpe,nrpe通过ssl通道再把这些信息反馈到nagios主机。

如下图所示二、NRPE安装1、所需安装包nrpe、nagios-plugins,这两个包都可以从上得到,本例为nrpe-2.12.tar.gz2、安装openssl、openssl-devel;yum install -y opensslyum install -y openssl-devel3、安装nrpe和nagios-plugins插件1)安装nagios-plugins,在安装时首先在被监控机上新建nagios用户及组。

监控系统配置使用(Nagios)

监控系统配置使用(Nagios)
税友
监控系统配置使用—Nagios
讲师:吴云鹏
税友软件集团股份有限公司
课程目标
nagios体系结构认识 • 帮助运维人员对nagios体系结构有更清晰的认识
如何配置监控项 • 帮助运维人员更有效的使用和配置nagios的监控项
理解监控项含义 • 帮助运维人员更好理解现有监控项的含义
2
课程大纲
3
系统介绍 原理、结构 部署、配置 监控项简介
问题交流
Nagios介绍
Nagios介绍: Nagios是一款用于系统和网络监控的应用程序,可在设定的条件下对主机和服务
进行监控,在状态变差和变好的时候给出告警信息。 Nagios 的特征包括: 1) 监控网络服务(SMTP、POP3、HTTP、NNTP、PING 等); 2) 监控主机资源(处理器负荷、磁盘利用率等); 3) 简单地插件设计使得用户可以方便地扩展服务的检测方法; 4) 当服务或主机问题产生与解决时将告警发送给联系人(Email)、页面声音报警 Centreon介绍: centreon作为nagios的分布式监控管理平台,它的底层使用nagios监控软件,通过 centreon页面可以简单方便地管理和配置nagios;
个性类监 控
监控项
Weblogic 类监控
Oracle类 监控
15
监控插件
插件作用
• 什么是插件?插件和命令的关系?
插件存放位置
• 存放在监控机位置?存放在被监控机位置?
现有插件
• 现有哪些插件?获取插件网站
16
回顾
通用监控
主机监控项 Weblogic监控项
Oracle监控项
17
个性监控
Godengate监控项 业务监控项 接口监控项

nagios的使用

nagios的使用

Nagios监控的使用一、Nagios简介Nagios是一个监视系统运行状态和网络信息的监视系统。

Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

Nagios的主要功能特点:监视网络服务(SMTP,POP3,HTTP,NNTP,PING等)监视主机资源(进程,磁盘等)简单的插件设计可以轻松扩展Nagios的监视功能服务等监视的并发处理错误通知功能(通过email,pager,或其他用户自定义方法)可指定自定义的事件处理控制器可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等二、工作原理Nagios自身是不带任何功能的,Nagios监测服务只能是本地系统监测以及对远程主机的连通性监测。

为了使Nagios的监测服务器能够远程对被监测主机系统上的信息进行获取,比如远程系统上的进程数、磁盘空间使用状况、所运行的服务等等这些必须要登录远程主机系统上才能了解的信息的话,就必须要依靠NRPE或nsclient这个核心扩展插件程序,NRPE 作为中间的代理程序,扮演着一手接受着Nagios监测服务器发来的请求,另一手在远程主机系统上获取指定的信息的中间人角色。

,要实现监控功能,我们必须安装插件(plugins),以及nrpe。

2.1 监控windows1. windows设置1)安装nsclient,然后在cmd命令台执行以下命令2)修改nsclient的nse.ini配置文件[modules] #去掉注释符号”;”除了CheckWMI.dll和RemoteConfiguration.d llFileLogger.dllCheckSystem.dllCheckDisk.dllNSClientListener.dll[Settings]allowd_host=192.168.2.2 #为nagios服务的IP[NSClient]port=12489 #去掉注释就可以了!3)启动nsclient服务并确认端口是否打开2. linux设置接下来我们开始配置nagios服务器里面的内容,因为nagios是模块化调用,先到配置文件打开windows相关模块。

nagios全攻略

nagios全攻略

nagios全攻略(一)----准备阶段一. 准备阶段:1.实验环境注:监控机:安装了nagios软件的机器,对监控的数据做处理,并且提供web界面查看和管理.当然也可以对本机自身的信息进行监控.被监控机:安装了NRPE等客户端,根据监控机的请求执行监控,然后将结果回传给监控机.2.nagios原理3.Nagios定义的监控状态nagios定义了4中监控状态,代表不同的严重级别,除了OK代表正常不用关心4.所用软件nagios-2.9.tar.gznagios-plugins-1.4.9.tar.gznrpe-2.8.1.tar.gzNSClient++-0.2.7.zip注:前三个的下载地址:[url][/url],后一个的[url]/projects/nscplus[/url] 5.总体目标学习嘛,总要有个目标,很简单,就是看到下面这张图主机名要监控的服务nagios-server 是否活动是否开启ftp磁盘使用情况dbpi 是否活动是否开启ssh磁盘使用情况cpu负载swap分区使用情况其中蓝色字体的服务是外部服务,也就是说不需要登陆被监控机,直接在外部就可以进行检查.例如我们需要检查被监控机是否打开80端口,就可以在别的一台机器上telnet被监控机的80端口即可.绿色字体表示是内部服务,意思是必须登陆到被监控机上才能查看.因为它们属于”本地信息”(nagios将之称为LOCAL).很容易理解,你不登陆到被监控机上,如何知道当前磁盘的使用情况呢?nagios是不是很强大,基本上对监控对象的任何信息都可以一手掌握了.而且不用登陆到目的机就可以看到那台机器私密的”本地信息”,比木马还厉害啊.但是别误会,这可不是什么木马.nagios有着十分安全的措施.这确实是一个庞大的工程,你想想这还只是三台机器而已都已经监控这么多服务了,那要是多个几十台怎么办,不用紧张,从现在开始,跟我动手吧.家庭作业,将所用的软件下载好,配置好监控机192.168.0.111上的apache.敬请期待nagios全攻略(二)----基本安装和配置(上)二. 基本安装和配置本部分主要参考官方文档和田逸的文章<<看我出招之:我用Nagios(技术细节)>>来修改完成.最后达到如下的功能监控机自身的信息,包括主机信息以及对外提供的服务被监控机对外提供的服务如下所有的操作都在监控机192.168.0.111上进行1.安装nagios主程序解压缩tar -zxvf nagios-2.9.tar.gzcd nagios-2.9编译,指定安装目录为/usr/local/nagios./configure --prefix=/usr/local/nagiosmake all输出如下信息求救,而实际上输出的内容包含很多有价值的信息,例如安装路径,版本,每一步做什么,接下来的步骤等.尤其是输出的最后一屏信息,我个人建议好好的读一下.例如上面就列出了很多有价值的信息,我们只需要按照他说的做就行了.安装make install[root@localhost nagios-2.9]#useradd nagios[root@localhost nagios-2.9]#mkdir /usr/local/nagios[root@localhost nagios-2.9]# chown nagios.nagios /usr/local/ nagios查看目录权限[root@localhost nagios-2.9]# ll /usr/localdrwxr-sr-x 2 nagios nagios 4096 Jul 10 11:14 nagios 看到nagios目录的权限已经被正确修改了执行如下命令来安装脚本make install-init执行make install-commandmode执行make install-config验证程序是否被正确安装。

Linux系统监控之 Nagios配置教程详解(赵舜东)

Linux系统监控之 Nagios配置教程详解(赵舜东)

Linux系统监控之 Nagios配置教程详解(赵舜东)实验目的:通过实验熟练掌握Nagios这个开源的监控解决方案的实施。

实验环境:Red Hat Enterprise Linux +nagios.3.2.0实验步骤:第一部分:Linux系统监控之 Nagios详解(一)一、Nagios 简介(一)什么是Nagios,Nagios有哪些特性。

(二)Nagios工作原理二、部署Nagios监控服务器(一)下载所需软件包(二)安装Nagios(三)安装Nagios的插件nagios-plugin(四)配置检测主机是否存活(五)第一部分功能测试第二部分:Linux系统监控之 Nagios详解(二)三、使用Nagios监控Linux 客户端(一)Nagios监控服务器的配置(二)Nagios监控客户端的配置四、使用Nagios 监控Windows 客户端(一)Nagios 监控服务器的配置(二)Nagios 监控客户端的配置第三部分:Linux系统监控之 Nagios详解(三)五、Nagios 配置文件详解实验简介:公司进行了机房改造,新系统也上线了,需要一个强大的监控方案,对服务器和各服务的运行情况进行有效的监控,我第一个想到的就是Nagios这个强大的开源解决方案,本文以监控八台服务器和Nagios服务器本身为例。

根据先实现、后深入的方式,把本文分为三个部分,开始先实现了功能, 在第三个部分,在对配置的内容进行详细的讲解,功能实现:实现Web浏览器监控,Mail报警邮件收发,手机短信收发。

手机短信怎么收发呢?网上有很多很多的方法,我推荐一种就是使用139信箱,139信箱有一项免费的功能就是发邮件通知到您的手机上,可以在手机上看邮件内容,免费的哦。

什么?还没有139信箱,那么别傻呆了,系统运维必备的信箱,快免费申请吧。

本作品为本站原创作品,如需转载请注明来自UnixHot 技术联盟实验答疑:zhaoshundong@一、Nagios 简介官方网站:/ (更多的详细说明请参考官方网站)Nagios® is a system and network monitoring application. It watches hosts and services that you specify, alerting you when things go bad and when they get better.Nagios was originally designed to run under Linux, although it should work under most other unices as well.Some of the many features of Nagios include:1.Monitoring of network services (SMTP, POP3, HTTP, NNTP, PING, etc.) 监控网络资源2.Monitoring of host resources (processor load, disk usage, etc.) 监控主机资源3.Simple plugin design that allows users to easily develop their own service checks4.Parallelized service checks5.Ability to define network host hierarchy using "parent" hosts, allowing detection of and distinction between hosts that are down and those that are unreachable6.Contact notifications when service or host problems occur and get resolved (via email, pager, or user-defined method)7.Ability to define event handlers to be run during service or host events for proactive problem resolution8.Automatic log file rotation 自动日志轮滚9.Support for implementing redundant monitoring hosts 支持冗余10.Optional web interface for viewing current network status, notification and problem history, log file, etc.请参考Nagios 中文在线帮助文档:/docs/nagios/cn/build/html/index.html二、部署Nagios监控服务器(一)下载所需软件包1.nagios.3.2.0.tar.gz Nagios的主程序[root@UnixHot src]# wget /sourceforge/nagios/nagios.3.2.0.tar.gz2.nagios-plugins-1.4.13.tar.gz Nagios 的插件[root@UnixHot src]# wget /sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz3.nrpe-2.12.tar.gz代理检测程序[root@UnixHot src]# wget /sourceforge/nagios/nrpe-2.12.tar.gz[root@UnixHot src]# lsnagios-3.2.0.tar.gz nagios-plugins-1.4.13.tar.gz nrpe-2.12.tar.gz(二)安装Nagios官方的安装文档:/docs/3_0/quickstart-fedora.html1.安装前的依赖检查[root@UnixHot ~]# rpm -q httpd php gcc glibc glibc-common gd gd-devel2.创建Nagios账户和组[root@UnixHot src]# useradd -m nagios[root@UnixHot src]#groupadd nagcmd[root@UnixHot src]# usermod -a -G nagcmd nagios[root@UnixHot src]#usermod -a -G nagcmd apache3.编译安装[root@UnixHot src]# tar xvf nagios-3.2.0.tar.gz[root@UnixHot src]# cd nagios-3.2.0(至于每一步的具体意思,我不再详述,因为运行完毕后,提示信息会明确的告诉你,它干了什么,是怎么干的。

Nagios远程监控软件的安装与配置详解

Nagios远程监控软件的安装与配置详解
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd //验证文件路径
Require valid-user
上述文本块的作用是对nagios的目录进行用户验证,只有合法的授权用户才可以访问nagios的页面文件。第二步是生成用户验证文件:只要执行命令 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd sery ,就会生成web的合法访问用户sery;命令交互执行,需要输入2次密码,然后就在文件/usr/local/nagios/etc/htpasswd写入一行-第一个字段是刚生成的用户名,第二个是加密后的密码,如果还要添加更多的用户,执行命令 htpasswd 就不需要选项 “-c”,否则就会覆盖所有已经生成的行。
配置前的处理
最主要的工作是创建nagios用户及其束组,让nagios的运行用户为nagios而不是root。再把目录/usr/local/nagios的属主设置为nagios,以保证系统的安全。Nagios可以以root用户运行,但并不推荐这样做。用下面的步骤来完成上述过程:
1、添加系统帐户nagios: useradd nagios 就很容易的把用户和组nagios添加到系统。有的类型的linux发行版添加用户和组要麻烦一些-需要要添加组,然后再执行 useradd –g nagios nagios这样的操作。在实际的运用场景,nagios用户并没有必要作为系统用户来登录linux系统,因此可以不必设置nagios的用户密码,甚至可以把nagios用户的登录shell设置成/bin/false。

nagios配置文档

nagios配置文档

Nagios是一款优秀的监控软件,它主要通过插件的形式来实现对主机和服务的监控,它最重要的特点是能够实现多种途径的报警,例如:邮件,短信,飞信等等,现将其配置过程介绍如下:搭建环境:Nagios-server:Centos4.8,2.6.9-89.Elsmp,IP:192.168.9.130Linux-client:Centos4.8,2.6.-89.Elsmp,IP:192.168.9.73软件版本:Nagios-3.2.1.tar,nagios-plugins-1.4.14.tar,nrpe-2.12.tar工作原理如下图:开始配置,首先是nagios-server端:安装必要的软件包和添加用户:Nagios安装:为nagiosweb界面设置访问控制:然后接着测试访问http://192.168.9.130/nagios,会出现nagios的web界面,如下图:安装nagios-plugins在./configure过程中,如果出现checking for redhat spopen problem...停在这里动不了,可加上—enable-redhat-pthread-workaround重新进行编译。

紧接着我在监控本机的配置文件localhost.cfg中又添加了两个服务FTP和NFS接下来安装和定义nrpe然后配置监控linux client的配置文件定义host的:定义hostgroup的:定义服务的:(所有服务均如下图所示修改host_name即可)接着追加测试nagios的配置文件是否有错误:如没错误会出现以下图示:至此,服务端配置结束。

Linux-client配置如下:添加用户安装nagios-plugin在编译时可能会出现no acceptable c compiler found in $PATH这样的错误,这时你需要安装gcc软件包,再重新编译。

安装nrpe在编译时可能会报这样的错:checking for SSL headers…configure:error:Cannot find ssl headers, 需要安装openssl*软件包,安装完后再重新编译。

服务器性能监控工具ZabbixNagios和Prometheus的选择与使用

服务器性能监控工具ZabbixNagios和Prometheus的选择与使用

服务器性能监控工具ZabbixNagios和Prometheus的选择与使用在现代信息技术快速发展的背景下,服务器性能监控工具成为企业和个人管理服务器的重要利器。

其中,Zabbix、Nagios和Prometheus是市场上广受欢迎的三种性能监控工具。

本文将从功能特点、易用性、扩展性和适用场景等方面,对Zabbix、Nagios和Prometheus进行比较分析,帮助读者选择并使用最合适的服务器性能监控工具。

一、ZabbixZabbix是一个成熟而强大的开源性能监控工具,被广泛应用于企业级网络环境。

Zabbix的主要功能特点包括四个方面:监控、警报、可视化和自动化。

首先,Zabbix具备全面的监控功能,可以监控服务器的CPU利用率、内存使用率、网络流量、磁盘IO等重要指标,实时了解服务器的性能状况。

其次,Zabbix支持配置警报策略,当服务器性能异常时,可以通过邮件、短信等方式及时通知管理员,以便及时采取措施解决问题。

再次,Zabbix提供直观的可视化界面,可以以图表、表格等形式展示服务器性能指标的历史数据,便于管理员分析趋势和进行容量规划。

最后,Zabbix支持自动化功能,可以通过脚本、API等方式自动处理异常事件,提高故障响应效率。

Zabbix的易用性方面,它提供了直观友好的Web界面,管理员可以通过Web界面完成配置、监控和数据展示等操作,无需深入了解复杂的命令行参数。

此外,Zabbix提供丰富的文档和社区支持,用户可以轻松获取相关帮助和资源。

Zabbix的扩展性方面表现突出。

它支持各种操作系统的监控,包括Windows、Linux、Unix等。

同时,Zabbix还支持多种数据库,如MySQL、PostgreSQL等。

此外,Zabbix提供了丰富的插件和API,可以方便地与其他系统进行集成,满足不同用户的需求。

适用场景上,Zabbix适用于中大型企业或服务器数量较多的场景,具备完备的监控和管理功能。

Nagios监控Windows主机(NSClient++安装与应用)

Nagios监控Windows主机(NSClient++安装与应用)

Nagios监控Windows服务器(NSClient++安装与应用)一、NSClient++安装1、下载NSClient++插件点击下面链接下载/x-0.3.x/NSClient%2B%2B-0.3.9-Win32.ms i 2、安装插件与配置1)安装过程十分简单,直接点击下一步,下一步即可。

安装过程注意如下图的设置即可2)配置NSClient编辑NSClient安装目录下的NSC.ini文件,修改后,重启NSClient即可,如下图所示3)模块作用说明,如下表Module Description CommandsCheckSystem.d ll Handles many system checksCPU, MEMORY,COUNTER etcCheckDisk.dll Handles Disk related checks USEDDISKSPACEFileLogger.dll Logs errors to a file so you can see what is going onN/ANSClientListen er.dll Listens and responds to incoming requestsfrom nagiosN/A二、NSClient应用监控NSClient++与Nagios服务器通信,主要使用Nagios服务器的check_nt插件。

原理图如下1、check_nt插件的使用说明[root@localhost libexec]# ./check_nt -hcheck_nt v1.4.15 (nagios-plugins 1.4.15)Copyright (c) 2000 Yves Rubin (rubiyz@) Copyright (c) 2000-2007 Nagios Plugin Development T eam <nagiosplug-devel@>This plugin collects data from the NSClient service running on a Windows NT/2000/XP/2003 server.Usage:check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout]Options:-h, --helpPrint detailed help screen-V, --versionPrint version informationOptions:-H, --hostname=HOSTName of the host to check-p, --port=INTEGEROptional port number (default: 1248)-s, --secret=<password>Password needed for the request-w, --warning=INTEGERThreshold which will result in a warning status-c, --critical=INTEGERThreshold which will result in a critical status-t, --timeout=INTEGERSeconds before connection attempt times out (default: -l,--params=<parameters>Parameters passed to specified check (see below) -d, --display={SHOWALL} Display options (currently only SHOWALL works) -u, --unknown-timeout Return UNKNOWN on timeouts10)-h, --helpPrint this help screen-V, --versionPrint version information-v, --variable=STRINGVariable to checkValid variables are:CLIENTVERSION = Get the NSClient versionIf -l <version> is specified, will return warning if versions differ. CPULOAD =Average CPU load on last x minutes.Request a -l parameter with the following syntax:-l <minutes range>,<warning threshold>,<critical threshold>.<minute range> should be less than 24*60.Thresholds are percentage and up to 10 requests can be done in one shot. ie: -l 60,90,95,120,90,95UPTIME =Get the uptime of the machine.No specific parameters. No warning or critical threshold USEDDISKSPACE =Size and percentage of disk use.Request a -l parameter containing the drive letter only.Warning and critical thresholds can be specified with -w and -c. MEMUSE =Memory use.Warning and critical thresholds can be specified with -w and -c. SERVICESTATE =Check the state of one or several services.Request a -l parameters with the following syntax:-l <service1>,<service2>,<service3>,...You can specify -d SHOWALL in case you want to see working servicesin the returned string.PROCSTATE =Check if one or several process are running.Same syntax as SERVICESTATE.COUNTER =Check any performance counter of Windows NT/2000.Request a -l parameters with the following syntax:-l "\\<performance object>\\counter","<description>The <description> parameter is optional and is given to a printfoutput command which requires a float parameter.If <description> does not include "%%", it is used as a label.Some examples:"Paging file usage is %%.2f %%%%""%%.f %%%% paging file used."INSTANCES =Check any performance counter object of Windows NT/2000.Syntax: check_nt -H <hostname> -p <port> -v INSTANCES -l <counter object> <counter object> is a Windows Perfmon Counter object (eg. Process),if it is two words, it should be enclosed in quotesThe returned results will be a comma-separated list of instances onthe selected computer for that object.The purpose of this is to be run from command line to determine what instances are available for monitoring without having to log onto the Windows server to run Perfmon directly.It can also be used in scripts that automatically create Nagios serviceconfiguration files.Some examples:check_nt -H 192.168.1.1 -p 1248 -v INSTANCES -l Process2、检查Nagios目录下的libexec子目录,一定要存在check_nt(例如:/usr/local/nagios/libexec/check_nt)3、查看Nagios服务器下定义check_nt命令[root@localhost etc]# vim commands.cfgdefine command {command_name check_ntcommand_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v$ARG1$ $ARG2$register 1}4、Windows系统监控应用首先定义一个需要监控的主机,本例为监控Winxp226,命令如下:define host {host_name winxp226alias My Windows Serveraddress 10.0.192.226use windows-server,host-pnpregister 1}1)监控windows 主机的CPU 负载define service {host_name winxp226service_description cpuloaduse generic-servicecheck_command check_nt!CPULOAD!-l 5,70,80,10,80,90register 1}注:#CPU如果到达80%则报警,到达90%则警笛2)监控windows 主机的内存使用状况define service {host_name winxp226service_description Memory Usageuse generic-servicecheck_command check_nt!MEMUSE!-w 80 -c 90register 1}注:内存使用到达80%则warn,到达90%则Critical3)监控windows 主机的开机运作时间define service {host_name winxp226service_description Uptimeuse generic-servicecheck_command check_nt!UPTIMEregister 1}4)检查windows主机是否已经安装了NSClient++,及它的版本号define service {host_name winxp226service_description NSClient++ Versionuse generic-servicecheck_command check_nt!CLIENTVERSIONregister 1}5)监控windows 主机的C:\ 的空间使用量define service {host_name winxp226service_description C:\ Drive Spaceuse generic-servicecheck_command check_nt!USEDDISKSPACE!-l c! -w 80 -c 90register 1}6)监控windows主机的W3SVC设置的动作状况define service{host_name winxp226use generic-serviceservice_description W3SVCcheck_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC}7)监控windows 主机的Explorer.exe 进程运作状况,如程序终止,则会发Critical define service {host_name winxp226service_description Exploreruse generic-servicecheck_command check_nt!PROCSTATE! -d SHOWALL -l explorer.exe register 1}8)监控windows 主机的SNMP服务的运作状况,如服务终止,则会发CRITICALdefine service{use generic-servicehost_name winxp226service_description SNMPcheck_command check_nt!SERVICESTATE!-d SHOWALL -l "SNMP Service"}9)监控Windows主机的MySQL服务运行情况,如服务终止,则会发出CRITICALdefine service {host_name winxp226service_description MySQL55use generic-servicecheck_command check_nt!SERVICESTATE! -d SHOWALL -l MySQL55register 1}注意:此服务名称应与Windows服务名称相同,如服务中间有空格时请将其放入双引号内,否则将会报无效的参数。

nagios监控系统手册详细操作

nagios监控系统手册详细操作

nagios网络监控Nagios是什么:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。

在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

nagios是功能强大的监控软件,主要用来监控网络设备的状态(比如:主机的资源状态);适合于:对大量的服务器进行监控,判断其负载或服务是否正常,发生异常能通过邮件、短信报警。

特别注意:流量监控不是他的强项,流量监控建议使用cacti.可以绘制非常直观的图形nagios能监视什么:nagios可以监控:1、主机是否宕机(通过ping命令,如果ping不通会认为主机属于宕机状态,但不影响所监控的其他服务);2、服务器资源(cpu使用率、硬盘剩余空间等);3、网络服务(smtp\pop3\http\);4、监控网络设备(路由器、交换机等。

)一、RHEL系统上部署Nagios:(禁用selinux功能)系统环境:RHEL,在nagios主机上监控mysql服务器nagios 主机:192.168.10.100mysql 主机: 192.168.10.101操作步骤:1、安装编译所需的软件包:如下图所示:# yum –y install httpd php-* gd-* mysql-devel(若mysql-devel包不安装,会没有check_mysql插件。

)2、创建运行nagios服务的用户注:useradd nagios #创建运行nagios服务的用户usermod -G nagios apache #使apache用户对nagios目录具有写权限,不然web页面操作失败.3、nagios软件安装释放nagios源码包,进行编译前的预备置:编译并安装nagios及相关操作,如下图所示:注:make install //安装主程序,CGI和HTML文件make install-init //在/etc/rc.d/init.d安装启动脚本make install-commandmode //配置目录权限make install-config //安装示例配置文件make install-webconf //安装nagios的web接口,会在/etc/httpd/conf.d目录中创建nagios.conf文件。

Nagios系统监控实践(原书第2版)

Nagios系统监控实践(原书第2版)

目录分析
第1章最佳实践 第2章运作原理
第3章 Nagios的安 装
第4章 Nagios的配 置
01
第5章 Nagios配 置文件引导
02
第6章监视: 通过 Nagios插 件监控
03
第7章 Nagios的 扩展
04
第8章可视 化
05
第9章 Nagios XI
06
第10章 Nagios事 件代理接口
第4章 Nagios的配置
4.1对象和定义
4.3 CGI程序配置 4.4模板 4.5时间段 4.6命令 4.7人 4.8人组 4.9主机
第5章 Nagios配置文件引导
5.1开发脚本模板 5.2自动发现 5.3 NagiosQL
第6章监视:通过Nagios插件监控
6.1本地查询 6.2监视Windows 6.3监视UNIX 6.4 Check_MK 6.5监视“其他内容”
第1章最佳实践
1.1系统监控的过程方法 1.2处理和开销 1.3络位置和依赖关系 1.4安全 1.5沉默是金 1.6监视端口与监视应用 1.7谁来监控这些检测插件
第2章运作原理
2.1主机和服务范例 2.2插件 2.3调度 2.4通知 2.5 I/O界面总结
第3章 Nagios的安装
3.1操作系统支持及FHS 3.2安装步骤及先决条件 3.3安装Nagios 3.4安装插件 3.5安装NRPE
第9章 Nagios XI
9.1它是什么 9.2如何运作 9.3有什么好处 9.4如何上手
第10章 Nagios事件代理接口
10.1 C中的函数引用以及回调 10.2 NEB的架构 10.3使用NEB实现一个文件系统接口 10.4 DNX,实际的示例 10.5总结

服务器监控工具对比ZabbixVSNagios

服务器监控工具对比ZabbixVSNagios

服务器监控工具对比ZabbixVSNagios在选择服务器监控工具时,Zabbix和Nagios是两个备受关注的选项。

它们都是开源的监控工具,可以帮助管理员实时监控服务器的性能、可用性和状态。

本文将对Zabbix和Nagios进行对比,以帮助您选择适合自己需求的监控工具。

### 1. ZabbixZabbix是一个功能强大且灵活的监控系统,具有以下特点:- **易于安装和配置**:Zabbix提供了直观的Web界面,使得安装和配置变得简单快捷。

- **支持多种监控方式**:Zabbix支持多种监控方式,包括Agent、SNMP、JMX等,可以满足不同场景的监控需求。

- **灵活的告警机制**:Zabbix可以根据不同的监控指标设置告警规则,并支持多种告警方式,如邮件、短信等。

- **强大的数据可视化**:Zabbix提供了丰富的图表和报表功能,可以直观地展示服务器的性能数据,帮助管理员快速定位问题。

- **自动发现功能**:Zabbix具有自动发现功能,可以自动识别新加入的服务器和网络设备,减少了管理员的工作量。

### 2. NagiosNagios是一个经典的监控工具,具有以下特点:- **模块化设计**:Nagios采用模块化设计,可以通过插件扩展其功能,满足不同监控需求。

- **灵活的配置**:Nagios的配置文件采用文本格式,管理员可以灵活地配置监控规则和告警方式。

- **成熟稳定**:Nagios是一个成熟稳定的监控工具,在各种环境下都有广泛的应用。

- **社区支持**:Nagios拥有庞大的用户社区,可以获取丰富的插件和解决方案,帮助管理员解决各种监控问题。

- **历史数据存储**:Nagios可以存储历史监控数据,方便管理员进行性能分析和趋势预测。

### 3. 对比分析在对比Zabbix和Nagios时,可以从以下几个方面进行分析:- **易用性**:Zabbix的Web界面更加直观友好,对于初学者来说更容易上手;而Nagios的配置文件需要一定的技术功底。

详解网络性能监测工具:选择合适自己的利器(二)

详解网络性能监测工具:选择合适自己的利器(二)

详解网络性能监测工具:选择合适自己的利器网络性能监测在当今互联网时代变得尤为重要。

无论是家庭用户还是企业机构,都需要保证网络的稳定性和快速性。

而选择一款适合自己的网络性能监测工具,可以帮助用户快速定位网络问题并进行解决。

本文将详细介绍几款常见的网络性能监测工具,并给出一些建议,帮助读者选择适合自己的利器。

一、PingPlotterPingPlotter是一款简单易用的网络性能监测工具。

它通过发送ICMP请求来测量网络主机的响应时间和丢包情况。

通过PingPlotter,用户可以实时查看网络连接的延迟情况,并对问题进行深入分析。

它还可以生成延迟图表和故障报告,方便用户根据数据作出相应的调整。

使用PingPlotter时,用户只需输入目标IP地址或域名,然后点击开始测试即可。

PingPlotter将会显示网络连接的每一跳的延迟和丢包情况。

通过观察图表,用户可以快速定位网络问题所在,并进行相应的优化。

二、WiresharkWireshark是一款开源的网络分析工具,它可以捕获网络数据包并对其进行详细分析。

通过Wireshark,用户可以深入了解网络中的通信过程,发现潜在的问题,并进行解决。

Wireshark的使用可能对一般用户来说稍显复杂,但是对于有一定网络知识的用户来说是十分强大的工具。

用户需要选择合适的网络接口进行捕获,并设置过滤规则以获取所需的数据包。

通过阅读数据包的详细信息,用户可以了解协议的使用情况、数据传输的效率以及是否存在异常行为。

三、MTRMTR全程为My Traceroute,它是一款用于网络监测和诊断的工具。

MTR结合了Ping和Traceroute的功能,能够显示网络中的每一跳的延迟和丢包情况。

它可以帮助用户快速找到网络连接中的问题,并提供相关的数据进行参考。

MTR的使用非常简单,用户只需输入目标地址,然后点击开始测试即可。

MTR将会显示每一跳的延迟和丢包情况,并以图表形式展示。

服务器监测工具比较NagiosvsZabbixvsPrometheus

服务器监测工具比较NagiosvsZabbixvsPrometheus

服务器监测工具比较NagiosvsZabbixvsPrometheus在当今信息化时代,服务器监测工具的选择对于企业的运维管理至关重要。

本文将对三种常见的服务器监测工具——Nagios、Zabbix 和Prometheus进行比较,以帮助读者更好地了解它们的特点和适用场景。

Nagios:Nagios是一款开源的服务器监控工具,具有成熟稳定的特点。

它可以监控服务器、网络设备等各种资源,并提供实时的监控数据和报警功能。

Nagios的配置相对简单,适合中小型企业使用。

其插件化的设计使得用户可以根据需要自定义监控项,扩展性较强。

此外,Nagios有丰富的社区支持和文档资源,用户可以方便地获取帮助和解决问题。

Zabbix:Zabbix是另一款知名的开源监控工具,功能强大且易于使用。

与Nagios相比,Zabbix提供了更多的监控功能和图形化界面,用户可以直观地查看监控数据和趋势。

Zabbix支持自动发现和自动配置,能够快速部署和管理大规模的监控系统。

此外,Zabbix还提供了灵活的报警机制和报表功能,帮助用户及时发现和解决问题。

Prometheus:Prometheus是一款以时间序列数据库为基础的监控工具,适用于大规模分布式系统的监控。

Prometheus具有高度可扩展性和灵活性,支持多维度的数据模型和强大的查询语言。

其基于Pull模型的架构使得监控目标可以自行推送数据,减轻了监控系统的负担。

Prometheus还提供了丰富的图形化界面和告警管理功能,帮助用户全面了解系统的运行状态。

综合比较:在功能性方面,Nagios主要侧重于基础的服务器监控和报警,适用于对监控需求相对简单的企业;Zabbix在功能上更加全面,提供了更多的监控功能和可视化界面,适合对监控要求较高的企业;而Prometheus则更适合大规模分布式系统的监控,具有较强的扩展性和灵活性。

在部署和管理方面,Nagios相对简单易用,适合初学者和中小型企业使用;Zabbix提供了自动化配置和管理功能,适合大规模部署;Prometheus的可扩展性和灵活性使得其适用于复杂的分布式系统监控。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

nagios配置文件的关系和理解nagios能实现的具体的功能正是通过配置文件来表现的。

而这些配置文件之间有着千丝万缕的关系。

比如services依赖于host,timeperiod和contactgroup等。

nagios.cfg:这是nagios的主配置文件,它主要负责管理其他所有跟nagios有关的文件。

他定义了nagios的日志文件,缓冲文件,状态信息存放文件等。

我们可以自己写配置文件,不过要在nagios.cfg里指定:cfg_file=/usr/local/nagios/etc/service.cfg。

这些主要的配置文件如下:1. hosts.cfgdefine host{host_name #这一项是用来定义标识主机的名字。

我们用这个名字在host group和service里标识这个主机alias #这一项用来定义主机的一个完整名字或描述,可有可无,使用适当时,宏$HOSTALIAS$里存放了这一项的值。

address #这一项是用来定义主机的地址,使用适当时,宏$ HOSTADDRESS $里存放了这一项的值。

max_check_attempts #这一项用来定义在检测返回结果不是OK时,nagios重试检测命令的次数。

设置这个值为1会导致nagios一次也不重试就报警。

check_period #这一项用一个time period项的名字来定义在哪段时间内激活对这台主机的主动检测。

time period是定义在别的文件里的配置项,我们可以在这里用名字来引用她。

contact_groups #这是一个联系组列表。

我们用联系组的名字来引用她们。

多个联系组间用“,”来分隔。

notification_interval #这一项用来定义当一个服务仍然down或unreachable时,我们间隔多久重发一次通知给联系组。

notification_period #这一项用一个time period定义来标识什么时间段内给联系组送通知。

这里我们用time period定义的名字来引用她。

notification_options #这一项用来决定发送通知的时机。

选项有:d = 当有down状态时发送通知,u = 当有unreachable状态时发送通知, r = 当有服务recoveries时发送通知,f = 当主机启动或停机时发送通知。

如果你给一个n选项,那么永远不会发送通知。

}2. hostgroups.cfgdefine hostgroup{hostgroup_name #主机组名称,通常定义得较短alias #主机组别名,通常定义得较长members #主机组成员}3. services.cfgdefine service{host_name #主机名称service_description #服务描述check_command #执行命令max_check_attempts #最大失败尝试次数,值为1时只报警不重新normal_check_interval#常规检测间隔时间,默认为60分钟(常规检测是指无论服务状态是否正常,检测次数达到“最大次数”时)retry_check_interval #失败尝试间隔时间,默认为60分钟(失败尝试是指服务状态不正常,检查次数达到“最大次数”时)check_period #检测时间段notification_interval #当服务状态不正常时通知联系人的间隔时间,值为0时不通知联系人notification_period #通知联系人时间段notification_options #通知联系人选项,w警告,u未知,c危急,f启动和停止,n 不发送通知contact_groups #联系人组}4. servicegroups.cfgdefine servicegroup{servicegroup_name #服务组名称,通常定义得较短alias #服务组别名,通常定义得较长members #服务组成员}5. contacts.cfgdefine contact{contact_name #这个指令用来定义一个联系人的简称。

他会在contactgroup是时被引用到。

在相应的环境中,宏定义$CONTACTNAME$会包含这个值alias #这个指令是为了定义一个联系人的具体的描述。

在相应的环境, 中,宏定义$CONTACTALIAS$会包含这个值host_notification_period #这个指令是为了定义,能够通知Contact中定义的那个简称联系人,关于主机有问题或者恢复正常状态的时间段。

你可以把他想象成能够通知Contact 关于主机的在线时间。

service_notification_period #这个指令是为了定义,能够通知Contact中定义的那个简称联系人,关于服务的问题或恢复正常的时间段。

host_notification_options #这个指令为了定义主机在什么状态下会给联系人发通知。

各个参数的描述如下:d=当主机的状态处于down时,发送通知;f=当主机状态处于stop 时发送通知。

r=当主机恢复up状态时发送通知。

n=什么状态下都不发送通知。

service_notification_options #这个指令为了定义服务在什么状态下会给联系人发通知。

各个参数的描述如下:w=当服务处于警告状态时发送通知u=当服务的状态处于unknown时,发送通知;f=当服务状态处于启动和停止时发送通知。

c=当服务处于Critical 状态时发送通知。

n=什么状态下都不发送通知。

host_notification_commands #这个指令是为了定义一个通知联系人关于主机问题或恢复正常的联系手段的一个列表。

多个手段之间用逗号隔开。

service_notification_commands #这个指令是为了定义一个通知联系人关于服务问题或恢复正常的联系手段的一个列表。

多个手段之间用逗号隔开。

email #这个指令是为了定义联系人的email地址。

这个将取决于你是如何定义你的notification commands.它可以用来给联系人发送紧急邮件。

在相应的环境中。

宏定义$CONTACTEMAIL$将会包含它的值。

}6. contactgroups.cfgdefine contactgroup{contactgroup_name #联系组名称,通常定义得较短alias #联系组别名,通常定义得较长members #联系组成员}7. timeperiods.cfgdefine timeperiod{timeperiod_name #时间段名称,通常定义得较短alias #时间段别名,通常定义得较长sunday #星期日时间段monday #星期一时间段tuesday #星期二时间段wednesday #星期三时间段thursday #星期四时间段friday #星期五时间段saturday #星期六时间段}8. commands.cfgdefine command{command_name #定义命令的简称command_line #定义当服务进行时Nagios要执行的动作。

在命令执行以前,所有合法的宏都要被他们的值代替。

}下面给一个真实的例子说明:define host{use linux-serverhost_name testaddress 192.168.32.32#check_command check-host-alivemax_check_attempts 3 #检测返回的结果不为Ok时,重试命令的次数normal_check_interval 3#不管状态正不正常,隔这个时间发命令检测状态notification_interval 5 #当发生错误是,隔这个间隔发送短信contact_groups nagios}define service{use generic-servicehost_name testservice_description nginxcheck_command check_http!-p 80max_check_attempts 3normal_check_interval 3notification_interval 5contact_groups nagios}## Define Contactdefine contactgroup{contactgroup_name nagiosmembers nagios}define contact{contact_name nagiosservice_notification_options c,w,r,uhost_notification_options d,u,rservice_notification_commands notify-service-by-smshost_notification_commands notify-service-by-smshost_notification_period 24-7service_notification_period 24-7}## Define Commanddefine command{command_name notify-service-by-smscommand_line /usr/local/nagios/bin/check_sms.sh "$HOSTADDRESS$-$HOSTALIAS$/$SERVICEDESC$-is-$SERVICESTATE$-$CONTAC TPAGER$"}## Define Timeperioddefine timeperiod{timeperiod_name 24-7alias 24 hours a day, 7 days a weeksunday 00:00-24:00monday 00:00-24:00tuesday 00:00-24:00wednesday 00:00-24:00thursday 00:00-24:00friday 00:00-24:00saturday 00:00-24:00}。

相关文档
最新文档