我还没有找到任何相关方法。当此进程使用的带宽超过 100Mbit/s(或例如 10k PPS)时,我如何自动发送一封电子邮件(通过 crontab),其中包含进程 ID、用户以及进程名称?
谢谢你的帮助,奥利维尔
答案1
如果你找不到可以为你做这件事的东西,那么你可以选择编写利用一些工具的脚本,并将其放入 cron 中(如果你愿意的话):
1.使用iptraf将每个端口的流量打印到日志文件
2.读取 1000Mbit/s 带宽限制的日志文件并获取正在使用该带宽的端口
3.lsof 该端口来查找使用它的进程。
4.将端口和ID邮寄给任何人。
答案2
我认为这是您需要自动执行的第一件事。您需要一些可以监控并在超过某些值时发出警报的监控工具。您没有写操作系统,那么我告诉您有关 Linux 的监控工具。您可以使用 munin ,这非常易于使用,但可扩展性不是很高。Zabbix 更具可扩展性。对于监控网络,您可以使用 Nagios 或 MRTG。Cacti 可用。只需选择其中之一。如果您需要更多信息,请阅读文章如何监控 ubuntu: http://www.ubuntugeek.com/bandwidth-monitoring-tools-for-ubuntu-users.html
在某些监控工具下,通常您可以配置电子邮件触发器,当出现问题时,向指定用户发送电子邮件。您定义的某些东西是错误的:)
重新开发轮子不是一个好主意。使用监控 :P