nagios 安装配置(包含nrpe端)全 (三)
四、系统的配置:
1、介绍
在配置过程中涉及到的几个定义有:主机、主机组,服务、服务组。联系人、联系人组,监控时间。监控命令等。
最重要的有四点:
第一:定义监控哪些主机、主机组、服务和服务组;
第二:定义这个监控要用什么命令实现。
第三:定义监控的时间段;
第四:定义主机或服务出现故障时要通知的联系人和联系人组。
2、几个主要配置文件
创建hosts.cfg文件来定义主机和主机组
创建services.cfg文件来定义服务
用默认的contacts.cfg文件来定义联系人和联系人组
用默认的commands.cfg文件来定义命令
用默认的timeperiods.cfg来定义监控时间段
用默认的templates.cfg文件作为资源引用文件
3、定义主机:
定义被监控主机,创建文件hosts.cfg :
# cd /usr/local/nagios/etc
# vi hosts.cfg
一个主机定义例如以下(举例):
define host{
host_name remote_host_1 //被监控主机的名称,最好别带空格
alias RemoteHost_1 //别名
address 192.168.20.154 //被监控主机的IP地址
check_command check-host-alive
//监控的命令check-host-alive,这个命令来自commands.cfg,用来监控主机是否存活
max_check_attempts 5 //检查失败后重试的次数
check_period 24x7
//检查的时间段24x7,相同来自于我们之前在timeperiods.cfg中定义的
contact_groups admins
//联系人组,在contacts.cfg中定义的admins
notification_interval 10
//提醒的间隔,每隔10秒提醒一次
notification_period 24x7
//提醒的周期, 24x7,相同来自于我们之前在timeperiods.cfg中定义的
notification_options d,u,r
//指定什么情况下提醒
}
在监控系统上定义主机例如以下:
先定义一个主机类:
define host{
name linux-box ; Name of this template
use generic-host ; Inherit default values
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 30
notification_options d,u,r
contact_groups admins
register 0 ; DONT REGISTER THIS - ITS A TEMPLATE
}
使用上面的类定义主机:
define host{
use linux-box ; 上面定义的主机类
host_name remotehost_1 ; 被监控主机的名称,最好别带空格
alias RemoteHost_1 ; 别名
address 192.168.20.154 ; 被监控主机的IP地址
} 定义多个主机。可參照上面的这个定义。
4、定义主机组
进入配置文件文件夹:
# cd /usr/local/nagios/etc
创建hostgroups.cfg文件:
# vi hostgroups.cfg
使用define定义keywordhostgroup表示该定义段内定义的是主机组段。段内的定义请使用两个大括号来包括。 段内的定义项一行一项。
以下定义了一个主机组:
define hostgroup{
hostgroup_name MonitoringHosts /*主机组名称*/
alias Group_1 /*主机组还有一个名称*/
members remote_host_1 /*主机组包括哪些主机,多个主机之间用逗号隔开*/
}
另外,假设要定义多个主机组段的话,那么必需要写多个define hostgroup {} 段,參照上面。
5、定义监控服务所需的命令:
# cd /usr/local/nagios/etc/objects
# vi commands.cfg
比方要使用zccheck_disk监控主机的磁盘使用情况,定义方式例如以下:
#'zccheck_disk' command defination
define command{
command_name zccheck_disk
command_line /usr/local/nagios/libexec/zccheck_disk.pl -w $ARG1$ -c $ARG2$
}
插件能够是自己编写的,也能够是已安装的nagios插件中有的插件。 定义方式都一样。
6、定义监控服务:
在 services.cfg 中定义。
# cd /usr/local/nagios/etc
# vi services.cfg
服务的定义分两种: 监控机上的服务和远程被监控机上的服务。这里仅仅介绍监控主机上服务的加入,远程被监控主机的服务在以下第二部分中介绍。
1、使用use generic-service 定义简洁的服务(仅仅是举例)。
generic-service 是在/usr/local/nagios/etc/objects/templates.cfg 中定义的一个服务模板。引用这个模板能够创建非常简洁的服务,例如以下例:
define service{
use generic-service
host_name remotehost
service_description IMAP4 Response Check
check_command check_imap!-t 5 -e "mygreatmailserver.com"
}
2、假设想自己定义一个服务,则能够用以下的方式定义(仅仅是举例):
# vi services.cfg
define service{
host_name nagios
//被监控的主机,hosts.cfg中定义的
service_description check-host-alive
//这个监控项目的描写叙述,这个会在web页面中出现
check_command check-host-alive
//所用的命令,是commands.cfg中定义的
max_check_attempts 5 //重试的次数
normal_check_interval 3 //循环检查的间隔时间
retry_check_interval 2
check_period 24x7
//监控的时间段,是timeperiods.cfg中定义的
notification_interval 10
notification_period 24x7
//通知的时间段
notification_options w,u,c,r
//在监控的结果是wucr时通知联系人
contact_groups sagroup
//联系人组,是contactgroups.cfg中定义的
}
3、监控系统上服务的定义(实际定义):
能够针对不同的服务定义不同的模板。然后引用这些模板达到简化服务定义的目的。 (1):先定义例如以下的服务模板,假设定义其它的模板能够仅仅改变红色的内容,其它不变:
define service{
name zctech-service ; The 'name' of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
is_volatile 0 ; The service is not volatile
check_period 24x7 ; The service can be checked at any time of the day
max_check_attempts 5 ; Re-check the service up to 3 times in order to determine its final (hard) state
normal_check_interval 5 ; Check the service every 10 minutes under normal conditions
retry_check_interval 2 ; Re-check the service every two minutes until a hard state can be determined
contact_groups admins ; Notifications get sent out to everyone in the 'admins' group
notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events
notification_interval 60 ; Re-notify about service problems every hour
notification_period 24x7 ; Notifications can be sent out at any time
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
监控本机上定义例如以下的服务:
(2)定义一个服务的方式例如以下:
defineservice{
use zctech-service
host_namelocalhost
service_descriptionzccheck-disk
check_commandzccheck_disk!90!95
}
(3)使用zccheck_proc_cmd定义的服务,比方监控系统的哪个服务或进程是否正常,则定义方式例如以下:
比方监控
firefox服务:
ps-aux
1000 3355 1.5 6.9 1060900 280412 ? Sl 08:53 7:56
firefox
则服务名定义为cmd-firefox就可以。假设有完整路径名和參数等,比方
mysql 1883 0.1 1.2 311008 50120 ? Sl 08:37 0:47/usr/sbin/mysqld--basedir=/usr
--datadir=/var/lib/mysql --user=mysql--pid-file=/var/run/mysqld/mysqld.pid--socket=/var/run/mysqld/mysqld.sock –port=3306
则service_description
为cmd-mysqld。
defineservice{
use zctech-service
host_namelocalhost
service_descriptioncmd-firefox
check_commandzccheck_proc_cmd!firefox
}
7、改动配置文件:
# cd /usr/local/nagios/etc
在nagios.cfg 文件里加入以下内容:
# vi nagios.cfg
例如以下所看到的指定配置文件的位置:
cfg_file=/usr/local/nagios/etc/hostgroups.cfg
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
8、使加入的监控服务有效:
检查配置文件有无错误:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 假设有错误。则检查配置文件的内容(依据提示信息)。 假设没有错误。则重新启动nagios:
# service nagios restart
在监控系统就能够看到新加的监控服务。(第一次加入之后可能要等几分钟才干显示出来)监控主机上的安装和配置到此完毕。
nagios 安装配置(包含nrpe端)全 (三)的更多相关文章
- centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 使用邮箱系统 第三十一节课
centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 ...
- Nginx+nagios安装配置
Nginx+nagios安装配置 [root@Nagios ~]# vi /etc/nginx/nginx.conf server { listen ; server_name localhost; ...
- nagios 安装配置(包含nrpe端)全 (一)
一.nagios安装: 1.安装下面命令: 这是本人监控服务时自己定义插件所用到的几个系统命令.可不安装. (1)iostat:监控磁盘IO信息: apt-getinstall sysstat (2) ...
- Nagios安装配置教程(一)基本了解
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态, 交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信 ...
- nagios安装配置
http://www.codeweblog.com/nagios%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/ 上线的服务器有时会被人攻击,导致服务不可用,今天安装配置了 ...
- CentOS6.5下的Nagios安装配置详解(图文)
最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解.为自己后续需要和博友们学习! VMware workstation 11 的下载 VMWare Workstation 11的安装 ...
- nagios client 端的安装配置 以及 svr端对应的配置(转)
1.下载安装包并解压 $ wget wget http://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz$ wget http ...
- Nagios 安装配置
##Debian 6 安装server # apt-get install nagios* 一路设置好各种密码,成功后访问 http://ip/nagios3 既可,默认用户*nagiosadmin* ...
- centos6安装配置zabbix3主控端
Centos 6.5 Zabbix 3.0.4 zabbix分为zabbix-server(主控端)和zabbix-agent(被控端),本文只介绍server: 安装mysql mysql建议使用5 ...
随机推荐
- svn 设置代理
Memory4Young Do Not Repeat Yourself! SVN —— 如何设置代理 如果在使用SVN下载外网的资源时,出现这样的提示:No such host is known. 或 ...
- redis:哨兵集群配置
最少配置1主2从3哨兵 一.引言 上一篇文章我们详细的讲解了Redis的主从集群模式,其实这个集群模式配置很简单,只需要在Slave的节点上进行配置,Master主节点的配置不需要做任何更改,但是有一 ...
- 如何用纯 CSS 创作一个渐变色动画边框
效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/odpRKX 可交互视频教 ...
- apidoc利用代码注释书写文档
个人博客同步文章 https://mr-houzi.com/2018/07/... apidoc是一款利用源代码中注释来创建RESTful Web API文档的工具.apidoc可用于C#,Go,Da ...
- js layui 分页脚本
//分页 layui.use(['laypage'], function(){ var laypage = layui.laypage; laypage.render({ elem: 'page' , ...
- Django框架基础知识13-auth系统
我们昨天登录admin时创建的用户信息是存放在哪里了呢? auth系统的数据表: 从表的名称我们就能看出, auth_user,auth_group,auth_permission分别存放了用户,用户 ...
- Django关于SQL注意事项
执行原生SQL: from django.db import connection, connections cursor = connection.cursor() cursor.execute( ...
- 对于easyui $.messager.alert和 $.messager.confirm 不同浏览器中位置控制
$.messager.confirm({ title: '种子购买', msg: '确定购买这个'+seedName+'的种子嘛?', top:, fn: function (r) { if (r){ ...
- 关于hibernate中的 lazy="false“
如上图所示,warehousePicked 中包含了warehousePicking 同时,数据库中warehousePicking存在数据 ,但是在debug 时warehousePicked的be ...
- Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份
概述 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好 ...