繁体   English   中英

Munin用于实时监控和Javascript图形化

[英]Munin for real-time monitoring and Javascript graphing

我与之合作的组织现在将Munin用作监视工具。 我们已经编写了一个服务,该服务可以流化有关可以由Javascript组件显示的服务的实时数据。 最好是,运营团队希望在Munin中显示这些指标,以避免使用其他系统进行实时监控。

  1. 使用Munin使用Javascript显示实时数据是否可行? 最好是我想将其创建为插件,但是我们也可以修改一些Munin HTML页面或类似内容,只需将Javascript组件添加到页面即可。
  2. 当流的某些属性超过某个阈值时指定警报/警报也是很好的。 鉴于(1)是可行的,则集成此想法的一个想法是编写一个外部应用程序,该应用程序读取实时流并标识何时应触发警报。 当检测到错误时,外部应用程序可以将此错误写入磁盘上的文件。 然后的想法是编写一个Munin插件,从该文件读取并在适用的情况下从Munin内触发更改/警报。
  1. Munin每五分钟会“轮询”机器以获取数据。 为了将流数据指向中央munin服务器,您需要在服务器上配置一个munin节点以流数据,并编写一个shell脚本(可能涉及curl和awk)来获取当前数据。

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

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

http://guide.munin-monitoring.org/en/latest/上阅读有关munin的工作原理的信息。

一个简单的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

将要为其制作图表的数据保存在数据库中。 编写另一个代码以从中制作一个图表,并使用ajax请求简单地更新您的图表。 使图表使用gd库的php代码,或者您可以通过svg xml输出来实现(我建议更多)。 只要有时间,就可以通过在ajax中请求脚本来获得脚本的结果。 那就是我所知道的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM