Q:我在“脚本或程序”监视器中执行的程序返回了 JSON 输出。 从中提取特定性能值的最简单方法是什么?
答:可以使用“one-liner”Python 脚本(由捆绑的 Python 解释器运行)来提取所需的值。 下面是两个例子。
假设您运行的程序将以下 JSON 值打印到标准输出:
并且您需要通过上述定义数组的第二条记录中的键“值”监视字段引用(这将提供 165 的性能值)。
要提取这些,请将以下代码片段添加到监视器定义(最有可能添加到“Arguments”字段)以通过以下方式传输程序输出:
注意该行的粗体部分:它从 JSON 输出中提取提到的元素。 上面显示的整行应在没有换行符的情况下输入。
让我们尝试更多现实生活中的例子。 假设我们有一个 S3 AWS 存储桶(存储单元),我们想监控其中某个对象(文件)的大小。 为此,请按照以下步骤操作:
1. 安装 AWS 命令行实用程序并确保它在系统 PATH 中。
2. 在IAM中创建合适的用户账户,并获取其access key和secret key来与AWS S3进行交互。 为了这个例子,我们假设访问密钥字符串是“AAAAA”,秘密密钥字符串是“SSSSSSSSS”(在你的情况下使用实际密钥)。
在 IPHost GUI 客户端中,进入“Settings > User Credentials”,添加新的 Windows 凭据,命名为“AWS S3 access”(您可以使用任何名称),并填写如下:
再次使用您的真实凭证而不是上述占位符。 保存新创建的凭据。
3.创建文件C:\Scripts\aws-s3-get-metadata。命令”,内容如下:
使用任何其他脚本文件名/路径,前提是运行IPHost监控服务的帐户可读(默认为SYSTEM)。
4. 在任意主机上创建“脚本或程序”监视器(例如,在“localhost”上),并填写如下参数:
监视器名称:任何唯一的名称
模式:运行程序
路径:C:\Windows\System32\cmd.exe
参数:/c C:\Scripts\aws-s3-get-metadata.cmd $WindowsUser $WindowsPassword bucket-name path-to-object
凭据:在第 2 步创建的凭据(“AWS S3 访问”)。
“bucket-name”应该是 S3 URL 存储桶名称,“path-to-object”应该是没有前导斜杠的路径。
例如,如果对象的 URL 是 s3://example-bucket/location/of/my/file,则替换