50.nagios监控工具

nagios监控工具

Nagios是一款开源的计算机系统和网络监视工具,能有效的监控windows,linux和unix的主机状态,在系统和服务器状态异常的时候发送电子邮件或短信报警,第一时间通知网站运维成员,在状态恢复后发出正常的电子邮件或短信通知。

Nagios四种监控状态:

v 0(OK)表示状态正常/绿色

v 1(WARNING)表示出现警告/黄色

v 2(CRITICAL)表示出现非常严重的错误/红色

v 3(UNKNOWN)表示未知错误/深黄色

Nagios通过NRPE插件来远程管理服务。

Nagios配置思想:

要监控那台主机,监控主机上那些服务,我要在什么时间段内做监控,当被监控端出现故障时我要给那个联系人发送邮件通知。

Nagios配置文件路径:/usr/local/nagios/etc/

Nagios的配置文件解析:

v Nagios.cfg:主配置文件,定义其他配置文件存放位置

v Hostgroups.cfg:主机组配置文件,定义主机组

v Contacts.cfg:联系人配置文件,定义联系人和联系人组

v Commands.cfg:命令配置文件,定义使用那些命令做监控

v Timeperiods.cfg:时间段配置文件,定义在那个时间范围做监控

v Templates.cfg:模板文件,用于资源引用

v Localhost.cfg:本地主机配置文件,用于监控本地

部署nagios监控系统:

关闭防火墙

#iptbles -F

#setenforce 0

创建nagios运行用户和组,创建安装目录,授权目录

#useradd  -s /sbin/nologin  nagios

#mkdir /usr/local/nagios

#chown -R nagios.nagios   /usr/local/nagios

编译安装nagios软件

#tar xzvf nagios-4.0.1.tar.gz

#cd agios-4.0.1

#./configure --prefix=/usr/local/nagios

#make all

#make install

#make install-init

#make install-commandmode

#make install-config

#chkconfig --add nagios

#chkconfig nagios on

安装nagios-plugins插件

#tar xzvf nagios-plugins-1.5.tar.gz

#cd nagios-plugins-1.5

#./configure --prefix=/usr/local/nagios

#make && make install

安装NRPE插件

#yum -y install openssl-devel

#tar xzvf nrpe-2.15.tar.gz

#cd nrpe-2.15

#./configure

#make all

#make install-plugin

安装配置apche和PHP

#yum -y install httpd php

#vim /etc/httpd/conf/httpd.conf

添加相关内容:Nagios的web页面需要经过授权才可以访问所以!

ScriptAlias  /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

Authname "Nagios Access"

AuthType  Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users    用于此目录访问身份验证的文件

Require  valid-user

</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">

Options None

AllowOverride None

Order allow,deny

Allow from all

Authname "Nagios Access"

AuthType  Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require  valid-user

</Directory>

#service httpd restart

创建web页面的用户为nagiosadm密码为nagiosadm

# /usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadm

配置nagios系统

#vim /usr/local/nagios/etc/nagios.cfg

添加参数:

cfg_dir=/usr/local/nagios/etc/conf         指定主机文件目录

cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg     指定主机组文件位置

#mkdir /usr/local/nagios/etc/conf/         创建目录

# cp localhost.cfg   /usr/local/nagios/etc/conf/192.168.254.129.cfg   拷贝主机文件

#vim  /usr/local/nagios/etc/conf/192.168.254.129.cfg        主机文件

修改内容:

define host{                  被监控主机

use                     linux-server            调用模板参数

host_name               web                  主机名

alias                    web                  别名

address                 192.168.254.129        被控主机地址

}

define service{                被监控主机服务

use                    local-service             调用模板参数

host_name              web                   主机名

service_description       PING                   服务描述

check_command         check_ping!100.0,20%!500.0,60% 使用的命令

}

#vim /usr/local/nagios/etc/objects/hostgroups.cfg

define hostgroup{            被监控主机组

hostgroup_name   webs                       主机组名

alias             webs                       主机组别名

members         web                        成员主机(调用主机)

}

