SolarWinds Orion

集成版本:4.0

使用场景

执行主动操作 - 执行 SQL 查询以获取有关端点的更多信息。

在 Google Security Operations 中配置 SolarWinds Orion 集成

有关如何在 Google SecOps 中配置集成的详细说明,请参阅配置集成

集成参数

使用以下参数配置集成:

参数显示名称 类型 默认值 是否为必需属性 说明
实例名称 字符串 不适用 您打算为其配置集成的实例的名称。
说明 字符串 不适用 实例的说明。
IP 地址 字符串 x.x.x.x:17778 SolarWinds Orion 实例的 IP 地址。
用户名 字符串 不适用 SolarWinds Orion 账号的用户名。
密码 密码 不适用 SolarWinds Orion 账号的密码。
验证 SSL 复选框 尚未核查 如果启用,则验证与 SolarWinds Orion 服务器的连接的 SSL 证书是否有效。
远程运行 复选框 尚未核查 选中此字段,以便远程运行配置的集成。选中后,系统会显示用于选择远程用户(客服人员)的选项。

操作

Ping

说明

使用 Google Security Operations Marketplace 标签页中的集成配置页面上提供的参数,测试与 SolarWinds Orion 的连接。

运行于

此操作不会在实体上运行,也没有强制性输入参数。

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_succeed:False
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功

输出“Successfully connected to the SolarWinds Orion server with the provided connection parameters!”

操作应失败并停止 playbook 执行
如果不成功

打印“Failed to connect to the SolarWinds Orion server! 错误为 {0}".format(exception.stacktrace)

常规

执行查询

说明‌

在 SolarWinds Orion 中执行查询。

参数

参数显示名称 类型 默认值 是强制性的 说明
查询 字符串 不适用 指定需要执行的查询。注意:SolarWind 查询不支持“*”表示法。
要返回的结果数上限 整数 100 指定应返回多少个结果。

运行于

此操作不会在实体上运行,也没有强制性输入参数。

操作结果

脚本结果
脚本结果名称 值选项 示例
is_succeed True/False is_succeed:False
JSON 结果
{
    "results": [
        {
            "DisplayName": "orion"
        }
    ]
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果不是状态代码 400(is_success = true)

输出“Successfully executed query and retrieved results from SolarWinds Orion”。

如果状态代码为 400(is_success = false)

打印“操作未能成功执行查询并从 SolarWinds Orion 检索结果。原因:{0}".format(message)

操作应失败并停止 playbook 执行
如果出现严重错误,例如凭据错误、无法连接到服务器等

打印“执行操作‘执行查询’时出错”。原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:“Results”

响应中的所有列都将用作表格列。

常规

执行实体查询

说明

在 SolarWinds Orion 中基于 IP 和主机名实体执行查询。

如何使用操作参数

此操作可让您根据 IP 和主机名实体轻松检索有关端点的信息。

假设您想检索端点的正常运行时间。 第一个端点的 IP 为“172.30.230.130”,第二个端点的主机名为“DC001”。在这种情况下,我们的查询需要如下所示:

SELECT IpAddress, DisplayName, SystemUpTime FROM Orion.Nodes WHERE IpAddress='172.30.203.130' OR DisplayName='DC001'

如需使用“执行实体查询”操作创建相同的查询,您需要按以下方式填写操作参数:

查询 SELECT IpAddress, DisplayName, SystemUpTime FROM Orion.Nodes
IP 实体键 IpAddress
主机名实体键 DisplayName

系统会自动准备 WHERE 子句。

表格架构文档

http://solarwinds.github.io/OrionSDK/2020.2/schema/Orion.Nodes.html

参数

参数显示名称 类型 默认值 是否为必需属性 说明
查询 字符串 不适用 指定需要执行的查询。注意:SolarWind 查询不支持“*”表示法,并且您不应在查询中添加 WHERE 子句,因为该子句是由操作添加的。如需了解详情,请参阅操作文档。
IP 实体键 字符串 IpAddress

指定应在查询的 WHERE 子句中与 IP 实体搭配使用的键。如需了解详情,请参阅操作文档。默认:

IpAddress

主机名实体键 字符串 主机名

指定在查询的 WHERE 子句中应将哪个键与 Hostname 实体搭配使用。如需了解详情,请参阅操作文档。默认:

主机名

要返回的结果数上限 整数 100 指定应返回多少个结果。

运行于

此操作适用于以下实体:

  • IP 地址
  • 主机

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
JSON 结果
{
    "results": [
        {
            "DisplayName": "orion"
        }
    ]
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果不是状态代码 400(is_success = true)

输出“Successfully executed query and retrieved results from SolarWinds Orion”。

如果状态代码为 400(is_success = false)

打印“操作未能成功执行查询并从 SolarWinds Orion 检索结果。原因:{0}".format(message)

如果范围内没有实体(is_success = false)

打印“未在范围内找到任何实体。”

操作应失败并停止 playbook 执行
如果出现严重错误,例如凭据错误、无法连接到服务器等

打印“Error executing action "Execute Entity Query". 原因:{0}''.format(error.Stacktrace)

常规
“案例墙”表格

表格名称:“Results”

响应中的所有列都将用作表格列。

常规

丰富端点

说明

按主机名或 IP 地址提取端点的系统信息。

运行于

此操作适用于以下实体:

  • IP 地址
  • 主机

操作执行结果

脚本结果
脚本结果名称 值选项 示例
is_success True/False is_success:False
实体扩充

对于实体丰富化,系统将使用响应中的每个字段。前缀将为 SLRWORION

例如,SLRW_ORION_CPULoad 是从 CPULoad 映射的

JSON 结果
{
    "results": [
        {
            "IpAddress": "172.30.203.130",
            "DisplayName": "orion",
            "NodeDescription": "Hardware: Intel64 Family 6 Model 63 Stepping 2 AT/AT COMPATIBLE - Software: Windows Version 10.0 (Build 17763 Multiprocessor Free)",
            "ObjectSubType": "Agent",
            "Description": "Windows 2019 Server",
            "SysName": "ORION",
            "Caption": "orion",
            "DNS": "orion",
            "Contact": "",
            "Status": 1,
            "StatusDescription": "Node status is Up.",
            "IOSImage": "",
            "IOSVersion": "10.0 (Build 17763 Multiprocessor Free)",
            "GroupStatus": "Up.gif                                  ",
            "LastBoot": "2020-10-26T11:06:00.0000000",
            "SystemUpTime": 76135.1171875,
            "AvgResponseTime": 4,
            "CPULoad": 0,
            "PercentMemoryUsed": 76,
            "MemoryAvailable": 3.08503347E+09,
            "Severity": 0,
            "Category": 2,
            "EntityType": "Orion.Nodes",
            "IsServer": true,
            "IsOrionServer": false
        }
    ]
}
案例墙
结果类型 值 / 说明 类型
输出消息*

操作不应失败,也不应停止 playbook 执行

如果成功且至少一个提供的实体已得到丰富(is_success = true)

打印“Successfully enriched the following endpoints from SolarWinds Orion: \n {0}”(已成功从 SolarWinds Orion 扩充以下端点:\n {0})。format(entity.identifier list)

如果无法丰富特定实体(is_success = true)

打印“无法从 SolarWinds Orion 丰富以下端点:{0}”。format([entity.identifier])

如果未能丰富所有实体(is_success = false)

输出“No entities were enriched.”

操作应失败并停止 playbook 执行
如果出现严重错误,例如凭据错误、无法连接到服务器等

打印“执行操作‘丰富端点’时出错。原因:{0}''.format(error.Stacktrace)

常规

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。