我有多个具有相同结构的数据库(> 100)。对于业务监控,我有大约 80 个查询来检查数据库中的信息。现在,我想在每个数据库上执行每个查询并将结果加载到 splunk 中。在 splunk 中,是否可以一次定义 >100 个数据库连接和一次定义 80 个查询,然后执行一些“魔术”步骤来执行每个数据库上的每个语句?我不想为数据库和查询的每个组合创建一个新连接。
问问题
317 次
1 回答
1
Splunk 必须连接到数据库“本身”的唯一方法是通过DB Connect ( docs )
从 Splunk 的角度来看,如果没有与每个数据库的唯一连接,就无法连接到 100 个数据库。
据我所知,没有任何工具可以在没有唯一连接的情况下连接到多个数据库——这是数据库服务器在事务模型中强制执行的。
话虽这么说,如果你有办法枚举你想连接的所有数据库,并且有一个地方来保存你想运行的查询,你可以构建一个
- 脚本输入插件,可以使用您选择的语言(Splunk 服务器/端点上可用的任何语言)遍历每个数据库,运行每个查询,并将结果发送回 Splunk,或者
- 以与脚本输入选项类似的方式,编写一个脚本(或一组脚本),该脚本将针对您的目标数据库执行相关查询,并将结果提交给HTTP 事件收集器( HEC )(HL 有一个很棒的在这里写关于 HEC 的文章,这里是 George Starcher 的HEC Python 课程)
于 2020-08-26T12:44:13.327 回答