debiannagios安装全配置.docx
- 文档编号:20104042
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:31
- 大小:29.05KB
debiannagios安装全配置.docx
《debiannagios安装全配置.docx》由会员分享,可在线阅读,更多相关《debiannagios安装全配置.docx(31页珍藏版)》请在冰豆网上搜索。
debiannagios安装全配置
Nagios的全配置
更多精彩文章在:
Nagios是一个监视系统运行状态和网络信息的监视系统。
Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等
Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。
Nagios的主要功能特点:
–监视网络服务(SMTP,POP3,HTTP,NNTP,PING等)
–监视主机资源(进程,磁盘等)
–简单的插件设计可以轻松扩展Nagios的监视功能
–服务等监视的并发处理
–错误通知功能(通过email,pager,或其他用户自定义方法)
–可指定自定义的事件处理控制器
–可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等
–可以通过手机查看系统监控信息
一、安装前准备
安装的机器上必须有一个WEB服务,本文是在Apache环境上安装的。
下载nagios主程序和相关插件程序包
1
2
3
wget
wget
wget
安装GD库(Nagios中的statusmap和trends模块必须)
1
apt-getinstalllibgd2-noxpmlibgd2-noxpm-dev
二、Nagios监控端安装
1、创建Nagios用户及组
建立Nagios账号
1
/usr/sbin/useradd-m-s/sbin/nologinnagios
2、创建一个名为nagcmd的用户组,用于从web接口执行外部命令。
将Nagios用户和Apache用户加入组中。
1
2
3
groupaddnagcmd
usermod-a-Gnagcmdnagios
usermod-a-Gnagcmdwww-data
注:
上面的www-data是Apache用户所属的组,如有不同请自行调整。
3、编译安装Nagios
1
2
3
4
5
6
7
8
9
10
11
tarzxvfnagios-3.2.3.tar.gz
cdnagios-3.2.3
./configure--with-command-group=nagcmd
make
makeall
makeinstall
makeinstall-init
makeinstall-config
makeinstall-commandmode
makeinstall-webconf
cd..
注:
makeinstall用于安装主要的程序、CGI及HTML文件
makeinstall-init用于生成init启动脚本
makeinstall-config用于安装示例配置文件
makeinstall-commandmode用于设置相应的目录权限
makeinstall-webconf用于安装Apache配置文件
4、验证程序是否被正确安装
切换目录到安装路径,这里是/usr/local/nagios,看是否存在etc、bin、sbin、share、var这五个目录,如果存在则可以表明程序被正确的安装到系统了。
1
2
ls/usr/local/nagios/
bin/etc/sbin/share/var/
注;bin–Nagios执行程序所在目录,其中的nagios文件即为主程序。
etc–Nagios配置文件位置
sbin–Nagioscgi文件所在目录,也就是执行外部命令所需文件所在的目录
Share–Nagios网页文件所在的目录
var–Nagios日志文件、spid等文件所在的目录
var/archives–日志归档目录
var/rw–用来存放外部命令文件
5、配置NagiosWeb界面登陆帐号及密码
1
htpasswd-c/usr/local/nagios/etc/htpasswd.usersmike
修改Nagios配置文件,给新增的用户增加访问权限
1
2
3
4
5
6
7
8
9
10
vi/usr/local/nagios/etc/cgi.cfg
#以下几项中分别加入新增的用户,多用户用逗号分隔。
authorized_for_system_information=nagiosadmin,mike
authorized_for_configuration_information=nagiosadmin,mike
authorized_for_system_commands=nagiosadmin,mike
authorized_for_all_services=nagiosadmin,mike
authorized_for_all_hosts=nagiosadmin,mike
authorized_for_all_service_commands=nagiosadmin,mike
authorized_for_all_host_commands=nagiosadmin,mike
6、编译并安装Nagios插件
由于Nagios主程序只是提供一个运行框架,其具体监控是靠运行在其下的插件完成的,所以Nagios插件是必须安装的。
1
2
3
4
5
tarzxvfnagios-plugins-1.4.15.tar.gz
cdnagios-plugins-1.4.15
./configure--with-nagios-user=nagios--with-nagios-group=nagios
make
makeinstall
验证Nagios插件是否正确安装
1
ls/usr/local//nagios/libexec
显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
7、启动服务
启动前先检查下配置文件是否正确
1
/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务
1
/usr/local/nagios/bin/nagios-d/usr/local/nagios/etc/nagios.cfg
查看Nagios运行状态
1
/usr/local/nagios/bin/nagiostats
8、安装NRPE
由于Nagios只能监测自己所在的主机的一些本地情况,例如,cpu负载、内存使用、硬盘使用等等。
如果想要监测被监控的服务器上的这些本地情况,就要用到NRPE。
NRPE(NagiosRemotePluginExecutor)是Nagios的一个扩展,它被用于被监控的服务器上,向Nagios监控平台提供该服务器的一些本地的情况。
NRPE可以称为Nagios的Linux客户端。
由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。
1
apt-getinstalllibssl-devlibssl0.9.8
编译安装NRPE
1
2
3
4
5
6
7
tarzxvfnrpe-2.12.tar.gz
cdnrpe-2.12
./configure
makeall
makeinstall-plugin
makeinstall-daemon
makeinstall-daemon-config
注:
监控主机上只需要makeinstall-plugin这一步就可以了。
监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。
启动NRPE
1
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d
验证NRPE是否正确安装
1
/usr/local/nagios/libexec/check_nrpe-Hlocalhost
注:
如果成功,会返回NRPE的版本号。
三、Nagios被控端安装配置
1、创建Nagios用户及组
建立Nagios账号
1
/usr/sbin/useradd-m-s/sbin/nologinnagios
2、编译并安装Nagios插件
1
2
3
4
5
6
tarzxvfnagios-plugins-1.4.15.tar.gz
cdnagios-plugins-1.4.15
./configure--with-nagios-user=nagios--with-nagios-group=nagios
make
makeinstall
cd..
验证程序是否被正确安装:
1
ls/usr/local/nagios/libexec
显示安装的插件文件,即所有的插件都安装在libexec这个目录下。
3、安装NRPE
1
2
3
4
5
6
7
8
tarzxvfnrpe-2.12.tar.gz
cdnrpe-2.12
./configure
makeall
makeinstall-plugin
makeinstall-daemon
makeinstall-daemon-config
cd..
4、启动NRPE
1
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d
验证NRPE是否正确安装
1
/usr/local/nagios/libexec/check_nrpe-Hlocalhost
注:
如果成功,会返回NRPE的版本号。
5、修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。
缺省NRPE配置文件中只允许本机访问NRPE的Daemon
1
2
3
4
vi/usr/local/nagios/etc/nrpe.cfg
#缺省为127.0.0.1,只能本机访问
allowed_hosts=192.168.1.108
6、重启nrpe的方法
1
2
killallnrpe
/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-d
四、Nagios配置文件关系说明
Nagios的配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#控制cgi访问的配置文件
cgi.cfg
#Nagios主配置文件
nagios.cfg
#resource.cfg
定义了一些变量,以便被其他文件引用,如$USER1$resource.cfg
#objects是一个目录,用于定义Nagios对象
objects
#servers是自己创建的一个目录,Nagios可以加载一个目录下面的所有配置文件(需要在nagios.cfg中配置)
servers
./objects:
#命令定义配置文件,里面定义的命令可以被其他文件引用
commands.cfg
#联系人和联系人组配置文件
contacts.cfg
#监控本地机器的配置文件
localhost.cfg
#监控打印机的一个事例配置文件(默认未启用)
printer.cfg
#监控路由器的一个事例配置文件(默认未启用)
switch.cfg
#模板配置文件,在此可以定义模板,在其他文件中引用
templates.cfg
#定义监控时间段的配置文件
timeperiods.cfg
#监控Windows的一个事例配置文件(默认未启用)
windows.cfg
./server:
#自己创建的主机群组配置文件
hostgroup.cfg
#自己创建的监控远程Linux主机的配置文件
linux.cfg
五、监控应用
监控一个项目最重要的有下面三点:
首先是监控哪台机器,然后是这个监控要用什么命令实现,最后就是出了问题的时候要通知哪个联系人。
A、定义监控的主机
创建一个用于存放监控的项目的目录
1
mkdir-p/usr/local/nagios/etc/server
配置nagios.cfg文件
让Nagios能够访问自定义的目录下的配置文件,增加以下内容:
1
cfg_dir=/usr/local/nagios/etc/server
创建要监控主机的配置文件
这里我以示例的localhost.cfg为基础进行创建
1
cp/usr/local/nagios/etc/objects/localhost.cfg/usr/local/nagios/etc/server/linuxsever1.cfg
先修改对linuxsever.cfg文件中对主机定义部分,服务部分的定义放在后面来说。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
vi/usr/local/nagios/etc/server/linuxsever.cfg
definehost{
uselinux-server;Nameofhosttemplatetouse
;Thishostdefinitionwillinheritallvariablesthataredefined
;in(orinheritedby)thelinux-serverhosttemplatedefinition.
host_namelinuxsever1
aliaslinuxsever1
address192.168.1.106
}
#DefineanoptionalhostgroupforLinuxmachines
definehostgroup{
hostgroup_namelinuxsever;Thenameofthehostgroup
aliaslinuxsever;Longnameofthegroup
memberslinuxsever1;Commaseparatedlistofhoststhatbelongtothisgroup
}
B、定义监控的命令
要对主机上的服务进行监控,首先需要定义监控服务所使用的监控命令。
监控远程服务和资源的命令以及如何发送邮件命令的定义一般都在commands.cfg中进行。
大部分监控远程服务和资源的命令都是通过/usr/local/nagios/libexec下的脚本实现,如ping命令为check_ping。
配置commands.cfg文件
我们这里要对被监控服务器的一些本地资源情况,这里就先加入NRPE的支持。
定义NRPE支持,commands.cfg中增加以下内容
1
2
3
4
5
6
vi/usr/local/nagios/etc/objects/commands.cfg
definecommand{
command_namecheck_nrpe
command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$
}
定义发送邮件的命令,实现邮件报警
修改commands.cfg中的notify-host-by-email和notify-service-by-email命令
1
2
3
4
5
6
7
8
9
10
11
12
13
vi/usr/local/nagios/etc/objects/commands.cfg
#'notify-host-by-email'commanddefinition
definecommand{
command_namenotify-host-by-email
command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:
$NOTIFICATIONTYPE$\nHost:
$HOSTNAME$\nState:
$HOSTSTATE$\nAddress:
$HOSTADDRESS$\nInfo:
$HOSTOUTPUT$\n\nDate/Time:
$LONGDATETIME$\n"|/usr/bin/sendEmail-fnagiosdemo@-t$CONTACTEMAIL$-s-u"**$NOTIFICATIONTYPE$HostAlert:
$HOSTNAME$is$HOSTSTATE$**"-xunagiosdemo-xpnagiosdemo
}
#'notify-service-by-email'commanddefinition
definecommand{
command_namenotify-service-by-email
command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:
$NOTIFICATIONTYPE$\n\nService:
$SERVICEDESC$\nHost:
$HOSTALIAS$\nAddress:
$HOSTADDRESS$\nState:
$SERVICESTATE$\n\nDate/Time:
$LONGDATETIME$\n\nAdditionalInfo:
\n\n$SERVICEOUTPUT$\n"|/usr/bin/sendEmail-fnagiosdemo@-t$CONTACTEMAIL$-s-u"**$NOTIFICATIONTYPE$ServiceAlert:
$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"-xunagiosdemo-xpnagiosdemo
}
注:
监控主机上没有安装任何SMTP服务,这里就采用了外部邮件服务器上SMTP服务进行发送邮件。
这样就需要一个可自定义SMTP服务器的邮件客户端。
这里采用的是sendEmail。
SendEmail简单介绍
SendEmail官方地址:
安装
1
apt-getinstallsendemail
基本用法
1
sendemail-fnagiosdemo@-tnagiosdemo@-s-u“fromnagios”-xunagiosdemo-xpnagiosdemo-mhappy
各参数具体含义
1
2
3
4
5
6
7
-f 表示发送者的邮箱
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu表示SMTP验证的用户名
-xp表示SMTP验证的密码(注意:
这个密码有限制,一些特殊符号或者超长度密码不能被正确识别)
-m 表示邮件的内容
更详细用法可参考官方文档或直接运行sendEmail就会显示详细的用法。
小技巧:
如果这里的收件邮箱采用139的邮箱,就一举两得的同时实现了邮件报警和短信报警的两个功能。
因为139邮箱提供了邮件到达后,免费短信提醒通知功能。
也算是短信通知了另一种实现方式吧,呵呵!
注:
飞信机器人在Ubuntu10.04环境下不能成功运行,提示’Nosuchfileordirectory’,由于无更多提示信息,暂不能解决。
CentOS5.2下能成功运行,不知是不是由于官方提供的飞信机器人支持库是在CentOS环境编译的原因!
C、定义监控联系人和联系人组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
vi/usr/local/nagios/etc/objects/contacts.cfg
definecontact{
contact_namemike;Shortnameofuser
usegeneric-contact;Inheritdefaultvaluesfromgeneric-contacttemplate(definedabove)
aliasNagiosAdmin;Fullnameofuser
emailnagios@;<<*****CHANGETHISTOYOUREMAILADDRESS******
}
definecontactgroup{
contactgroup_nameadmins
aliasNagiosAdministrators
membersmike
}
D、定义常用监控的服务
Nagios监控功能非常的强大,这里只说下比较常见的一些监控项目。
A、通过NRPE监控被监控主机的本地资源信息
1、监控被监控主机的负载情况
1
2
3
4
5
6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- debiannagios 安装 配置