#vim /usr/local/nagios/etc/objects/templates.cfg              模板文件

define host{

name                   generic-host              模板名(主机)

notifications_enabled           1                 通告开关

event_handler_enabled         1                 事件处理开关

flap_detection_enabled         1                 移动检测开关

process_perf_data             1                 过程性能数据开关

retain_status_information       1                 保持状态信息开关

retain_nonstatus_information    1                 保持无状态信息开关

notification_period             24x7              通告周期(调用时间

register                        0                不注册

}

define service{

name                   generic-service          模板名(服务)

active_checks_enabled          1                存活检查开关

passive_checks_enabled         1                被动检查开关

parallelize_check               1                并行化检查开关

obsess_over_service            1                痴迷服务开关

check_freshness               0                检查新的服务开关

notifications_enabled           1                通告开关

event_handler_enabled         1                 事件处理开关

flap_detection_enabled         1                 移动监测开关

process_perf_data             1                 过程性能数据开关

retain_status_information       1                 保持状态信息开关

retain_nonstatus_information    1                 保持无状态信息开关

is_volatile                    0                 服务是否不稳定

check_period                 24x7               检查周期(调用时间

max_check_attempts           3                  最大检查尝试时间(分钟)

normal_check_interval          10                正常检查间隔(分钟)

retry_check_interval            2                 重试检查间隔(分钟)

contact_groups                admins            联系人组(调用联系人

notification_options            w,u,c,r            通告告警级别

notification_interval            60                通告间隔(分钟)

notification_period             24x7              通告周期(调用时间

register                      0                 不注册

}

define contact{

name                      generic-contact    模板名(联系人)

service_notification_period     24x7            服务通告周期(调用时间

host_notification_period        24x7            主机通告周期(调用时间

service_notification_options    w,u,c,r,f,s         服务告警级别

host_notification_options       d,u,r,f,s          主机在什么状态下发送通知

service_notification_commands notify-service-by-email 服务发送通知邮箱(调用命令)

host_notification_commands     notify-host-by-email   主机发送通知邮箱(调用命令)

register                        0                  不注册

}

define host{

name                        linux-server        模板名(主机)

use                          generic-host       调用了模板中的参数

check_period                  24x7             检查周期(调用时间

check_interval                 5                检查间隔(分钟)

retry_interval                  1                重试间隔(分钟)

max_check_attempts           10               最大尝试时间(分钟)

check_command              check-host-alive     检查命令(调用命令

notification_period             workhours         通告周期(调用时间

notification_interval            120               通告间隔(分钟)

notification_options            d,u,r             主机在什么状态下发送通知

contact_groups                admins           联系人组(调用联系人

register                     0                 不注册

}

define service{

name                      local-service         模板名(服务)

use                        generic-service      调用模板中的参数

max_check_attempts          4                 最大检查尝试时间(分钟)

normal_check_interval         5                 正常检查间隔(分钟)

retry_check_interval          1                  重试检查间隔(分钟)

register                     0                 不注册

}

#vim /usr/local/nagios/etc/objects/timeperiods.cfg        时间文件

define timeperiod{

timeperiod_name 24x7                        定义时间段名

alias           24 Hours A Day, 7 Days A Week   定义时间别名

sunday          00:00-24:00                 星期天

monday          00:00-24:00                星期一

tuesday         00:00-24:00                 星期二

wednesday       00:00-24:00                星期三

thursday        00:00-24:00                 星期四

friday          00:00-24:00                 星期五

saturday        00:00-24:00                 星期六

}

define timeperiod{

timeperiod_name workhours                  定义时间段名

alias           Normal Work Hours           定义时间别名

monday          09:00-17:00               星期一

tuesday         09:00-17:00                星期二

wednesday      09:00-17:00                星期三

thursday        09:00-17:00                星期四

friday           09:00-17:00                星期五

}

#vim /usr/local/nagios/etc/objects/contacts.cfg                    联系人文件

define contact{

contact_name                    nagiosadmin           联系人名

use                             generic-contact        调用模板

alias                            Nagios Admin           别名

email                           [email protected]      邮箱地址

}

define contactgroup{

contactgroup_name       admins                        联系人组

alias                   Nagios Administrators             联系人组别名

members                 nagiosadmin                   成员

}

注释:上面的是详细的配置文件详解

配置nagios文件经验:

对于全新的nagios只需要根据需求

定义主机文件:要监控那台主机,该主机上用命令监控那些服务

定义联系人:要给那个联系人发送通知,指定邮箱地址

定义时间段:在那个时间段发送通知

即可完成配置

check_ping!100.0,20%!500.0,60%意思是:使用check_ping命令检测中,如果延迟延迟>=100或丢包率超过20%则触发warning警告,如果延迟>=500,或丢包率超过60%,则触发critical警告;否则不触发警告。‘!’表示分割,‘,’表示或者

告警级别:w:warning警告  u:unknown未知错误  c:critical严重错误

主机状态:d:down关机  u:unreachable不可达  r:recovery恢复

关闭身份验证

#vim /usr/local/nagios/etc/cgi.cfg

修改内容:

Use-authentication = 0

部署被控端

# yum -y install openssl openssl-devel

#useradd nagios -s /sbin/nologin

#mkdir /usr/local/nagios

#tar xzvf nagios-plugins-1.5.tar.gz

# cd nagios-plugins-1.5

#./configure --prefix=/usr/local/nagios

#make && make install

#tar xzvf nrpe-2.15.tar.gz

#cd nrpe-2.15

#./configure --prefix=/usr/local/nagios

#make  all && make install-plugin && make install-daemon && make install-daemon-config

#vim /usr/local/nagios/etc/nrpe.cfg

添加相关内容:指定监控服务器

allowed_hosts=127.0.0.1,192.168.254.128

commond[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

commond[check_load]=/usr/local/nagios/libexc/check_load -w 15,10,5 -c 30,25,20

# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d       启动nrpe服务

# netstat -lnupt | grep 5666                                     nrpe服务端口

监控端测试nrpe是否正常

# /usr/local/nagios/libexec/check_nrpe  -H 192.168.254.129

重启服务

# service nagios restart

Linux使用Sendmail发送邮件:
# yum -y install sendmail postfix mailx

# systemctl restart sendmail

发送邮件的方式:

# echo ‘内容’ | mail -s ‘主题’ 邮箱地址

# mail -v [email protected]

>主题:

>内容:

按快捷方式Ctrl+D。

Linux使用外部IMAP邮箱身份发送邮件方式:

邮箱协议:

SMTP:用于邮件的发送 端口号:25

POP3:用于接收邮件 端口号:110

IMAP:网络邮箱协议,用于邮件在线传输。

# yum -y install mailx

# vim /etc/mail.rc

添加相关参数:

set [email protected]

set imap=imap.163.com

set imap-auth=login

set [email protected]

set imap-auth-password=xyz110110

发送邮件的方式:

# echo ‘内容’ | mail -s ‘主题’ 邮箱地址

# mail -v [email protected]

>主题:

>内容:

按快捷方式Ctrl+D。

解决mail邮件不能发送问题


报错信息


解决方法


#Cat /var/log/maillog

DSN: Service unavailable


更换hostname:

1.编辑/etc/sysconfig/network,更改hostname

2.把hostname写入/etc/hosts

3.执行hostname www.a.com临时修改

时间: 2024-10-11 08:34:07

50.nagios监控工具的相关文章

Nagios监控工具

不会显示具体的值,仅显示主机或服务的状态 强大的报警功能 高度插件化 Nagios监控主机/服务显示的4种状态 OK WARNING CRITICAL UNKNOWN Nagios对象: 主机,主机组 服务/资源,服务组 联系人,联系人组 时间段 命令(模板--->应用到某个被监控对象,以实现监控) Nagios实现监控的方式: check_by_ssh check_by_nrpe:专用于监控Linux或Unix主机 check_by_nsclient++:用于监控Windows主机 check

Nagios监控环境搭建

Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒,而

监控软件nagios之配置文件详解

1.nagios根目录 [[email protected] nagios-4.0.8]# lltotal 28drwxrwxr-x.  2 nagios nagios 4096 Apr  1 14:50 bin          --二进制文件drwxrwxr-x.  3 nagios nagios 4096 Apr  1 15:27 etc          --配置文件drwxr-xr-x.  2 root   root   4096 Apr  1 15:23 include       

企业级监控软件nagios实战[老男孩教育精品]-限时免费

企业级监控软件nagios实战[老男孩linux精品课程]-限时免费注意:限时全免费,截止7月25日.http://edu.51cto.com/course/course_id-1740.html兼容Centos5.8和6.4,同时也适合red hat linux系列! 北京老男孩培训,全国最负责.最高端.最专业的linux运维实战教育机构!打造中国IT实效教育第一品牌! 交流群 246054962 208160987 145178854(标明51CTO) ├─1老男孩linux培训VIP视频-

linux学习笔记-nagios监控的简单配置

第1章 nagios监控工具介绍及原理 1.1nagios监控工具介绍与优势 Nagios是一款开源的网络及服务的监控工具,其功能强大,灵活性强.能有效监控Window,Linux和Unix的主机各种状态信息,交换机.路由器等网络设置,主机端口及URL服务等.根据不同业务故障界别发出告警信息给管理员,当故障恢复时也会发出恢复消息. Nagios服务端可以在linux和类unix的系统上运行,目前无法再windows上运行. 官方网站地址:http://www.nagios.org/ 官方快速安装

企业级监控nagios实践

nagios 监控服务应用指南 小区:视频监控,保安 企业工作中为什么要部署监控系统 监控系统相当于哨兵的作用,监控几百台上千台服务器,监控系统非常重要. 监控系统都需要监控 1. 本地资源:负载uptime cpu(top,sar),磁盘(df),内存(free),io(iostat),raid,温度,passwd文件的变化,本地所有文件指纹识别 2. 网络服务:端口,url ,丢包,进程数,网络流量 3. 其他设备: 路由器.交换机端口流量,打印机,windows等 4. 业务数据:用户登录

nagios的简单配置实践

我们都知道军队里,哨兵的角色很重要,敌人来了先把哨兵解决了.猴子,在企业网站 架构里,这个监控系统就相当于哨兵的作用,监控系统非常重要.体检.. 监控系统都需要监控: 1.本地资源:负载uptime, CPU(top,sar), 磁盘(df-h),内存(free swap ),lO(iostat), RAID 级别,CPU温度,passwd文件的变化,本地所有文件指纹识别监控.. 2.网络服务:端口,web(URL),DB, ping 丢包,进程数,IDC 网络流量.. 3.其他设备:路由器.交

Nagios-介绍及安装

Cacti 监控工具 收集数据,根据数据绘图 CPU负载:0.8 1.2... 报警:thold Nagios 监控工具 主机,服务/资源 状态:OK,WARNGING,CRITICAL,UNKNOWN CPU:90%(CRITICAL).80%(WARNING) .80%以下OK .UNKNOWN 报警系统 Nagios core 不做任何监控工作 Plugins插件(scripts) N种对象来实现监控工作 主机,主机组 服务/资源,服务组 联系人,联系人租 时段 命令 Nagios通常由一

check_mk自定义监控实践之powershell

最近在学习check_mk,这是一款基于nagios监控工具,但比nagios更易使用,引起了我的兴趣,我最关注的依然是对自定义监控脚本的支持度.在windows下的实践,其支持的客户端脚本或插件可以是 exe,bat,vbs,ps1等,我采用powershell来编写监控脚本. 本文适合对check_mk有一定了解的人,关于check_mk的介绍和搭建,请点击查看:手把手打造开源新监控利器check_mk 另外如果觉得这篇文章描述不够清晰,可以参考官方文档:http://mathias-ket