惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

博客园 - 小海海宁宁

从0到1:使用Schemathesis搭建API自动化测试框架实战 OpenAPI规范及自动化用例生成 playwright & selenium对Shadow DOM的处理 自动化平台质量体系建设(草稿) 【模板】邮件提测模板 研发测试质量规范(草稿) 自动化框架 - Q&A 自动化框架 - 核心模块使用指南 - Kafka 自动化框架 - 核心模块使用指南 - Playwright 自动化框架 - 核心模块使用指南 - API 自动化框架 - 核心功能使用指南 - 动态值生成 自动化框架 - 核心功能使用指南 - 数据处理模块 自动化框架 - 核心功能使用指南 - 数据校验模块 自动化框架 - 核心功能使用指南 - 上下文值传递 自动化框架 - 核心功能使用指南 - 用例过滤Tag使用 自动化框架 - 核心功能使用指南 - Excel测试用例编写 自动化框架 - 核心功能使用指南 - 配置文件使用指南 自动化框架使用说明 - 快速开始 Kibana如何添加可视化看板
自动化框架 - 核心模块使用指南 - Kibana
小海海宁宁 · 2026-03-09 · via 博客园 - 小海海宁宁
  1. 模块概述

KibanaModule 是一个基于 elk的日志查询模块,用于实现与 elk服务的交互,支持日志查询、数据检索和资源管理。以下是该模块的主要功能和方法说明:

  1. 主要功能

    • 日志查询: 通过 KQL 查询语法获取日志数据。
    • 时间范围构建: 自动构建查询的时间范围。
    • KQL 解析: 解析 KQL 语法并生成查询条件。
    • 响应解析: 解析 Kibana API 响应并转换时间戳。
    • 会话管理: 管理 HTTP 会话,包括基本认证和会话 ID。
  1. 方法说明

    1.   初始化

    • init(config: Dict[str, Any] = None): 初始化 Kibana 模块,可以传入配置字典。
    • init_from_config(config: Dict[str, Any]): 从配置字典初始化参数。
    1.   日志查询

      search_by_kql(**kwargs)

      描述: 使用 KQL 查询日志。

    参数:

    kql (str): KQL 查询字符串。

    minutes (int, 可选): 查询时间范围(分钟),默认为 15 分钟。

    size (int, 可选): 返回的日志数量,默认为 100 条。

    fields (List[str], 可选): 返回的字段列表,例如 ['@timestamp', 'message', 'app_name', 'log_level']。

    saveAsVariable (str, 可选): 将查询结果保存到指定变量。

    1.   会话管理

      _init_session()

      描述: 初始化 HTTP 会话,包括基本认证和会话 ID。

    1.   时间范围构建

      _build_time_range(minutes: int = 15)

      描述: 构建查询的时间范围。

    参数:

    minutes (int, 可选): 查询时间范围(分钟),默认为 15 分钟。

    1.   KQL 解析

      _parse_kql_to_conditions(kql: str) -> List[Dict[str, Any]]

      描述: 解析 KQL 语法并生成查询条件。

    参数:

    kql (str): KQL 查询字符串。

    1.   响应解析

      _parse_search_response(response_data: Dict[str, Any]) -> Dict[str, Any]

      描述: 解析 Kibana API 响应并转换时间戳。

    参数:

    response_data (Dict[str, Any]): Kibana API 响应数据。

    1.   清理资源

      cleanup() -> Dict[str, Any]

      描述: 清理资源,关闭会话。

  1. 环境准备

安装依赖

auto-test-framework-common==0.1.62
  1. 初始化模块

kabana_module: class_path: "src.modules.kibana.kibana.KibanaModule" # 模块的完整类路径。 kibana_url: "http://kibanamlsxy.bn.msxf.local/" #Kibana 服务的 URL username: XXX # Kibana 用户名 password: “XXX” #Kibana 密码(可以是加密后的密码) config_name: "icc2.0" #环境配置名称 env_name: "XXX" #环境名称 verify_ssl: False #是否验证 SSL 证书 timeout: 60 #请求超时时间(秒) indices: [ "mls-ecs-lg-45f88e13a8974bb9ac-*", "mls-ecs-lg-47d4bee4b3734d569e-*", "mls-ecs-lg-d6509dcc52f54f59a6-*", "mls-ecs-lg-946507243eb94e97a2-*", "mls-ecs-lg-530edcec3ca142f1bd-*", "mls-ecs-lg-26daa45f3b0841e1a5-*", "mls-ecs-lg-64a7f676c9a14472b3-*", "mls-ecs-lg-3829c840d658479c80-*", "mls-ecs-lg-4525d96a086249cd81-*", "mls-ecs-lg-2863df5bc5c64e1bad-*", "mls-ecs-lg-2a5bb2e2a37a441d8c-*" ] #默认索引列表。

  1. 示例

import yaml
from kibana import KibanaModule

management = InstanceManagement()
kibana: KibanaModule = management.get_or_create("kabana_module")
# 执行查询
specific_kql = 'app_name.keyword : "icc-agent-portal"  and log_level.keyword : "ERROR"'
result3 = kibana.search_by_kql(
    kql=specific_kql,
    minutes=5,
    size=20
)
print(f"查询结果: {result}")