Munin用于实时监控和Javascript图形

时间:2014-05-20 05:48:43

标签: javascript real-time monitoring munin

我现在与之合作的组织使用Munin作为监控工具。我们编写了一个服务,可以流式传输有关Javascript组件可以显示的服务的实时数据。优选地,运营团队希望在Munin中显示这些指标,以避免使用另一个系统进行实时监控。

  1. 使用Jin使用Munin显示实时数据是否可行且可行?我最好将其设置为插件,但我们也可以修改一些Munin HTML页面或类似内容,只需将Javascript组件添加到页面即可。
  2. 当流的某些属性超过某个阈值时指定警报/ alamars也会很好。鉴于(1)是可行的,那么整合这个的一个想法是编写一个外部应用程序来读取实时流并识别何时应该触发警报。检测到错误时,外部应用程序可以将其写入磁盘上的文件。然后想法写一个Munin插件,从该文件中读取并触发Munin内的改变/警报(如果适用)。

2 个答案:

答案 0 :(得分:2)

  1. Munin"民意调查"每五分钟一次的数据机器。为了将流数据点提供给中央munin服务器,您需要在服务器上配置一个munin节点来传输数据,并编写一个shell脚本(可能涉及curl和awk)来获取当前数据。

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

  2. 设置警报很简单,对于返回的值,您需要在munin插件配置输出中设置警告和临界值。请记住,这些警告也是按照5分钟的时间表进行的,所以它不是"立即"。

  3. 了解munin如何运作http://guide.munin-monitoring.org/en/latest/

    一个简单的munin插件示例(系统加载插件的剥离版本):

    #!/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
    

答案 1 :(得分:0)

保存要在数据库中创建图表的数据。编写另一个代码来制作图表,然后使用ajax请求更新图表。 使图表使用gd库的php代码,或者你可以通过svg xml输出来做,我建议更多。 只要时间过去就可以通过在ajax中请求它来获得脚本的结果。 多数民众赞成我知道