我需要通过curl为命令行设置特定nagios主机的计划停机时间.我是这样做的吗?
这是我已经用于从命令行启用/禁用服务/主机通知的内容.
curl -d "some input here" url "user:pass"
Run Code Online (Sandbox Code Playgroud)
就像我需要为计划停机时间做的那样.现在的问题是停机时间选项需要更多选项,即启动时间,结束时间,评论等.
那么如何通过命令行中的curl完成它呢?
curl -d " some key value pair(hostname,servicename" url "username:passowrd"
Run Code Online (Sandbox Code Playgroud)
这将从命令行打开和关闭服务/主机通知.所以我想以这种方式使用curl来为特定的nagios服务器提供停机时间.
上面的脚本不起作用,因为nagios的停机时间选项需要更多的参数,我试图在脚本中注入这些参数.但它没有那样做.我们也需要提供starttime,endtime和comment值.
另外,我已经尝试了curl的选项--form和--form-string with the script ...无法通过.
理想的想法是,不是去Nagios web界面,我们想从命令行完成这件事(我们已经成功完成了服务/主机服务和通知).
希望我现在绝对清楚.
TIA
巴斯卡尔
我一直在尝试在Mac上设置nagios,这看起来非常简单,但我现在卡住了 - 我无法加载localhost/nagios/页面.据我所知,我有正确的配置.
我已经安装了PHP并将httpd.conf更改为包含index.html的"index.php".我不认为还有更多,但这件小事不让我继续下去.
任何人都可以解释一下并向我指明道路吗?
这是我在aph的hhtpd.conf中为nagios配置文件中的内容:
#Nagios的东西
ScriptAlias/nagios/cgi-bin /"/ opt/local/sbin/nagios /"
<目录"/ opt/local/sbin/nagios">
AllowOverride无
Options ExecCGI
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /opt/local/etc/nagios/htpasswd.users
require valid-user
Run Code Online (Sandbox Code Playgroud)
</ Directory>
Alias/nagios"/ opt/local/share/nagios"
<目录"/ opt/local/share/nagios">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
Run Code Online (Sandbox Code Playgroud)
</ Directory>
#结束Nagios的东西
- 而apache的error_log文件有:
[Fri Oct 19 11:02:09 2012] [error] [client :: 1] Options指令禁止的目录索引:/ opt/local/share/nagios /
我只是在我的Debian 7系统上将我的Nagios服务器升级到最新版本(4.0.1).当我启动守护进程时,我有以下错误:
# /etc/init.d/nagios start
/etc/init.d/nagios: 20: .: Can't open /etc/rc.d/init.d/functions
Run Code Online (Sandbox Code Playgroud)
我的Debian系统(以及我的Ubuntu 12.04工作站)上不存在/etc/rc.d/init.d/functions.
我该怎么做才能解决这个问题?
===更新:
只需使用以下命令行破解启动脚本:
sudo apt-get install daemon
sudo sed -i 's/^\.\ \/etc\/rc.d\/init.d\/functions$/\.\ \/lib\/lsb\/init-functions/g' /etc/init.d/nagios
sudo sed -i 's/status\ /status_of_proc\ /g' /etc/init.d/nagios
sudo sed -i 's/daemon\ --user=\$user\ \$exec\ -ud\ \$config/daemon\ --user=\$user\ --\ \$exec\ -d\ \$config/g' /etc/init.d/nagios
sudo sed -i 's/\/var\/lock\/subsys\/\$prog/\/var\/lock\/\$prog/g' /etc/init.d/nagios
sudo service nagios start
Run Code Online (Sandbox Code Playgroud)
在我的Debian服务器上正常工作.
我一直在尝试使用 Nagios-Nrpe 监视远程服务器。远程主机是 Amazon Ec2 实例,我在 xinetd 上安装了 npre 守护程序。
/etc/xinet.d/nrpe。/etc/services.iptables。5666也在我的安全组中为 TCP 端口添加了一个条目。这些命令正常工作:
$ netstat -at | grep nrpe
$usr/local/nagios/libexec/check_nrpe -H localhost
Run Code Online (Sandbox Code Playgroud)
我已经在本地机器上设置了 nagios 服务器和 nrpe_check 插件。但每当我做:
/usr/local/nagios/libexec/check_nrpe -H <"amazon-ec2-IP-address">
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
connect to address <"amazon-ec2-IP-address"> port 5666: Connection refused ......
connect to host <"amazon-ec2-IP-address"> port 5666: Connection refused
Run Code Online (Sandbox Code Playgroud)
我曾尝试在我的 LAN 上的另一个 linux 上制作 nrpe 客户端并且该命令有效,但不适用于 Amazon Ec2。
如果有人对此问题有解决方案,请尽快分享。
我测试通知和升级链的正常方法是通过引起故障(例如阻塞端口)来模拟故障。
但这是完全不令人满意的。我不想在没有的nagios中记录停机时间。我也不想等。
有谁知道一种在不引起中断的情况下测试通知链的方法?例如这样的事情:
$ ./check_notifications_chain <service|host> <time down>
at <x> minutes notification email sent to group <people>
at <2x> minutes notification email sent to group <people>
at <3x> minutes escalated to group <management>
at <200x> rm -rf; shutdown -h now executed.
Run Code Online (Sandbox Code Playgroud)
扩展这种范式,我可能会将通知链本身做为Nagios检查,但是在我的大脑爆炸之前,我将在这里停止。
任何人?
我试图通过Nagios网络界面禁用对服务的主动检查,但我无法做到.Nagios实例在Centos 5发行版上运行
每次我尝试停止服务时都会收到以下消息:无法打开命令文件'/usr/local/nagios/var/rw/nagios.cmd'进行更新!
虽然我尝试了在网上找到的几个提案:
usermod -a -G nagios apache
chmod 666 /usr/local/nagios/var/rw/nagios.cmd
chown nagios.nagcmd /usr/local/nagios/var/rw
chmod u+rwx /usr/local/nagios/var/rw
chmod g+rwx /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
Run Code Online (Sandbox Code Playgroud)
当然,每次重启nagios服务.
谢谢你的帮助 !干杯
我第一次使用自定义Nagios插件,并且在为插件创建服务时遇到此错误。
(No output on stdout) stderr: execvp(/usr/local/nagios/libexec/check_load.py, ...) failed. errno is 2: No such file or directory
Run Code Online (Sandbox Code Playgroud)
当我在命令行上运行时,该插件可以工作,但是在Nagios中运行时,该插件不起作用。
我按照以下步骤将插件插入了Nagios https://assets.nagios.com/downloads/nagiosxi/docs/Managing-Plugins-in-Nagios-XI.pdf
插件位于正确的路径中:/usr/local/nagios/libexec,resource.cfg文件中具有相同的路径。
我尝试了两个单独的插件,它们都在命令行上运行,结果是相同的错误。
该错误表明文件位置不正确,但是该插件位于指定目录中,并且在该目录中没有错误运行。
我完全感到沮丧,感谢您的帮助。
我在尝试禁用 Check_MK 中特定主机的通知时失去了理智。例如,我希望主机受到监控 - 显示在网络拓扑上,并且能够通过 Check_MK 视图看到主机上的问题,但我不希望服务器每次都向我发送电子邮件主机断开连接之类的事情。
我是否错过了一些简单的事情,或者是否有一种迂回的方法来做到这一点?
我在我的环境中运行 Nagios Core 4.0.8,我正在寻找一种方法来将默认 url 从https://example.com/nagios更改为https://example.com。有没有办法做到这一点?
我正在使用openuse Leap 42.1。我已经在远程主机上安装了NRPE。我严格按照安装指南进行操作。但是,守护进程运行:
netstat -at | egrep "nrpe|5666"
tcp 0 0 *:nrpe *:* LISTEN
tcp 0 0 *:nrpe *:* LISTEN
Run Code Online (Sandbox Code Playgroud)
但是执行CHECK_NRPE给我以下错误:
/usr/local/nagios/lib/check_nrpe -H localhost
CHECK_NRPE: Error - Could not connect to ::e298:8aF0:2cdf:0: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
我看不出这里有什么问题。我尝试了几次安装。防火墙已关闭,但这不应该是问题。在其他任何地方都没有发现错误。我想念什么?谢谢