- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经在 Nagios
中实现了 nsca
用于分布式监控目的,一切似乎都在工作,除了一个我似乎无法找到答案的奇怪问题任何地方。
发送和接收被动检查,但输出显示第 4 个变量始终未初始化,因此显示为 $OUTPUT$
。看起来好像支票在非中央服务器上显示了正确的信息,但是当它被发送时,它似乎没有正确插入。
命令.cfg
define command{
command_name submit_check_result
command_line /usr/share/nagios3/plugins/eventhandlers/submit_check_result $HOSTNAME$ '$SERVICEDESC$' $SERVICESTATE$ '$OUTPUT$'
}
提交检查结果
#!/bin/sh
return_code=-1
case "$3" in
OK)
return_code=0
;;
WARNING)
return_code=1
;;
CRITICAL)
return_code=2
;;
UNKNOWN)
return_code=-1
;;
esac
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca 192.168.40.168 -c /etc/send_nsca.cfg
示例服务
define service {
host_name example_host
service_description PING
check_command check_icmp
active_checks_enabled 1
passive_checks_enabled 0
obsess_over_service 1
max_check_attempts 5
normal_check_interval 5
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups admins
}
非中央服务器的日志输出显示:
Nov 29 22:52:52 nagios-server nagios3: SERVICE ALERT: example_host;PING;OK;HARD;5;OK - 192.168.1.1: rta nan, lost 0%
中央服务器上日志的输出显示:
EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;example_host;PING;0;$OUTPUT$
中央服务器(网页界面)上的状态信息显示:
PING OK 2016-11-29 22:54:50 0d 0h 54m 6s 1/5 $OUTPUT$
也不只是这项服务。所有服务,包括那些基本上为 Nagios 服务器本身预先配置的服务“check_load、check_proc 等”。
如有任何帮助,我们将不胜感激。
最佳答案
我发现了问题。原来上面的 submit_check_result 脚本格式不正确,无法将检查结果提交到远程服务器。它会这样做,但它没有正确说明状态。以下是正确的脚本:
#!/bin/sh
# SUBMIT_CHECK_RESULT_VIA_NSCA
# Written by Ethan Galstad (egalstad@nagios.org)
# Last Modified: 10-15-2008
#
# This script will send passive check results to the
# nsca daemon that runs on the central Nagios server.
# If you simply want to submit passive checks from the
# same machine that Nagios is running on, look at the
# submit_check_result script.
#
# Arguments:
# $1 = host_name (Short name of host that the service is
# associated with)
# $2 = svc_description (Description of the service)
# $3 = return_code (An integer that determines the state
# of the service check, 0=OK, 1=WARNING, 2=CRITICAL,
# 3=UNKNOWN).
# $4 = plugin_output (A text string that should be used
# as the plugin output for the service check)s
#
#
# Note:
# Modify the NagiosHost parameter to match the name or
# IP address of the central server that has the nsca
# daemon running.
printfcmd="/usr/bin/printf"
NscaBin="/usr/sbin/send_nsca"
NscaCfg="/etc/send_nsca.cfg"
NagiosHost="central_host_IP_address"
# Fire the data off to the NSCA daemon using the send_nsca script
$printfcmd "%s\t%s\t%s\t%s\n" "$1" "$2" "$3" "$4" | $NscaBin -H $NagiosHost -c $NscaCfg
# EOF
更好的结果。
关于linux - Nagios NSCA 第 4 个变量总是 $OUTPUT$,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40880122/
当我运行以下命令时: [root@ssbpops01 libexec]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cf
我正在尝试在 redhat 机器上安装 nagios-plugins-2.2.1 运行此命令时: Nagios /usr/local/nagios/bin/nagios -v /usr/local/n
我已设置 Nagios 警报并正常工作。 我需要修改所有警报电子邮件的主题行 - 以包含常量字符串。 如何修改 Nagios 电子邮件警报中的主题行? 最佳答案 转到/usr/local/nagios
使用 nagios,我声明一个像这样的主机: define host{ use aix-server host_name test_
我已设置 Nagios 警报并正常工作。 我需要修改所有警报电子邮件的主题行 - 以包含常量字符串。 如何修改 Nagios 电子邮件警报中的主题行? 最佳答案 转到/usr/local/nagios
使用 nagios,我声明一个像这样的主机: define host{ use aix-server host_name test_
我正在尝试通过 Nagios Web 界面禁用对服务的主动检查,但我无法做到。 Nagios 实例运行在 Centos 5 发行版上 每次我尝试停止服务时,都会收到以下消息: 无法打开命令文件‘/us
我的组织正在使用 Nagios 和 check_mk插件来监控我们的节点。我的问题是:是否可以运行 manual check从命令行?在部署之前能够测试配置更改,这一点非常重要。 例如,我准备了一个使
我正在学习 Ansible,我想安装带有多个受监控节点的 Nagios 服务器。我遵循的 Nagios 安装步骤是 from this tutorial on Digitalocean . 本教程的第
我正在尝试安装 Nagios。我在 Amazon CentOS 上使用 AMI,它安装了 Ambari + Nagios + ...除了 Nagios 界面之外,一切正常。 Nagios 运行没有任何
我在我的环境中运行 Nagios Core 4.0.8,我正在寻找一种方法来更改默认 URL https://example.com/nagios至 https://example.com 。有办法做
[1439979541] HOST NOTIFICATION: nagiosadmin;hplj2605dn;DOWN;notify-host-by-email;CRITICAL - Host Unr
我正在尝试在 fedora 17 上安装 nagios 4.0.6 和 nagios -plugins-2.0.2。我遵循了 sourceforge 文档中提到的步骤。 http://nagios.s
我正在研究 opensuse Leap 42.1。我已经在远程主机上安装了 NRPE。我严格按照安装指南进行操作。但是,守护进程运行: netstat -at | egrep "nrpe|5666"
我按照我在 EE 上找到的此链接中的说明操作... http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html好吧,在尝试使用命令 se
我可以打印出主持人从 Nagios-Report Perl Module 开始的时间百分比使用以下代码: #!/usr/bin/perl use strict ; use Nagios::Report
我已经在 Centos 6.4 上安装了 Nagios。 我正在尝试启用 SSH 的通知服务和主机的 http 服务。但是当我提交它时,我得到了以下错误。 错误:无法 stat() 命令文件“/usr
我无法让 Nagios 遵守预定义时间段的 notification_period 设置。 我的时间段定义称为“ sleep ”,如“午夜到早上 7 点之间请勿通知我”。它看起来像这样: defin
我正在将来自 Nagios 的警报和事件集成到我的系统中。在搜索时,我发现了 Moogsoft 与 Nagios 的集成(click)。我已经关注了这个,但是没有成功。 在他们的“第 2 步:配置:”
是否有任何“简单”的方法可以为 Nagios 认证用户创建定制的 web gui(例如,菜单、默认主页等)?我为客户创建了一个用户,该用户只能访问某些主机组。但是登录后,用户显然可以看到默认菜单,这是
我是一名优秀的程序员,十分优秀!