尝试在 Splunk 上安装 gRPC python 模块



我正在尝试在Splunk上运行外部python脚本"PyClient.py",它需要外部gRPC模块。我按照 http://www.grpc.io/docs/quickstart/python.html 中的快速入门 python 指南在本地安装了 gRPC 模块。splunkd 文件中生成的日志如下:

    06-16-2017 18:20:49.728 +0530 WARN  IntrospectionGenerator:resource_usage -   RU - Failure executing PDH query, skipping getting iostats data this collection cycle. Status code is -2147481643
    06-16-2017 18:20:56.501 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py"" Traceback (most recent call last):
    06-16-2017 18:20:56.501 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""   File "C:Program FilesSplunketcappsTestbinpyClient.py", line 2, in <module>
    06-16-2017 18:20:56.501 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""     import grpc
    06-16-2017 18:20:56.501 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""   File "C:Program FilesSplunketcappsTestbingrpc__init__.py", line 37, in <module>
    06-16-2017 18:20:56.501 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""     from grpc._cython import cygrpc as _cygrpc
    06-16-2017 18:20:56.501 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py"" ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
    06-16-2017 18:21:06.502 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py"" Traceback (most recent call last):
    06-16-2017 18:21:06.502 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""   File "C:Program FilesSplunketcappsTestbinpyClient.py", line 2, in <module>
    06-16-2017 18:21:06.502 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""     import grpc
    06-16-2017 18:21:06.502 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""   File "C:Program FilesSplunketcappsTestbingrpc__init__.py", line 37, in <module>
    06-16-2017 18:21:06.502 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py""     from grpc._cython import cygrpc as _cygrpc
    06-16-2017 18:21:06.502 +0530 ERROR ExecProcessor - message from "python "C:Program FilesSplunketcappsTestbinpyClient.py"" ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.

有人对如何清除此错误有任何建议吗?或者如何在 Splunk 上安装外部 gRPC 模块?

提前谢谢。

看起来像是32/64位Windows不兼容。

安装 gRPC 时,请确保显式使用 Python 的 Splunk 发行版来pip install grpcio

C:Program FilesSplunk<Python2.7 binary> -m pip install --upgrade pip

C:Program FilesSplunk<Python2.7 binary> -m pip install grpcio

我已经找到了解决方案。我必须为我的python脚本编写一个包装脚本,该脚本取消设置或删除(del("LD_LIBRARY_PATH"和"PYTHONPATH"。对于基于 Linux 的系统,我还必须取消设置或删除 (del( "PATH" 环境变量。按照上述步骤操作后,Splunk也使用了我的本地版本的Python和已安装的模块。它奏效了。希望这可以帮助任何尝试在 Splunk 中使用外部模块但似乎无法弄清楚为什么它不起作用的人。:)

最新更新