我有几台 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)