Nagios与pnp4nagios安装配置备忘文档格式.docx
- 文档编号:20513750
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:16
- 大小:225.05KB
Nagios与pnp4nagios安装配置备忘文档格式.docx
《Nagios与pnp4nagios安装配置备忘文档格式.docx》由会员分享,可在线阅读,更多相关《Nagios与pnp4nagios安装配置备忘文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
http:
//repoforge.org/use/
EPEL:
https:
//fedoraproject.org/......
一、Server端安装:
#安装nagios
yum-yinstallnagiosnagios-nrpenagios-pluginsnagios-plugins-nrpecheck_logfiles
#添加nagios到系统自动运行
chkconfig--addnagios
chkconfignagioson
nagios相关路径:
/etc/nagios#配置文件目录:
/etc/nagios/objects#模板相关配置
/usr/sbin/nagios#nagios主程序
/usr/lib(64)/nagios/cgi-bin/#nagiosCGI文件目录
/usr/lib(64)/nagios/plugins/#插件目录
/usr/share/nagios/html/#网页文件目录
/var/log/nagios/#日志,存档目录
配置Apache/Nginx密码访问
#nagiosadmin为用户名,配置这个用户名为省很多事
htpasswd-c/etc/nagios/htpasswd.nagiosnagiosadmin
启动并测试
servicenagiosstart
servicehttpdstart
#打开浏览器,输入密码,在host里面应该有“localhost”这台机器
//{your_ip_address}/nagios
二、Nagios的配置文件
对nagios进行配置需要了解一个概念object(对象),nagios使用object来对各种信息进行组织,nagios中的包含如下object:
contact(联系人):
何种方式,何种情况下采用何种方式报警给何人
contactgroup(联系人组):
对联系人进行组织
timeperiod(监控时间段):
7×
24还是workhours,或者其他自定义的时间段
host(主机):
被监控的服务器
hostgroup(主机组):
对主机进行分类组织
command(命令):
定义Nagios要执行的监控命令
service(服务):
定义Nagios要监控的服务,如web/ssh/ftp等
servicegroup(服务组):
组织多个被监控的服务
配置文件都存放在/etc/nagios/目录或该目录下的conf.d,private,objects目录
cgi.cfg用于定义浏览器对nagios操作,比如权限控制等
nagios.cfg用于定义控制nagios行为
nrpe.cfgNRPE配置文件
nsca.cfg被动监控配置文件
resource.cfg资源配置文件,用于定义插件路径,一般不需修改
objects目录监控对象配置文件存放于下面,配置文件可以自己添加,文件名可以自行定义,只要以.cfg结尾就行,但是必须在nagios.cfg加一行代码使nagios读取这个文件,例如你可以新建个linux.cfg来添加linux监控设备,nagios.cfg应该添加一行“cfg_file=/usr/local/nagios/etc/objects/linux.cfg”,一般同一类设备写到一个文件里,当然也可以对默认的文件进行修改来添加监控设备,此目录下默认有下面几个文件
commands.cfg命令定义配置文件
contacts.cfg定义联系人列表
timeperiods.cfg定义时间监控模板
templates.cfg定义各种模板,可以是主机模板、联系人模板、监控服务模板等
localhost.cfg用于定义linux监控设备
windows.cfg用于定义windows监控设备
switch.cfg用于定义交换机,路由器等监控设备
printer.cfg用于定义打印机监控设备
深入理解Nagios的工作原理和各对象的意义域作用是有效使用Nagios的前提
三、添加被监控设备
Client端安装
#更新yum库(略)
#安装nrpe与nagios-plugins
yum-yinstallnagios-nrpenagios-pluginsnagios-plugins-nrpe
配置(client端)
vi/etc/nagios/nrpe.cfg
#下列配置表示允许127.0.0.1,192.168.121.55(Server)这两台机器访问当前机器的信息
allowed_hosts=127.0.0.1,192.168.121.55
测试(client端)
#启动nrpe(NagiosRemotePluginExecutor)
servicenrpestart
添加到服务并设置为自动启动
chkconfig--addnrpe
chkconfignrpeon
#查看端口是否启动
netstat-an|grep5666
#本机测试服务是否正常
/usr/lib/nagios/plugins/check_nrpe-H127.0.0.1-ccheck_load
/usr/lib64/nagios/plugins/check_nrpe-H127.0.0.1-ccheck_load#64bit命令
#服务器端测试访问是否正常。
**在Server上执行**
/usr/lib/nagios/plugins/check_nrpe-H{client_ip}-ccheck_load
/usr/lib64/nagios/plugins/check_nrpe-H{client_ip}-ccheck_load#64bit
四、配置(Server端)
#创建client配置文件(192.168.121.4为clientip)
一个相对比较完整的配置文件格式
1.definehost{
2.usemodel_host//定义用的模板机
3.host_namehost_name(*)//定义主机名,可起任意名字
4.aliasalias(*)//定义主机别名
5.display_namedisplay_name//定义显示名字
6.addressaddress(*)//主机名对应的ip地址
7.parentshost_names//定义父节点
8.hostgroupshostgroup_names//定义主机组名
9.check_commandcommand_name//检查主机状态的命令
10.initial_state[o,d,u]//初始化状态
11.max_check_attempts#(*)//当检查命令返回值不是“OK”时最大重试次数
12.check_interval#//#分钟进行一次检查
13.retry_interval#//重试间隔时间
14.active_checks_enabled[0/1]//主动监控开关(1开0闭)
15.passive_checks_enabled[0/1]//被动监控开关
16.check_periodtimeperiod_name(*)//主机状态检查的时间段
17.obsess_over_host[0/1]//是否启用主机操作系统探测
18.check_freshness[0/1]//是否启用freshness检查。
freshness检查是对于启用被动检查模式的主机而言的,其作用是定期检查主机报告的状态信息,如果该状态信息已经过期,freshness将会强制做主机检查。
freshness_threshold#
19.event_handlercommand_name
20.event_handler_enabled[0/1]//主机事件处理是否激活
21.low_flap_threshold#
22.high_flap_threshold#
23.flap_detection_enabled[0/1]
24.flap_detection_options[o,d,u]
25.process_perf_data[0/1]
26.retain_status_information[0/1]
27.retain_nonstatus_information[0/1]
28.contactscontacts(*)//发送报警通知给谁
29.contact_groupscontact_groups(*)//发送通知给哪个报警组
30.notification_interval#(*)//主机状态通知功能激活
31.first_notification_delay#
32.notification_periodtimeperiod_name(*)//发送通知的时间段
33.notification_options[d,u,r,f,s]//定义那些情况下发送通知
34.notifications_enabled[0/1]//发送通告开关
35.stalking_options[o,d,u]
36.notesnote_string
37.notes_urlurl
38.action_urlurl
39.icon_imageimage_file//定义主机图标
40.icon_image_altalt_string
41.vrml_imageimage_file
42.statusmap_imageimage_file
43.2d_coordsx_coord,y_coord//定义图标在网页中显示的二维坐标
44.3d_coordsx_coord,y_coord,z_coord//定义图标在网页中显示的三维坐标
45....
46.}
一个简单的样例:
1.vi/etc/nagios/objects/192.168.121.4.cfg
2.
3.definehost{
4.uselinux-server
5.host_nameclient-1
6.aliasclient-1
7.address192.168.121.4
8.}
9.
10.//check_load
11.defineservice{
12.usegeneric-service
13.host_nameclient-1
14.service_descriptionCurrentLoad
15.check_commandcheck_nrpe!
check_load
16.}
17.
18.//check_disk
19.defineservice{
20.usegeneric-service//local-service改成generic-service
21.host_nameclient-1//localhost改成自定义client-1
22.service_descriptionRootPartition
23.check_commandcheck_nrpe!
check_disk!
20%!
10%!
/
24.}
25.
26.//把上面的check_local_disk改成check_nrpe!
check_disk,如果有不带local的,例如:
check_ping改成check_nrpe!
check_ping
在上面的配置中:
!
/表示执行chek_disk并传递三个参数:
20%为警告阀值,10%为严重错误阀值,/表示检查根分区
但,默认安装的nrpe是不允许传递参数的,需要编译时加上“ --enable-command-args”才可以
允许传递参数会带来安全隐患,所以在实际应用中,警告和严重错误阀值的参数一般是在被监控端直接写入,而不是通过此处传递**重要**
#添加check_nrpe指令
1.[root@localhostobjects]#vim/etc/nagios/objects/commands.cfg//修改配置文件
2.//添加以下内容
3.definecommand{
4.command_namecheck_nrpe
5.command_line$USER1$/check_nrpe-H$HOSTADDRESS$-c$ARG1$
6.//如果客户端使用的不是默认的5667端口,需要在上一行内加上-p端口
7.}
#将上面配置加到nagios
vi/etc/nagios/nagios.cfg
cfg_file=/etc/nagios/objects/192.168.121.4.cfg
运行和测试(Server端)
/usr/bin/nagios-v/etc/nagios/nagios.cfg#Server端验证配置
确认无误,启动nagios
五、配置(client端)
配置nrpe,添加指令
1.[root@localhost~]#vi/etc/nagios/nrpe.cfg
3.allowed_hosts=192.168.1.122,127.0.0.1//加上服务端的ip,可以是局域网,或者公网的IP
4.
5.command[check_users]=/usr/lib64/nagios/plugins/check_users-w5-c10
6.command[check_load]=/usr/lib64/nagios/plugins/check_load-w15,10,5-c30,25,20
7.command[check_disk]=/usr/lib64/nagios/plugins/check_disk-w20%-c10%-p/dev/mapper/VolGroup-lv_root
8.command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs-w5-c10-sZ
9.command[check_procs]=/usr/lib64/nagios/plugins/check_procs-w150-c200
10.#command[check_http]=/usr/lib64/nagios/plugins/check_http-H127.0.0.1-w5-c10
11.#command[check_ping]=/usr/lib64/nagios/plugins/check_ping-H127.0.0.1-w3000.0,80%-c5000.0,100%-p5
12.#command[check_ssh]=/usr/lib64/nagios/plugins/check_ssh-4127.0.0.1
13.command[check_swap]=/usr/lib64/nagios/plugins/check_swap-w30%-c10%
六、被动监测(NSCA)
当Nagios监控服务器需要同时监控很多台客户机的时候,系统资源占用会比较高,大量机器监控的环境一般会选择被动监控,通过NSCA实现
NSCA可以到http:
//www.nagios.org上下载,不过我还是喜欢用rpm,添加以上两个源后,可以直接通过yum安装
yuminstallnsca
由于nsca在client上是主动送结果到服务器,所以在server端只要开启一个nsca服务,由client端向server端发送数据就行了,在server端只需开启nsca服务,然后把server端的send_nsca脚本和send_nsca的配置文件拷贝到clent即可。
#nsca服务端可能需要修改的几个位置:
nsca_user=nagios
nsca_group=nagios
password=nsgiospassword
decryption_method=1
此时运行nsca很有可能会出错:
chownnagios.nagios/etc/nagios/nsca.cfg
chmodg+r/etc/nagios/nsca.cfg
另外检查以下两行的路径是否正确,nagios用户是否有权限
chownnagios.nagiocommand_file=/var/spool/nagios/cmd/nagios.cmd
alternate_dump_file=/var/log/nagios/rw/nsca.dump
然后重启nsca,检查端口是否已经在监听
netstat-an|grep5667
输出应类似于:
tcp000.0.0.0:
56670.0.0.0:
*LISTEN
Client端不需配置,直接拷贝Server端的send_nsca脚本和send_nsca.cfg即可
共需要传送以下几个参数到server(对应的参数):
A)clienthostname,这个必须和监控机上设置的hostname一致!
B)servicedescription,服务定义,同样也必须跟监控机上定义的servicename一致
C)报警等级,0=ok,1=warning,2=critical,必须是整型
D)报警内容,这个可以自由发挥,以能够清楚描述报警信息为原则.
使用以下语句可以达到我们的目的:
echo"
$NSCACLIENT;
$SERVICEDESC;
$ALTLEVEL;
$MSG"
|$SEND_NSCA-H$NSCA_SERVER-to10-d"
;
"
-c"
$NSCA_CONF"
以上语句里面,$NSCACLIENT=客户端的hostname,必须与监控机上定义的hostname一致
$SERVICEDESC为服务描述,必须与监控机上定义的servicename一致
$ALTLEVEL为报警等级,根据脚本执行结果返回
$MSG为返回的信息
以上4项内容用分号分隔,然后通过send_nsca的–d“;
”参数来分别区分并发送给nagios监控机以达到发报警的目的!
以tsar为例:
websrv.name;
tsar;
0;
OK|cpu.util=10.44mem.util=37.37swap.swpin=0.00swap.swpout=0.00tcp.retran=0.00traffic.bytin=1385.00traffic.bytout=915.00io.sda.util=2.56partition./.util=15.53partition./var.util=9.78load.load1=0.36load.load5=0.32load.load15=0.28"
|/usr/sbin/send_nsca-Hnagios.srv-p7002-to10-d"
-c/usr/sbin/send_nsca.cfg
注:
websrv.name:
是指nagios监控机中的定义的host_name,也可以是机器IP
tsar是指nagios监控机中的service_description
0是指传过去的状态值,这里为OK(0表示ok,1表示warn,2表示critical)
OK是指的状态说明,这里只是一个测试
cpu.util.....部分是具体发送过去的tsar检测到的性能数据
最后就是nagios里面的定义
1.definehost{
2.usegeneric-host
3.host_namewebsrv.name
4.aliaswebserver-wuhan-luxiang
5.address1.2.3.4
6.}
7.
8.defineservice{
9.usegeneric-service
10.service_descriptiontsar
11.active_checks_enabled0#设置为被动模式
12.check_commandcheck_dum
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nagios pnp4nagios 安装 配置 备忘
![提示](https://static.bdocx.com/images/bang_tan.gif)