amazon-web-services - 如何在 splunk Enterprise 中使用 boto3
问题描述
我正在尝试在 splunk 中为我的用例创建一个自定义应用程序。我的一个用例是从 AWS 获取一些数据,我已经有一个用 python 编写的工作代码,并且我正在使用 boto3 SDK。我在 Splunk 中尝试的相同代码但它不起作用,因为 Splunk 没有 boto3 的信息。请有任何建议。
示例代码在这里。
import boto3
import json
def ec2_client():
client = boto3.client('ec2')
""" :type : pyboto3.ec2 """
return client;
def perform_ec2_operation():
ec2_interested_details = ec2_client().describe_instances()
#print(ec2_interested_details)
return ec2_interested_details;
if __name__ == '__main__':
data = perform_ec2_operation()
data = data['Reservations'][0]['Instances'][0]['NetworkInterfaces'][0]['Association']
data = json.dumps(data);
print(data)
解决方案
您的脚本失败的原因是 Splunk 使用自己的 Python 部署。您需要将 boto3 安装到该 Python 的库中,这可能具有挑战性。请参阅以下内容:
- https://answers.splunk.com/answers/220196/import-non-native-python-libraries-into-splunk.html
- https://answers.splunk.com/answers/8/can-i-add-python-modules-to-the-splunk-environment.html
- https://answers.splunk.com/answers/112609/my-own-python-script-cannot-import-splunk-python-library-modules.html
您是否正在创建自定义输入以从 AWS 检索数据?如果是这样,我建议您改为查看 Splunk 为 AWS 创建的附加组件,https://splunkbase.splunk.com/app/1876/这将已经为您配置了所有必要的库。
推荐阅读
- android - OkHttp3 HttpLoggingInterceptor 日志正文没有记录头
- javascript - 计算时差
- python-3.x - 如何在 Python 中的不同列表中添加大量列表项
- ruby-on-rails - rails 验证检查的顺序/优先级
- mobile - 水平嵌套列表视图
- c# - .NET Core 创建没有作业的进程
- python - 从字符串数组替换 s 子字符串 - Python
- tensorflow - 如何在 Tensorflow 中实现最大平均差异(MMD)?
- html - 在 html 输入字段中使用什么模式来验证法国数字格式?
- javascript - 将图像上传到 Web 服务器的最佳实践