标签: monitoring

适用于 SMARTd / smartmontools 的最佳 Nagios 插件?

我已经在服务器上安装了 SMARTd/smartmontools,我想通过 Nagios 对其进行监控。但是在 Monitoring Exchange 上,我看到了几个插件

哪些是好的?你会推荐什么?

nagios 服务器和带有 smartd/harddisks 的服务器都是 Ubuntu 服务器。

monitoring hard-drive smart nagios

8
推荐指数
1
解决办法
1万
查看次数

可以将 Monit 配置为从不取消监视/超时服务吗?

如果服务失败几次,Monit 似乎会放弃重新启动服务,并取消对其进行监控。我在文档中找不到任何关于时间或原因的细节。

我的 Monit 配置将设置如下:

set daemon 10
set logfile /var/log/monit.log
set statefile /var/lib/monit/monit.state
set alert foo@example.com not { nonexist, action, instance }
include /etc/monit/conf.d/*
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的 Monit 规则集的示例:

check process myservice
  with pidfile /var/run/myservice/myservice.pid
  start program = "/home/myservice/current/start-myservice.sh"
    as uid myservice and gid myservice
  stop program = "/home/myservice/current/stop-myservice.sh"
    as uid myservice and gid myservice
  mode active
Run Code Online (Sandbox Code Playgroud)

在我的环境中,我希望它无限期地继续尝试轮询间隔。有没有办法将 monit 配置为从不停止监视服务,即使它没有成功启动?

linux monitoring monit

8
推荐指数
2
解决办法
6555
查看次数

Nagios 对 WAN 的“监控”是理想的吗?

刚开始在一家新公司工作,我的第一个任务是寻找内部监控系统的替代方案。

他们当前的解决方案是一个 .Net 应用程序,它通过 WAN 检查各种设备(因为他们是一家提供 24/7 支持/“维护”的 IT 咨询公司)。设备范围从路由器/交换机/打印机到 MS 服务器和服务。

在阅读了网站上的无数帖子并在谷歌上广泛搜索之后,似乎一致认为某种 Nagios/Munin 混合是要走的路。

这让我想到了我的问题:

A) 是否可以在公司本地运行 Nagios 服务器并通过 WAN 监控各种外部站点?(他们不希望每个站点都有本地 Nagios 服务器,因为大多数站点相对较小(10-25 台主机)并且站点数量非常大(75-100))。

B) 如果是这样,代理将如何联系 Nagios 后端?通过SSH?HTTP?

C) 除了易受 WAN 链接故障的影响之外,这种解决方案的直接缺点是什么?

感谢任何反馈,我提前为任何误解道歉,因为我对这个行业很陌生。

monitoring nagios

8
推荐指数
1
解决办法
6334
查看次数

Cron 作业检查 Git 存储库中的更改

我们刚刚将服务器配置移至 Git 存储库。因此,不应在任何存储库文件夹中进行任何更改。我在考虑如何设置一个 cron 作业来检查任何未提交的更改。

如何设置 cron 作业来检查 Git 存储库中的更改?

Grepinggit status命令的输出可能只是这样做。Grep 和 cron 工作不是我的强项。以下是一些示例输出git status

将包含 git 存储库(例如/path/gitrepo/)的文件夹与已更改的文件保持一致

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   apache2/sites-enabled/000-default
#
# Untracked files:
#   (use "git add <file>..." to include in what …
Run Code Online (Sandbox Code Playgroud)

monitoring grep git cron

8
推荐指数
2
解决办法
7906
查看次数

如何阻止来自特定用户代理的 Nginx 访问日志语句

我希望关闭来自 http 用户代理的特定请求的 Nginx 访问日志文件的登录。

基本上来自 Amazon ELB 健康检查和我们的外部 (Pingdom) 监控。由于这些每隔几秒钟就会出现一次,因此很难对日志进行排序。

"GET / HTTP/1.1" 200 727 "-" "ELB-HealthChecker/1.0"
"GET /login HTTP/1.1" 200 7492 "-" "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)"
Run Code Online (Sandbox Code Playgroud)

我能够阻止图像文件的日志记录,但没有看到传入请求的任何内容:

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml|svg)$ {
        access_log        off;
        expires           30d;
}
Run Code Online (Sandbox Code Playgroud)

提前致谢!


所以我尝试了@Gnarfoz 的推荐,但有一些有趣的副作用。虽然没有记录这两个“健康检查”,但 Pingdom 开始将服务器识别为 DOWN,即使它已启动并正在运行。这很有趣,因为负载均衡器没有,如果它有,它就会删除我们正在测试的节点。

我将 MAP 部分放在日志下方的 HTML 块中:

access_log /www/access.log;
error_log /www/error.log;

map $http_user_agent $ignore_ua {
            default                 0;
            "~Pingdom.*"            1;
            "ELB-HealthChecker/1.0" 1;
    }
Run Code Online (Sandbox Code Playgroud)

我将 IF 语句放在我的服务器块中,使用默认位置:

location / {
                try_files $uri $uri/ /index.php?$args;

                if ($ignore_ua) {
                       access_log off;
                }
        }
Run Code Online (Sandbox Code Playgroud)

当我这样做时,Pingdom 开始在错误日志文件中生成 …

monitoring configuration nginx logging amazon-elb

8
推荐指数
1
解决办法
7292
查看次数

将 runit 与 monit 结合使用有什么意义?

我看到很多人将 monit 与 runit 结合使用。那不是多余的吗?使用 runit 又有什么意义呢?是不是因为它在处理服务时更可靠(因为它不依赖于 pidfiles)?

谢谢!

linux unix monitoring monit runit

8
推荐指数
1
解决办法
1895
查看次数

何时更新即将到期的 SSL 证书的常见做法是什么?

最近 Windows Azure 存储 SSL 证书过期,这导致了很多问题。现在,任何用户都可以检索该证书,因此每个人都可能注意到它即将过期。

现在更换即将到期的证书的典型时间范围是多少?是到期前一个月还是到期前一周或任何其他时间?

换句话说,假设我正在验证第三方服务证书并看到它在 N 天后过期。如果我提前一天注意到它可能为时已晚 - 我需要时间联系服务所有者,他们需要时间重新颁发证书并更换它。如果我提前一个月注意到 - 现在发出警报可能还为时过早 - 也许服务所有者将稍后更换证书。

N 的值是多少,如果 SSL 证书将在 N 天后到期,则服务所有者很可能已经忘记了它的到期时间?何时更新即将到期的 SSL 证书的常见做法是什么?

monitoring ssl ssl-certificate

8
推荐指数
3
解决办法
1674
查看次数

HDD SMART 数据的可靠性如何?

根据SMART数据,你可以判断一个磁盘的健康状况,至少是这个想法。例如,如果我sudo smartctl -H /dev/sda在我的 ArchLinux 笔记本电脑上运行,它会说硬盘驱动器通过了自检,并且基于此它应该是“健康的”。

我的问题是这些信息有多可靠,或者更具体地说:

  • 如果根据 SMART 数据该磁盘是健康的,尽管如此,该磁盘突然发生故障的几率是多少?这假设故障不是由于某些无法预测的灾难性事件造成的,例如笔记本电脑掉在地板上导致驱动器磁头撞击磁盘。
  • 如果 SMART 数据没有表明磁盘状况良好,那么磁盘在一段时间内发生故障的几率是多少?是否有可能出现误报以及这些误报有多普遍?

当然,无论如何我都会备份。我主要是好奇。

monitoring hard-drive smart

8
推荐指数
1
解决办法
1万
查看次数

即使我向它发送数据,Graphite 对所有数据点都显示“无”

我已经通过 Puppet ( https://forge.puppetlabs.com/dwerder/graphite ) 和 nginx 和 PostgresSQL安装了 Graphite 。当我手动发送数据时,它会创建指标,但它的所有数据点都是“无”(也称为空)。如果我运行 Graphite 附带的 example-client.py,也会发生这种情况。

echo "jakub.test 42 $(date +%s)" | nc 0.0.0.0 2003 # Carbon listens at 2003
# A minute or so later:
$ whisper-fetch.py --pretty /opt/graphite/storage/whisper/jakub/test.wsp | head -n1
Sun May  4 12:19:00 2014    None
$ whisper-fetch.py --pretty /opt/graphite/storage/whisper/jakub/test.wsp | tail -n1
Mon May  5 12:09:00 2014    None
$ whisper-fetch.py --pretty /opt/graphite/storage/whisper/jakub/test.wsp | grep -v None | wc -l
0
Run Code Online (Sandbox Code Playgroud)

和:

$ python /opt/graphite/examples/example-client.py 
# Wait until it …
Run Code Online (Sandbox Code Playgroud)

monitoring graphite

8
推荐指数
1
解决办法
1万
查看次数

如何最好地监控logstash?

我在邮件列表上看到过这个问题几次,但没有一个满意的答案。

如何最好地监控管道没有卡住?客户端 -> logstash -> elasticsearch。

Logstash 尤其是 elasticsearch 容易出现资源匮乏。他们都非常擅长从他们离开的地方开始,但是人们究竟是如何观察他们的观察者的呢?

欢迎提出意见。

monitoring elasticsearch logstash

8
推荐指数
1
解决办法
5062
查看次数