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 专业人士那里获得解答。