跳转到主要内容

用于从ELK日志中统计使用情况的包。

项目描述

Vuakhter

Build Status Maintainability Test Coverage PyPI version PyPI - Python Version

Vuakhter是一个验证工具,用于测试API是否符合我们的API指南。但它也可以通过其日志生成Web应用程序的统计数据。

工作原理

Vuakhter扫描指定期间的访问日志,通过路径前缀过滤日志条目,并将每个条目传递给生成统计。

基类 AccessLog 返回日志条目的迭代器。类 ElasticAccessLog 扫描Elastic索引中的日志条目。

StatisticsMetrics 获取 AccessEntry 记录并形成统计数据数组的。 StatisticsMetrics.report() -> str 返回指标统计报告。

HttpAnalyzer 使用 access_log: AccessLogStatisticsMetrics 数组。

在主脚本 vuakhter 中,只有一个指标 SchemaValidatorCounter 传递给 HttpAnalyzer。它使用 request_log: RequestLog 验证 API 响应。

ElasticRequestLog: RequestLog 通过请求_id 扫描弹性索引请求并返回 RequestEntry 数组。 SchemaValidatorCounter 检查所有响应体并统计有效的 API 调用。

安装

pip install vuakhter

用法

vuakhter [--es-user ES_USER] [--es-pass ES_PASS] [--es-host ES_HOST] [--es-port ES_PORT
[--start-date START_DATE] [--end-date END_DATE] prefixes [prefixes ...]

默认情况下,如果未指定,end_date 是当前日期和时间。start_date 默认为 end_date 的前一天。

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

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

在代码中使用

import datetime

from elasticsearch import Elasticsearch

from vuakhter.analyzer import HttpAnalyzer
from vuakhter.kibana.access_log import ElasticAccessLog
from vuakhter.metrics.counters import ComplexCounter


elastic = 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)

for metric in http_analyzer.metrics:
    metric.finalize()
    print(metric.report())

贡献

我们希望您为我们的项目做出贡献。这很简单

  • 创建一个带有您发现的错误或提议的问题。等待维护者的批准。
  • 创建一个拉取请求。确保所有检查都是绿色的。
  • 如果有,修复审查评论。
  • 做得好。

以下是一些有用的提示

  • 您可以使用 make check 运行所有检查和测试。请在 TravisCI 做之前执行此操作。
  • 我们使用 BestDoctor python styleguide
  • 我们尊重 Django CoC。做软的,而不是垃圾。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

此版本没有可用的源分发文件。请参阅 生成分发存档的教程

构建分发

vuakhter-0.0.5-py3-none-any.whl (23.5 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面