标签: monitoring

使用 curl 对网页进行健康检查

我想通过调用特定的 url 来对服务进行健康检查。感觉最简单的解决方案是使用 cron 每分钟左右进行一次检查。如果出现错误,cron 会向我发送电子邮件。

我尝试为此使用 cUrl,但我无法让它仅在出现错误时输出消息。如果我尝试将输出定向到 /dev/null,它会打印出进度报告。

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5559  100  5559    0     0   100k      0 --:--:-- --:--:-- --:--:--  106k
Run Code Online (Sandbox Code Playgroud)

我尝试查看 curl 选项,但我找不到任何适合您希望它对成功保持沉默但对错误发出噪音的情况的任何内容。

有没有办法让 curl 做我想做的事,或者我应该看看其他一些工具吗?

monitoring curl

50
推荐指数
5
解决办法
24万
查看次数

确定负责高 I/O 的特定文件

这是一个简单的问题,但我第一次不得不真正解决它:找到哪些特定文件/inode 是大多数 I/O 的目标。我希望能够获得一般系统概述,但如果我必须提供 PID 或 TID,我可以接受。

我想不用strace对弹出的程序做任何操作iotop。最好使用与iotop按文件逐项列出的工具相同的工具。我可以lsof用来查看邮递员打开了哪些文件,但它不指示哪个文件正在接收 I/O 或接收了多少。

我在其他地方看到有人建议使用它,auditd但我不想这样做,因为它会将信息放入我们的审计文件中,我们将其用于其他目的,这似乎是我应该能够研究的问题通过这种方式。

我现在遇到的具体问题是 LVM 快照填充太快。我已经解决了这个问题,但希望能够以这种方式修复它,而不是仅仅ls对所有打开的文件描述符进行分析/proc/<pid>/fd以查看哪个增长最快。

linux monitoring io profiling

45
推荐指数
2
解决办法
5万
查看次数

是否有可能找出哪个程序或脚本创建了给定的文件?

我的主目录中突然出现了三个文件,分别是“client_state.xml”、“lockfile”和“time_stats_log”。最后两个是空的。我想知道他们是怎么到那里的。这不是第一次发生,但最后一次是几周前;我删除了文件,没有任何损坏或抱怨。我一直想不起来我在报道的时候在做什么stat $filename。有什么办法可以找出他们来自哪里?

或者,有没有办法监视主目录(但不是子目录)以创建文件?

monitoring files

39
推荐指数
3
解决办法
3万
查看次数

显示进程的网络连接

有没有办法显示进程的连接?类似的东西:

show PID
Run Code Online (Sandbox Code Playgroud)

其中show是执行此操作的命令,并且PID是进程的 ID。我想要的输出由进程的所有连接(实时)组成。例如,如果进程尝试连接到173.194.112.151,则输出为173.194.112.151

一个更具体的 Firefox 示例:

show `pidof firefox`
Run Code Online (Sandbox Code Playgroud)

使用 Firefox,我首先访问google.com,然后访问unix.stackexchange.com,最后访问192.30.252.129。当我关闭浏览器时,输出必须是:

google.com
stackexchange.com
192.30.252.129
Run Code Online (Sandbox Code Playgroud)

(显然对于浏览器这个输出是不现实的,因为还有很多其他相关的连接,但这只是一个例子。)

networking process monitoring

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

如何使用 inotifywait 监视目录以创建特定扩展名的文件

我看过这个答案

您应该考虑使用 inotifywait,例如:

inotifywait -m /path -e create -e moved_to |
    while read path action file; do
        echo "The file '$file' appeared in directory '$path' via '$action'"
        # do something with the file
    done
Run Code Online (Sandbox Code Playgroud)

我的问题是,上面的脚本监视目录以创建任何类型的文件,但是如何修改inotifywait命令以仅在创建特定类型/扩展名的文件(或移动到目录中)时报告 - 例如它应该.xml创建任何文件时报告。

我试过的:

我已经运行了inotifywait --help命令,并阅读了命令行选项。它具有--exclude <pattern>--excludei <pattern>命令来排除某些类型的文件(通过使用正则表达式),但我需要一种方法来只包括某些类型/扩展名的文件。

shell filesystems monitoring shell-script inotify

35
推荐指数
5
解决办法
9万
查看次数

我在哪里可以看到内核杀死的进程列表?

有什么方法可以检查内核杀死了我的哪些进程?有时我登录到我的服务器,发现应该运行一整夜的东西在 8 小时后停止了,我不确定是应用程序在做还是内核在做。

linux process logs kill monitoring

34
推荐指数
2
解决办法
6万
查看次数

如何监控传入的http请求

如何监控传入的HTTP端口请求80?我已经使用DynDNS和在我的本地机器上设置了网络托管Nginx我想知道每天在我的服务器上发出多少请求。

目前我正在使用这个命令:

netstat -an | grep 80
Run Code Online (Sandbox Code Playgroud)

monitoring web

33
推荐指数
3
解决办法
15万
查看次数

找出每个 IP 的网络流量

我们有一台中央服务器,用作互联网网关。该服务器连接到互联网,我们使用 iptables 转发流量并在网络中的所有计算机之间共享互联网连接。这工作得很好。

但是,有时互联网会变得很慢。最有可能的用户之一正在下载视频或其他大文件。我想查明罪魁祸首。我正在考虑安装一个工具,可以通过 IP 监控通过服务器的网络流量。最好是实时以及累计总数(再次通过 IP)。有什么推荐的工具吗?最好是 Ubuntu 存储库中的东西。

networking ip monitoring bandwidth router

32
推荐指数
3
解决办法
6万
查看次数

进程监视器等效于 Linux?

是否有 Unix/Linux 等效的Process Monitor,无论是 GUI 还是 CUI?

如果它有所作为,我正在研究 Ubuntu,但如果其他系统(Mac、Fedora 等其他 Linux 变体等)有等价物,那么了解其中任何一个也很有用。

编辑:

Process Monitor用于监视系统调用(例如文件创建或写入),而 Process Explorer用于监视进程状态(类似于 System Monitor)。我要的是前者,不是后者。:-)

linux process monitoring software-rec debian

31
推荐指数
3
解决办法
2万
查看次数

如何在目录内容更新时运行命令?

有一个目录,A其内容经常被其他人更改。

我创建了一个个人目录B,用于保存A.

目前,我只是偶尔运行rsync需要的档案从备份AB。不过,我担心一些文件将被添加的可能性A,然后从取出A之前,我对他们在复制到机会B

防止这种情况发生的最佳方法是什么?理想情况下,我希望每次A更改内容时都运行当前的备份脚本。

backup monitoring directory files

31
推荐指数
3
解决办法
3万
查看次数