AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1024634
Accepted
Paweł Zimny
Paweł Zimny
Asked: 2020-07-10 05:00:49 +0800 CST2020-07-10 05:00:49 +0800 CST 2020-07-10 05:00:49 +0800 CST

Zabbix 低级发现 - 每个进程的 CPU 使用率 - 具有相同键的两个项目

  • 772

我正在尝试使用 Zabbix 来监视 Windows Server 上不同进程的 CPU 使用情况。要监控的流程不是预先确定的。我想使用 LLD 来监控前 3 个 CPU 要求最高的进程。

目前,我创建了一个发现规则,该规则在给定时刻返回前 3 个 CPU 要求最高的进程,例如:

{
   {
      "name":"DistributedCacheService",
      "value":"9238.09375"
   },
   {
      "name":"System",
      "value":"6649.234375"
   },
   {
      "name":"svchost",
      "value":"5224.40625"
   }
}

然后我使用 json 路径和项目原型创建了宏,这就是我开始遇到问题的地方。我正在使用之前创建的 LLD 宏作为项目名称,并且正在使用 system.run 命令来获取关键字段中的值。项目名称应该是进程名称和项目键,值应该是该进程的CPU使用率。[在此处输入图像描述][1] [1]:https://isstatic.askoverflow.dev/HuNbd.png

测试发现规则和项目原型时,一切运行正常,但是当我尝试运行该发现规则时,我收到错误

"无法创建项目:具有相同键的项目 "system.run[powershell.exe -nolog -command "(Get-Process | Sort-Object CPU -desc | Select-Object -index 0 | Format-Table -Aut... ]"已经存在。 "

首先,没有其他项目具有相同的密钥。

其次,当我的发现规则将检测到其他进程时,必须创建具有相同密钥的其他项目。其他名称,但相同的键

甚至可以使用 LLD 创建进程 CPU 使用情况监控吗?我不想被预定义的流程卡住,我想用 LLD 动态添加它们。

windows monitoring powershell process zabbix
  • 2 2 个回答
  • 1768 Views

2 个回答

  • Voted
  1. Best Answer
    Garrett
    2020-07-13T04:01:03+08:002020-07-13T04:01:03+08:00

    Zabbix 要求单个主机的密钥是唯一的,因此如果您按名称存储进程( https://www.zabbix.com/documentation/current/manual),当存在多个相同命名的进程时会遇到问题/配置/项目/项目)

    Get-Process | sort "CPU" -Descending | select -First 3
    
     NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
     ------    -----      -----     ------      --  -- -----------
        117   247.48     170.53   3,682.67    2232   1 Minesweeper
         47   564.25     528.42   3,491.36   15768   1 calc
         33   126.67      93.09   1,179.27   12960   1 Minesweeper
    

    进程名称不需要是唯一的,因此 Get-Process 返回具有重复 ProcessName 值的对象。

    您可以添加-Unique到selectcmdlet 以删除重复项。这可能会隐藏您要记录的数据。

    Get-Process | sort "CPU" -Descending | select -First 3 -Unique
    
     NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
     ------    -----      -----     ------      --  -- -----------
        117   248.00     171.31   3,683.27    2232   1 Minesweeper
         47   563.74     527.91   3,491.36   15768   1 calc
    

    Zabbix 团队似乎在这里提供了解决此问题的方法:https: //support.zabbix.com/browse/ZBXNEXT-164

    UserParameter=top,top -n 1 -b|head -20

    • 1
  2. Kevin Yan
    2020-07-30T17:19:34+08:002020-07-30T17:19:34+08:00

    对于您创建的每个项目,您必须创建一个新的 keyitem,例如 get.top.proccess.[{#Name}]。这样,每个项目都有一个不同的关键项目,因为变量会发生变化。

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve