Python argparse 与 Nagios 检查

Python argparse with Nagios check

我正在尝试修复 Op5 检查,但我似乎无法将 -H 参数用作 ssh 连接中的主机名。我不是很擅长 python 但边学边学。

import paramiko
import argparse
ssh = paramiko.SSHClient()

# Argument parsing
parser = argparse.ArgumentParser(
    description=__doc__,
    epilog='Developed by %s - For more information see: "%s"'
    % (author, url))

parser.add_argument('-H', '--hostname', dest='hostname', required=True, help='Host name, IP Address')

args = parser.parse_args()

ssh.connect('hostname='args', username='', password='')

可能遗漏了一些东西,但我需要一些帮助:)

首先,从 hostname 中取出引号 - 关键字参数标签不需要引号,就像您对 usernamepassword:

所做的一样
ssh.connect(hostname=args, username='', password='')

然后您需要从 args 对象访问正确的参数 - 您可以在使用 add_argument 声明参数时从指定为 dest 的内容中找到它的名称:

ssh.connect(hostname=args.hostname, username='', password='')