我在 CentOs Web 服务器机器上运行 munin 相当顺利,除了“Tomcat Threads”插件的一个图表不完整。为什么会这样?我的服务器远没有超载。
参见不完整的图表:
当我运行以下命令时:
munin-run tomcat_threads
大多数情况下它都会失败,并给出相同的答案:
busy.value U
idle.value U
有时它会起作用,给我正确的值:
busy.value 1
idle.value 9
调试模式和日志没有显示任何有用的信息。
我在跑步
- CentOS 7.7.1908
- Apache 2.4.6
- Tomcat 9.0.16
- Munin-Node 2.0.51
答案1
我不是专家,但也许 tomcat_threads 插件代码中有一个拼写错误。我在以下句子中将“&&”替换为“||”,一切顺利:
if($xml->{'connector'}->{$CONNECTOR}->{'threadInfo'}->[0]->{'currentThreadsBusy'} &&
$xml->{'connector'}->{$CONNECTOR}->{'threadInfo'}->[0]->{'currentThreadCount'}) {
print "busy.value " . $xml->{'connector'}->{$CONNECTOR}->{'threadInfo'}->[0]->{'currentThreadsBusy'} . "\n";
print "idle.value " .
($xml->{'connector'}->{$CONNECTOR}->{'threadInfo'}->[0]->{'currentThreadCount'} -
$xml->{'connector'}->{$CONNECTOR}->{'threadInfo'}->[0]->{'currentThreadsBusy'}) . "\n";
} else {
print "busy.value U\n";
print "idle.value U\n";
}