如果你看过我的视频,比如最近的我的家庭网络之旅那么您可能已经看到了我定制的Observium仪表板。每天我都会被问很多次,我是如何在YouTube评论、电子邮件和极客酒吧的评论中在Observium上制作这个定制仪表板的。原因很简单。Observium虽然拥有令人敬畏的能力和绝对的酷性,但它缺少一个简单的功能:创建定制仪表板屏幕的能力。我已多次亲自向作者发送此请求,我的同行也多次发送此请求。这是一个耻辱,因为它肯定会有助于销售产品。manbext登录页

我的自定义Observium仪表板

我在家里使用的Observium仪表盘安装非常简单。我只是想要一些能反映我家周围基本情况的东西。我特别感兴趣的是我的互联网连接的性能报告pfSense防火墙,我的ESXi服务器的状态天气学RS2416+NAS设备,以及我的Tripp-Lite架装安装UPS

我在一台廉价的显示器上安装了一个运行Windows的显示器千兆白利度我从亚马逊得到以下配置:

  • 我将Windows配置为自动登录到一个虚拟帐户(本地帐户)。
  • 我用-kiosk开关将Chrome添加到启动文件夹中,以全屏运行Chrome。
  • 我将Chrome的默认主页设置为我自定义的Observium仪表盘的URL。

这真的很好,因为在电源故障后,这台PC(不是在UPS上)将重新启动,并立即从我的服务器(在UPS上)加载我的NOC页面。我真的工作得很好,它也照顾重启时,Windows 10自动安装更新。PC只是重新启动回到这个NOC显示。我把Gigabyte Brix尼龙搭扣固定在显示器后面,不用键盘或鼠标就能运行。它放在我书柜的一个架子上。

你可以看到我的仪表盘。(点击放大)

如何定制Observium仪表盘

由于所有的请求,我决定花一分钟写一个快速教程,你需要做一个定制仪表板。仪表板的核心可以位于Observium服务器上,也可以完全位于其他地方。要将其托管在Observium服务器上,只需将文件放在Observium HTML文件夹的根目录中。这让很多人感到害怕,所以干脆启动另一个web服务器VM (Windows或Linux都可以),并将客户的Observium仪表盘页面放在它的HTML目录的根目录中。

我不打算介绍我如何设置我的显示PC,但网上有数百篇文章教你如何自动登录和自动启动Chrome浏览器,如果你需要帮助。此外,我不打算提供HTML教程,但您可能需要一些基本的HTML专业知识来制作一个像样的仪表板。

为自定义仪表板配置观察

为了让定制的Observium仪表板工作,您需要在Observium中更改一些设置。这需要在配置文件中完成,或者在web配置页面中完成,具体取决于您安装Observium的方式。

允许在不登录的情况下加载图形

您需要更改的最重要设置是允许在不登录的情况下加载图形。否则,在尝试显示图形时,您的NOC显示器将仅显示权限错误。有些人可能认为这是一个安全问题,但事实并非如此。Observium允许您设置IP地址或IP地址范围,允许您在不登录的情况下查看图形。在我的家庭环境中,我只是让所有的IP地址访问图表。如果您担心这个问题,或者这是一个公司网络,只需将您的NOC显示器的IP地址放在第二个框中,您就可以了。

有时,Observium似乎需要几分钟才能跟上这一变化,因此,如果您发现问题,请给它时间运行下一个轮询周期(大多数情况下大约5分钟)。

获取Observium Image的url

这是observer开发者的另一个烦人之处。它们使获取用于远程嵌入式页面的图像URL变得不容易。你说“等等,迈克!在每个图表页面上都有一个链接,上面写着“链接到图表!”哦,是的,你是说这个:

这种联系对我们的用途来说有一个根本性的缺陷。它连接到时间图中的一个点。换句话说,如果你使用这个链接,它将永远显示与现在显示的相同的数据。24小时后,它将显示24小时前的数据。一年后,它将显示一年前的数据。对于我们的仪表盘,我们需要显示过去24小时(或您决定的任何数字)滚动. 这意味着每次重新加载图形时,它都将显示当前数据!好消息是,它很容易修复!

获取滚动的Observium图像URL

点击“链接到图形”。然后将URL复制并粘贴到文本或HTML编辑器中。它应该是这样的:

http://nms/graph.php?type=port_bits&to=1499801167&;amp;id=33&;amp;from=1499714767&;amp;高度=300&;amp;宽度=1152

在这个URL中,查询字符串上有几个参数,例如类型、id、起始、结束、高度和宽度。您可以修改所有这些,以获得您真正想要的图形,并将其大小调整为您希望主页的尺寸。也可以通过在查询字符串的末尾添加&legend=no来关闭图例。

我们现在需要关注的两个主要问题是“from”和“to”。默认情况下,Observium将图形开始和结束的实际Unix时间戳放在URL中。这就是它们在时间上成为固定点的原因。对于我们的定制Observium仪表板,我们将使其成为实时的!两个参数“from”和“to”可以采用其他类型的输入。例如,设置“from=-24h”告诉图形显示24小时前的日期。设置“to=now”告诉图形显示当前时间/日期之前的数据。同时设置这两个选项将生成一个图形,显示从24小时前到现在的数据。此数据将在每次加载页面时刷新!该URL如下所示:

http://nms/graph.php?type=port_bits&to=现在&;amp;amp;id=33&;amp;amp;from=-24小时&;amp;amp;高度=300&;amp;amp;宽度=1152

一旦你知道了诀窍,就不难做了!当然,您可以根据需要制作任意时间长度的图形-6小时持续6小时,或-1小时持续1小时。你可以决定什么适合你。

把它们放在一起

正如我前面提到的,创建网页超出了本文的范围,但其要点是将这些图像简单地嵌入到一组div表中的空白网页上。您甚至可以将它们嵌入WordPress页面或其他CMS中。如果您需要一个基本的HTML页面开始,您可以查看推特的引导.Bootstrap提供了一个很好的框架。

嵌入的图像

嵌入代码看起来像这样。将它放在和容器之间的HTML中。

, lt; img src = " http://nms/graph.php?type=port_bits&音箱;音箱;音箱;= now&音箱;音箱;音箱;id = 33, amp;音箱;音箱;从= -24 h&音箱;音箱;音箱;身高= 300,amp;音箱;音箱;宽度= 1152 " /和gt;

自动刷新页面

您可能希望此网页在计时器上自动刷新。有一些GoogleChrome插件可以做到这一点,但让页面自行刷新非常简单。将此代码添加到页面的标题部分:

<;meta http equiv=“Content Type”Content=“text/html;charset=utf-8”/>&书信电报;meta Http Equiv=“缓存控制”Content=“无缓存”>&书信电报;meta Http Equiv=“Pragma”Content=“无缓存”>&书信电报;meta Http Equiv=“Expires”Content=“0”>&书信电报;meta Http Equiv=“Pragma指令:无缓存”>&书信电报;meta Http Equiv=“缓存指令:无缓存”>&书信电报;meta http equiv=“刷新”content=“60”>;

然后将此代码添加到/BODY标记之前的任意位置: