我有几台 Ubuntu 服务器(8.10、9.10)设置为自动安装安全更新。有时这些更新需要重新启动系统,此字符串显示在motd:
*** System restart required ***
Run Code Online (Sandbox Code Playgroud)
为了获得有关这些的通知,我计划编写一个 Nagios 测试来监控服务器是否需要重新启动。所以,我的问题:
有没有比解析更好的方法/etc/motd来确定是否需要重新启动?
背景
我们正在使用 nagios 来监控我们的基础设施。我们目前没有版本控制下的 nagios 配置,我们有两个人管理 nagios 配置。因此,我正在努力将我们的 nagios 配置放入中央 git 存储库中,使用一些钩子进行语法检查,然后如果配置看起来不错,则使它们“处于活动状态”。我正在使用这个人的帖子作为起点。
我试图实现的一般工作流程是:
git push origin master 到远程仓库。git pull将新代码放入 live nagios 配置目录中,然后重新启动 nagios。但是,当我由于 nagios 配置中的语法错误而拒绝 git push 时,我遇到了一个奇怪的行为。我期望发生的是,如果我拒绝钩子,则尝试推送应该使存储库保持原样,原样。不过,情况似乎并非如此。以下是我所看到的详细信息:
问题
我在本地编辑 nagios 配置,故意包含一个语法错误,添加,然后在本地提交:
host:nagios erik$ vi nagios.cfg
host:nagios erik$ git add nagios.cfg
host:nagios erik$ git commit -m "syntax error"
[master da71aed] syntax error
1 files changed, 1 insertions(+), …Run Code Online (Sandbox Code Playgroud) 我正在使用 puppet(理论上)让 npcd 在安装时启动,但是在 Ubuntu 上,该服务随 RUN="no" 的 /etc/default/npcd 中的默认设置一起安装:
$ cat /etc/default/npcd
# Default settings for the NPCD init script.
# Should NPCD be started? ("yes" to enable)
RUN="no"
# Additional options that are passed to the daemon.
DAEMON_OPTS="-d -f /etc/pnp4nagios/npcd.cfg"
Run Code Online (Sandbox Code Playgroud)
我认为这个 puppet 配置块会处理以下事情:
service { "npcd":
enable => true,
ensure => "running",
require => Package["pnp4nagios"],
}
Run Code Online (Sandbox Code Playgroud)
但可惜,它没有,而且没有实际重写 /etc/default 中的文件,我不知道该怎么做。有没有一种直接的方法来启用我没有看到的服务?
作为记录,我使用的是 Ubuntu 12.04.2 和 puppet 版本 3.1.0。
Nagios XI(这是 Nagios 的商业实现)可以根据阈值条件绘制图表并发送警报。我无法理解 Nagios 和 Cacti 之间的区别。关于两者之间的差异有什么想法吗?
我宁愿不重复努力。
我已经安装NAGIOS了centos并且它工作正常。
我想尝试来自 nagios 用户的命令,但是当我这样做时
su nagios 从用户然后得到这个
This account is currently not available.
但网络界面工作正常。所以我想知道是什么问题
我正在努力使用 DNS 记录为 Nagios 设置主机自动发现。
然而,当我尝试使用 dig axfr 进行区域传输 (dig axfr local.domain.com) 时,我得到以下输出:
[jwestbury@nagiosv local]# dig AXFR local.domain.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> AXFR local.domain.com
;; global options: +cmd
; Transfer failed.
Run Code Online (Sandbox Code Playgroud)
我正在查询的 DNS 服务器在其日志中没有显示此查询的任何内容。如果我将域更改为不存在的域,我会在事件查看器的 DNS 服务器日志中看到一个条目,因此我知道查询正常命中 DNS 服务器。
为了允许从 Nagios 机器进行 AXFR 传输,我需要做一些特殊的事情吗?或者我应该在其他地方查找 Nagios 计算机上的日志以指示我尝试执行传输时可能发生的情况?
任何帮助,将不胜感激。谢谢。
我有一个分布式 Icinga 设置,设置如下:
中央
仅接收被动检查结果
分布式A
227台主机
835服务
分布式B
67台主机
243服务
在中央服务器在任何时候都坐落在1秒以下的平均潜伏期检查。分布式 B目前的平均检查延迟约为 10 秒左右,但随着我们添加更多检查,这一数字也在攀升。
分布式 A有一些严重的检查延迟问题(有时长达 700 秒,重新加载后更少,但它会重新建立),我似乎无法确定。这是当前的 icingastats 输出:
Icinga Stats 1.10.3
Copyright (c) 2009 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 02-11-2014
License: GPL
CURRENT STATUS DATA
------------------------------------------------------
Status File: /var/lib/icinga/status.dat
Status File Age: 0d 0h 0m 3s
Status File Version: 1.10.3
Program Running Time: 1d 17h 30m 44s
Icinga PID: 1160
Used/High/Total Command Buffers: …Run Code Online (Sandbox Code Playgroud) 我一直在关注本教程:
$ sudo systemctl start nagios
Failed to start nagios.service: Unit nagios.service failed to load: No such file or directory.
Run Code Online (Sandbox Code Playgroud)
问题的原因是什么?
我有:
$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.0.8
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-12-2014
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Read object config files okay...
Running pre-flight check on configuration data...
Checking objects...
Checked 8 services.
Checked 1 …Run Code Online (Sandbox Code Playgroud) 当我配置 pnp4nagios 时,发生了以下问题。
PHP GD 扩展?PHP GD 扩展不可用
PHP zlib 扩展?PHP zlib 扩展不可用
PHP套接字扩展?PHP 套接字扩展不可用
Apache 重写模块?Apache mod_rewrite 未启用
谷歌告诉我也许我的 php 在安装过程中坏了。另外,我得到了这个页面启用-mod-rewrite-on-ubuntu
但是,我的服务器是 CentOS,我执行了命令“a2enmod rewrite”,结果是“-bash: a2enmod: command not found”……
我能做什么?谢谢。
我正在用 bash 编写一个 collectd nagios 自定义检查脚本。我遇到的问题是 nagios 将主机名显示为 host.name.domain 但 collectd 将 WSP 文件保存为 host_name_domain。我的问题是如何使变量将从 nagios (host.name.domain) 获取的主机名转换为 collectd 格式 (host_name_domain)。
这是必须发生转换的部分。所以 WSP_PATH 会在变量 $NHOST 中给出主机名的 collectd 格式
WSP_PATH=/var/lib/carbon/whisper/ctd/$NHOST/uptime/uptime.wsp
Run Code Online (Sandbox Code Playgroud)