如何编写check_mk手动检查

问题描述 投票:0回答:2

我有一个python脚本,它检查进程导入子进程

s = subprocess.check_output('tasklist', shell=True)
if "cmd.exe" in s:
    if "java.exe" not in str(s):
        print "selenium server is not up"  
    if "FreeSSHDService.exe" not in str(s):
        print "SSH is not up"
    else:
        print "Everything is awesome"

我想在check_mk仪表板上添加一个检查,添加此检查的步骤是什么以及我必须在哪里完成此脚本。

import subprocess

s = subprocess.check_output('tasklist', shell=True)
if "cmd.exe" in s:
    if "java.exe" not in str(s):
       return 2, "selenium server is not up") 
    if "FreeSSHDService.exe" not in str(s):
       return 2, "SSH is not  up"
    else:
        return 0, "Everything is awesome"
python nagios check-mk
2个回答
0
投票

首先,我假设您要检查的节点是基于MS Windows的,在这种情况下,我无法帮助您,因为我的专业知识是关于UNIX和Linux的。

这个qazxsw poi将帮助您检查基于Windows的节点,尤其是段落qazxsw poi。

在Linux中,一旦安装了check_mk_agent,根据你想进入check_mk胆量的深度,有三种方法。在Windows中我认为有相同的方法。

  1. 作为本地服务:将python代码复制到web link文件夹中,无论它位于Windows中,并编辑10. Extending the Windows agent配置文件的local部分以运行[global]check_mk.ini文件扩展名。
  2. 作为MRPE检查:你根据py使你的python程序打印输出,并根据pyc编辑Nagios output check format配置文件的[mrpe]部分。作为缺点,WARNING和CRITICAL值/范围在check_ini文件中是固定的 - 它们不能在WATO中更改。
  3. 作为check_mk代理:您将python程序转换为check_mk代理。我认为这是最困难的方法,因为每个check_mk代理必须在check_mk服务器中具有对应的定义/声明/库存文件,以便在WATO中使用并配置其参数。我从未写过一篇,但如果你热衷于此,你应该阅读the notes in the paragraph 10.2

最好的祝福。


0
投票

如果要执行此类脚本,只需将其(具有正确的权限,chmod +755)放在〜/ local / lib / nagios / plugins目录中即可。

然后你必须从“主机和服务参数 - >主动检查 - >经典主动和被动检查”创建规则

完成后,您需要输入命令行“python~ / local / lib / nagios / plugins / nameofyourscript.py”

我不确定输出,仍然在为python脚本工作。

© www.soinside.com 2019 - 2024. All rights reserved.