2014-05-20 35 views
1

我正在使用的组织现在使用Munin作为监控工具。我们已经编写了一个服务,用于传输关于可以由Javascript组件显示的服务的实时数据。优选地,操作团队希望在Munin中显示这些度量以避免具有用于实时监控的另一个系统。Munin实时监控和Javascript图形

  1. 使用Javascript使用Munin显示实时数据可行吗?最好我想创建它作为一个插件,但我们也可以修改一些Munin HTML页面或类似的,只需将Javascript组件添加到页面。
  2. 当流的某些属性高于某个阈值时指定警报/ alamars也不错。考虑到(1)是可行的,那么整合这一点的一个想法将是编写一个外部应用程序,该应用程序读取实时流并识别何时应该触发警报。当检测到错误时,外部应用程序可以将其写入磁盘上的文件。然后这个想法是写一个Munin插件从这个文件中读取,并在适用的情况下从Munin内部触发更改/警报。

回答

0

在数据库中保存要制作图表的数据。编写另一个代码来制作图表,并简单地使用ajax请求更新您的图表。 使图表使用gd库的php代码,或者你可以通过svg xml输出来实现它,我建议它更多。 只要时间通过在ajax中请求它就可以得到脚本的结果。 ,这是我刚刚知道,每五分钟数据

2
  1. 穆宁“民意调查”的机器。为了将您的流式数据点提供给中央的munin服务器,您需要在服务器上配置一个输出数据的munin节点,并编写一个shell脚本(可能涉及curl和awk)来获取当前数据。

    在一个节点上创建一个munin插件非常简单,它只是一个shell脚本,它将可读形式的数据输出到标准输出。

  2. 设置警报很容易,因为您返回的值需要在munin插件配置输出中设置警告和临界值。请记住,这些警告也是5分钟的时间表,因此它不是“立即”的。

阅读上穆宁如何(剥离系统负载插件的版本)的作品以简单的穆宁插件http://guide.munin-monitoring.org/en/latest/

例子:

#!/bin/sh 
. $MUNIN_LIBDIR/plugins/plugin.sh 

if [ "$1" = "autoconf" ]; then 
     echo yes 
     exit 0 
fi 

if [ "$1" = "config" ]; then 

     echo 'graph_title Load average' 
     echo 'graph_args --base 1000 -l 0' 
     echo 'graph_vlabel load' 
     echo 'graph_scale no' 
     echo 'graph_category system' 
     echo 'load.label load' 
     print_warning load 
     print_critical load 
     echo 'graph_info The load average of the machine describes how many processes are in the run-queue (scheduled to run "immediately").' 
     echo 'load.info 5 minute load average' 
     exit 0 
fi 

echo -n "load.value " 
cut -f2 -d' ' < /proc/loadavg