如何将自定义解析器添加到 logster?
How to add a custom parser to logster?
我想使用 logster 跟踪我的 nginx 网络服务器返回的 HTTP 响应代码。
1) 我找到并安装了 logster。我还通过 pip 安装了 pygtail,这是 logster 所必需的。
https://github.com/etsy/logster
2) 我找到了一个解析 nginx access_log 的 python 脚本,并将其放在解析器子目录中。
https://github.com/metabrainz/logster/blob/master/musicbrainz/logster/NginxStatus.py
...但是当我 运行 logster 命令时,我得到一个 python 异常:
Traceback (most recent call last):
File "/usr/local/bin/logster", line 5, in <module>
pkg_resources.run_script('logster==0.0.1', 'logster')
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 505, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1245, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.7/dist-packages/logster-0.0.1-py2.7.egg/EGG-INFO/scripts/logster", line 449, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/logster-0.0.1-py2.7.egg/EGG-INFO/scripts/logster", line 380, in main
module = __import__(module_name, globals(), locals(), [parser_name])
ImportError: No module named NginxStatus1
````
我做错了什么?
异常错误相当具有误导性:文件被放置在正确的位置(parsers 子目录),但是 - 事实证明 - 在添加新的解析器后必须重新设置 logster(这不是不幸的是,记录在案)。所以只是 运行:
sudo python setup.py install
在 logster 目录中,一切应该开始正常工作。
我想使用 logster 跟踪我的 nginx 网络服务器返回的 HTTP 响应代码。
1) 我找到并安装了 logster。我还通过 pip 安装了 pygtail,这是 logster 所必需的。
https://github.com/etsy/logster
2) 我找到了一个解析 nginx access_log 的 python 脚本,并将其放在解析器子目录中。
https://github.com/metabrainz/logster/blob/master/musicbrainz/logster/NginxStatus.py
...但是当我 运行 logster 命令时,我得到一个 python 异常:
Traceback (most recent call last):
File "/usr/local/bin/logster", line 5, in <module>
pkg_resources.run_script('logster==0.0.1', 'logster')
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 505, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1245, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.7/dist-packages/logster-0.0.1-py2.7.egg/EGG-INFO/scripts/logster", line 449, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/logster-0.0.1-py2.7.egg/EGG-INFO/scripts/logster", line 380, in main
module = __import__(module_name, globals(), locals(), [parser_name])
ImportError: No module named NginxStatus1
````
我做错了什么?
异常错误相当具有误导性:文件被放置在正确的位置(parsers 子目录),但是 - 事实证明 - 在添加新的解析器后必须重新设置 logster(这不是不幸的是,记录在案)。所以只是 运行:
sudo python setup.py install
在 logster 目录中,一切应该开始正常工作。