NRPE 添加命令(四)

模式2 带参数

nrpe 安装中带 --enable-command-args 参数

nrpe.cfg 中添加

dont_blame_nrpe=1 才能接受用户传递参数

commandcheck_file_num=/usr/local/nagios/libexec/check_file_num.sh ARG1

监控机上

command.cfg 【改名】

#check_file

define command{

command_name check_file_num

command_line USER1/check_nrpe -H HOSTADDRESS -c ARG1 -a ARG2

}

#services.cfg 文件

define service{

use local-service

host_name nagios-client

service_description Current File Num

check_command check_file_num!check_file_num!"-w 40 -c 70"

}

./check_nrpe -H 192.168.146.170 -c check_file_num -a 40 80

KILL 进程并重启nrpe

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

重启监控机上的nagios服务

/etc/init.d/nagios reload

#############固定端口检测

1.agent 配置修改

nrpe.cfg

commandcheck_port_80=/usr/local/nagios/libexec/check_port 80

2.重启nrpe 客户端

kill -9 nrpe

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

3.添加脚本

vi /usr/local/nagios/libexec/check_port

#!/bin/bash

port="$1"

tips="`netstat -anpl|grep -iE \":${1}\b\"|grep LISTEN|wc -l`"

if $tips -gt 0

then

echo 1

else

echo 0

fi

4.监控机服务添加

define service{

use hk-service,service-pnp

host_name haproxy_136

service_description http_80

check_command check_nrpe!check_port_80

}

5.重载nagios服务

/etc/init.d/nagios reload

自定义Nagios NRPE脚本EXIT退出值和nagios状态都应关系:

自定义Nagios NRPE脚本EXIT退出值和nagios状态都应关系:

|----------|---------|----------------------------------|-----------------------------------------|
| 状态 | EXIT退出值 | 输出 | 例子 |
| OK | 0 | echo "OK - it's ok." | echo "OK - it's ok." exit 0 |
| WARNING | 1 | echo "WARNING - it's warning." | echo "WARNING - it's warning." exit 1 |
| CRITICAL | 2 | echo "CRITICAL - it's critical." | echo "CRITICAL - it's critical." exit 2 |
| UNKNOWN | 3 | echo "UNKNOWN - it's unknown." | echo "UNKNOWN - it's unknown." exit 3 |

错误的例子:

shell脚本中echo和退出值:

echo "OK - it's ok."

exit 1

此时,Nagios会显示:

这条服务对应的状态是"WARNING",但是输出的信息是"OK - it's ok."

相关推荐
Brilliantwxx10 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地10 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
father_122711 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum
csdn_aspnet11 小时前
Docker Prune:完整指南与上手示例
运维·docker·容器·prune
ynchyong11 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具
七牛云行业应用12 小时前
DeepSeek Harness(dsh)安装完整指南:Windows、macOS、Linux 三平台 + 桌面端与 Web 端全覆盖
linux·windows·macos·ai·ai编程
~城南花已开~13 小时前
Intel E810 SR-IOV VF Spoofcheck 防伪造测试-KVM3
服务器·网络·笔记·学习·ubuntu·etl工程师
乌恩大侠13 小时前
Supermicro 发布六款 NVIDIA ARC 服务器:从 1U 边缘基站到 4U 八卡 AI-RAN 平台,全面对比
运维·服务器·人工智能
十年磨一剑~13 小时前
APT 仓库包查看方法文档
linux·ubuntu
DYWorker00113 小时前
第 1-1 课:启动编排:内核如何把自己装配起来
linux