我有几个熵密钥,前面有 egd,然后全部由 haproxy 进行负载平衡。然后我有许多客户端计算机使用 haproxy 服务 IP 作为网络熵源。我不知道他们请求了多少熵。
熵密钥可以产生有限数量的可用熵。规格说明最低约为 30 千比特/秒。据我所知,熵密钥无法查询请求的数量。EGD 协议似乎很难嗅探以找到此信息。客户端可以请求可变数量的熵,并且他们可能不会得到相同数量的熵。
是否有人找到一种简单的方法来测量从熵密钥请求了多少?
了解这一点会很好,这样就可以计划何时需要额外的钥匙,并发现失控的客户。
答案1
我想到的唯一两件事是尝试测量你的熵服务器的响应时间(如果它不能跟上,延迟应该会显著增加)或汇集/proc/sys/kernel/random/entropy_avail
和监控你有多少熵(我假设这egd
是使用/dev/random
而不是直接使用硬件)。
答案2
看起来源 tarballekeyd
有一个 munin 插件,可以提供 ekey 统计信息。
即使您没有运行 munin,我想也可以将脚本推断为适合您的基础设施的东西。
我认为我们都知道该设备和软件的作者,因此可能值得敦促他们。:-)
答案3
尝试:
dd if=/dev/random of=/dev/null bs=1K count=1M
当它完成时,dd
将报告读取带宽,这样你就会知道提供的熵量。你可以在服务器(断开与客户端的连接)中运行它来测量熵的产生,并在客户端中运行它来测量它们接收了多少。
使用信号终止正在运行的dd
进程SIGUSR1
将指示它报告其 I/O 统计信息,因此您无需等待它完成(请参阅man dd
)。
nethogs
此外,由于从服务器读取了熵(例如: plus netstat
),客户端的下载带宽消耗应该会增加。