跳转到主要内容

为kibana提供的Python客户端。提供ORM和vega渲染的可视化

项目描述

pybana

Build Status codecov

🚧 注意!工作正在进行中 🚧

这是什么?

这是一个用python编写的kibana客户端。它提供两种类型的实用工具

  • ORM层。目标是简化对kibana对象(如index-pattern、visualization、dashboard)的操作。此ORM提供
    • 使用elasticsearch_dsl建模。
    • 从kibana对象中提取有用信息(例如:与可视化关联的index-pattern)的辅助工具。
    • index-pattern与可视化、可视化与仪表板之间的反向关系。
  • 翻译层。目标是模仿kibana在数据获取和可视化渲染方面的行为。因此,有两种类型的翻译器
    • 弹性。它将kibana的可视化定义转换为elasticsearch查询。
    • vega。它将kibana的可视化和获取的数据转换为vega规范。

为什么?

ORM实现是为了简化kibana对象的自动创建/更新。例如

  • 如果您在kibana上添加了访问控制层以处理多租户,您可能希望自动化kibana索引和默认index-pattern的创建。
  • 如果index-pattern对应于其他地方定义的表(如sql表),您可能希望自动化index-pattern的创建。
  • 如果在另一个数据库(如SQL数据库)中定义了仪表板,那么当SQL对象被删除时,您可能希望删除Kibana对象。

实现了翻译层以逐步淘汰Kibana。虽然Kibana是一个出色的工具,但它更适合内部使用,而不是与其他应用程序集成。

Elastic翻译器旨在生成与Kibana几乎相同的Elasticsearch查询。

vega翻译器试图在vega中提供与Kibana可视化等效的功能。目前,它支持有限的功能集。选择vega是因为它提供了一种复杂但几乎详尽的可视化语法。Vega的API允许在后端和前端渲染可视化,并具有与主要JS框架(react、vue...)的桥梁。

路线图

  • ORM
    • 自动创建索引模式
  • Elastic翻译器
    • 处理更多桶类型:IPv4、显著术语等
    • 处理更多度量:顶级命中、同级等
  • vega翻译器
    • 处理更多可视化类型(仪表盘、度量、地图等)
  • 版本
    • 目前,仅处理elk堆栈6.7.1。

许可证

基于MIT许可证。

历史记录

0.7.2

  • 修复datasweet公式中的度量标签

0.7.1

  • 修复TopHitsMetrics中的响应处理

0.7.0

  • 添加对top_hits的支持
  • 修复仪表板中的搜索处理

0.6.3

  • 修复度量标签的转义

0.6.2

  • 修复当值为null时的情况。然后忽略值。

0.6.1

  • 修复ContextVisualization.is_duration_agg

0.6.0

  • 添加对代表持续时间序列的轴的持续时间格式化的支持

0.5.6

  • 修复打包

0.5.5

  • 当设置y轴范围时裁剪线

0.5.4

  • 支持没有data.url属性的vega可视化
  • 修复datasweet评估中的none类型处理

0.5.3

  • 修复术语自定义度量

0.5.2

  • 修复由于datasweet公式引起的桶中的nan值

0.5.1

  • 修复当datasweet公式依赖于其他datasweet公式时的案例

0.5.0

  • 添加对vega可视化的支持

0.4.2

  • 修复添加对按自定义度量排序的术语的支持

0.4.1

  • 修复format_from_interval对于周间隔

0.4.0

  • 处理类别轴旋转

0.3.1

  • 处理datasweet中的ZeroDivisionError

0.3.0

  • Context重命名为Scope
  • 添加BaseDocument.json_attrs以简化某些字段的解析(例如:Dashboard.panelsJSON)
  • 添加datasweet支持
  • 在客户端添加对using的支持

0.2.0

  • 添加Search模型
  • 添加VegaRenderer和vega-cli

0.1.0

  • 第一个版本

项目详情


下载文件

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

源分布

pybana-0.7.2.tar.gz (30.5 kB 查看散列)

上传时间:

构建分布

pybana-0.7.2-py3-none-any.whl (33.4 kB 查看散列)

上传时间: Python 3

由...