【问题标题】:Is possible to order Zabbix items by latest value?是否可以按最新值订购 Zabbix 商品?
【发布时间】:2020-06-03 16:08:56
【问题描述】:

我有一个 Zabbix 服务器监控超过 600 台服务器。

我需要创建一些仪表板或屏幕,我可以查看哪些是消耗更多 CPU、内存、带宽的前 10 台服务器......

就像从所有服务器获取最新数据并按值 desc 排序,限制为 10 行:SELECT hostname FROM hosts ORDER BY cpu_usage DESC LIMIT 10

我不确定使用 Zabbix 是否可以做到这一点。如果不可能,你建议使用什么,Grafana 是一个不错的选择?

【问题讨论】:

    标签: networking zabbix network-monitoring


    【解决方案1】:

    这个问题很广泛,我会尝试给出一些建议(其中大多数与编程无关,所以没有 100% 适合 SO...)。

    首先,您只能对同类的主机项目进行分组:您不能将 Windows CPU 使用率与 Unix 平均负载混合在一起,而您可以将不同操作系统的带宽使用率混合在一起(当然要检查Mbps 和 MBps 单位)。

    Grafana 很棒,我将它用于很多仪表板,但模板机制取决于主机、组、应用程序和项目名称,而不是项目值。

    您需要一个特定的仪表板,最好的做法是编写自己的工具,但请切勿直接从数据库中选择。您应该使用APIs,特别是item.gethistory.gettrend.get

    历史和趋势的区别很关键,可以看here

    对于大多数现代语言,您可以找到libraries,我对 python 很熟悉,但您当然可以使用 JS、Ruby、PHP 等。

    【讨论】:

    • 感谢您的回答!是的,我没有向 SQL 发送直接查询,这只是一个示例。所有服务器都运行 Linux。例如,我没有找到任何方法来获取 Zabbix 中处理器负载较高(每个内核平均 5 分钟)的 10 台服务器。使用 Grafana,有可能吗?所有服务器都在同一个组中或使用相同的模板 (Linux)。
    • 如果您搜索“grafana top limit”或类似内容,您会在论坛中找到很多信息,但最常见的答案是除非您编写自己的数据源或自己的查询,否则这是不可能的.正如我所说,我认为 API 是最好的方法:调用 item.get 根据您的组和项目名称进行过滤,然后调用 history.get 以在最后 N 分钟内获取所有这些项目。然后你有你的数据和项目ID,你可以用chart2.php绘制它,在这里查看我的答案:stackoverflow.com/questions/54972209/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-02
    相关资源
    最近更新 更多