包来统计ELK日志中的使用情况统计信息。

vuakhter的Python项目详细描述


瓦克特

Build StatusMaintainabilityTest CoveragePyPI versionPyPI - Python Version

Vuakhter是测试API以符合我们的 API guide。 但它可以通过日志生成web应用程序的统计信息。在

工作原则

Vuakhter扫描指定时间段的访问日志,按路径前缀筛选日志条目 并传递每个条目以生成统计信息。在

基类AccessLog返回日志项的迭代器。类ElasticAccessLog 扫描弹性索引以查找日志条目。在

StatisticsMetrics获取{}个记录并形成统计数据数组。 StatisticsMetrics.report() -> str返回度量的统计报告。在

HttpAnalyzer使用access_log: AccessLog和{}数组。在

在主脚本中,只有一个度量SchemaValidatorCounter传递给HttpAnalyzervuakhter。它使用request_log: RequestLog来验证API响应。在

ElasticRequestLog: RequestLog按请求标识扫描弹性索引请求 并返回RequestEntry的数组。SchemaValidatorCounter检查所有响应 主体和计数有效的API调用。在

安装

pip install vuakhter

使用

^{pr2}$

默认情况下,结束日期为当前日期和时间(如果未指定)。开始约会 默认为前一天结束日期。在

所有连接参数都可以在.env文件中指定。在

ES_USER=elastic ES_PASS=pasword ES_HOST=localhost vuakhter /api/

在代码

中使用
importdatetimefromelasticsearchimportElasticsearchfromvuakhter.analyzerimportHttpAnalyzerfromvuakhter.kibana.access_logimportElasticAccessLogfromvuakhter.metrics.countersimportComplexCounterelastic=Elasticsearch()access_log=ElasticAccessLog(index_pattern='filebeat-*',client=elastic)http_analyzer=HttpAnalyzer(access_log=access_log)http_analyzer.add_metrics(ComplexCounter())end_date=datetime.datetime.now()start_date=end_date-datetime.timedelta(days=1)http_analyzer.analyze(start_date,end_date)formetricinhttp_analyzer.metrics:metric.finalize()print(metric.report())

贡献

我们希望你能为我们的项目作出贡献。很简单:

  • 用你发现的错误或者你的建议来创建一个问题。 等待维护人员的批准。在
  • 创建拉取请求。确保所有的支票都是绿色的。在
  • 修正评审意见(如果有的话)。在
  • 太棒了。在

以下是一些有用的提示:

  • 您可以使用make check运行所有检查和测试。请这样做 在特拉维西之前。在
  • 我们使用 BestDoctor python styleguide。在
  • {我们尊重}。 温柔点,不要胡扯。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java GWT:禁用某些小部件上的所有事件   java Sbt run命令警告未解析的依赖项   班getSimpleName()与用java硬编码类名?   如何设置客户端本地端点Java RMI   java在tensorflow中沿轴选择随机数目的点   java在使用随机生成器的数组中查找缺失的数字   我在游戏中的线索丢失(java)   JavaNIO文件通道。从转移0开始转移?   Storm DRPC中的java更新与RequestReply   REST服务中的java返回XML响应   java如何在Eclipse中使用CXF使用Web服务   java Appengine通道Api存在\u ah/通道/连接不工作   RSA加密Javascript和解密Java   HTTPS站点的java路由HTTP映像   导入JCC时发生java错误。找不到libjava。所以   java下拉选项,可选择更改月份   java在向jasper报告传递日期参数时如何解决ClassCastException?   gradle插件中使用的第三方库的java控件日志记录输出   java是一个单一的logback。用于多个应用程序的xml文件是一种良好的做法?