# @clickandmortar/kibana-url-builder 中文文档

规范地址：https://npmcn.com/package/%40clickandmortar/kibana-url-builder/

版本：0\.7\.2
npm 元数据更新时间：2022-04-04T23:18:26.614Z
中文译文更新时间：2026-11-10T01:29:41.754Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40clickandmortar/kibana-url-builder
原文对照：https://npmcn.com/package/%40clickandmortar/kibana-url-builder/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：10.2 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2021-04-06T10:12:31.723Z
- 最新版本发布：2021-04-08T10:27:09.046Z
- 近 30 天下载量：5735（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 0 个）

## 中文简介

Kibana URL 构建器

## 安装

```sh
npm install @clickandmortar/kibana-url-builder
```

也可以使用：`pnpm add @clickandmortar/kibana-url-builder`、`yarn add @clickandmortar/kibana-url-builder`、`bun add @clickandmortar/kibana-url-builder`

## README

# Kibana URL 构建器

这个库允许建立 Kibana URL, 例如在发送通知时 .

:警告:已生成的基巴纳URL目前只在基巴纳 6.x上进行了测试.

## 使用量

```shell
# Using npm
npm install @clickandmortar/kibana-url-builder

# Using Yarn
yarn add @clickandmortar/kibana-url-builder
```

```javascript
const kub = require('@clickandmortar/kibana-url-builder')

const url = kub.buildDiscoverUrl({
    host: 'http://kibana:5601',
    columns: ['_source'],
    filters: [],
    query: 'my query'
})

// url = http://kibana:5601/app/kibana#/discover?_g=(time:(from:now-15m,mode:quick,to:now))&_a=(columns:!(_source),filters:!(),interval:auto,query:(language:lucene,query:'my query'),sort:!('@timestamp',desc))
```

### 方法

**`buildDiscoverUrl ({ host, refreshInterval, period, columns, filters, index, interval, query, sort }: KibanaDiscoverUrlBuildParameters): string`**

这种方法返回一个无国籍的Kibana"发现"URL,任何访问Kibana实例的人都可以共享和使用.

| 参数 | 类型 | 默认 | 需求 | 示例 |
| --- | --- | --- | --- | --- |
| `host` | `string` |  | ✅ | `http://kibana:5601` |
| `columns` | `string[]` | `['_source']` |  | `['_source', 'log']` |
| `filters` | `KibanaQueryFilter[]` | `[]` |  | 见下文 |
| `query` | `string` |  |  | `foo AND bar` (卢斯语法) |
| `period` | `KibanaQueryPeriod` | `{ "from": "now-15m", "mode": "quick", "to": "now" }` |  | 见下文 |
| `index` | `string` |  | 使用过滤器时 | `my-index-pattern` |
| `interval` | `string` | `auto` |  | `15m` |
| `refreshInterval` | `KibanaQueryRefreshInterval` | `{ "pause": true, "value": 300000 }` |  |  |
| `sort` | `KibanaQuerySort` | `{ "field": "@timestamp", "direction": "desc" }` |  |  |

#### 过滤器

当使用过滤器时,您必须使用 `index` 属性.

支持的过滤器类型 :

-   存在 / 不存在(类型 = `exists`(中文(简体) )
-   是/不是(类型=) `query`(中文(简体) )
-   其中一个/ 不是其中一个(类型 = `phrases`(中文(简体) )
-   介于/ 不介于( 类型 =) `range`(中文(简体) )

“ 不” 过滤器可用于设置 `negate` 过滤器属性 `true`。 。 。 .

所有过滤器都是类型 `KibanaQueryFilter` 并共享以下属性:

| 财产 | 类型 | 默认 | 需求 | 说明 |
| --- | --- | --- | --- | --- |
| `type` | `string` | \- 说吧 | ✅ | 见下文实例 |
| `field` | `string` | \- 说吧 | ✅ | ES 字段名称 |
| `value` | `string|boolean|number|string[]` | \- 说吧 | ✅ | 见下文实例 |
| `negate` | `boolean` | `false` | \- 说吧 | 取消过滤器 |
| `alias` | `string` | _无_ |  | 过滤器别名 |
| `disabled` | `boolean` | `false` |  | 将过滤器标为已禁用 |

##### 已存在 / 不存在

```json5
{
  type: 'exists',
  field: 'statusCode'
}
```

##### 是/是没有

```json5
{
  type: 'query',
  field: 'namespace',
  value: 'kube-system'
}
```

##### 其中一个/ 不是一个

```json5
{
  type: 'phrases',
  field: 'namespace',
  value: ['kube-system', 'default']
}
```

##### 在/ 不在两者之间

```json5
{
  type: 'range',
  field: 'statusCode',
  value: [400, 499]
}
```

#### 期间

有三个时期的预设:

-   `quick` 财务报告和审定财务报表 `relative`: 使用日期 [弹性搜索日期数学](https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math), ie. 说吧. `now`, (中文(简体) ), `now-7d`等 (中文(简体) ).
-   `absolute`: 绝对日期

##### 快速相对周期( N)

```json5
{
  from: 'now-7d',
  to: 'now',
  mode: 'quick'
}
```

##### 绝对期间

```json5
{
  from: '2021-03-31T22:00:00.000Z',
  to: '2021-04-02T21:59:59.999Z',
  mode: 'absolute'
}
```

## 测试

```shell
npm run test
```

## 增强

-   [x] 添加过滤器支持
-   [ ] 添加测试: QQ WIP
-   [x] 添加缺失的过滤器: 是其中之一, 是介于
-   [x] 添加过滤器文档
-   [x] 增加前期文件
-   [ ] 添加可视化查询的支持

## 常见问题

### @clickandmortar/kibana-url-builder 是什么？

Kibana URL 构建器

### 如何安装 @clickandmortar/kibana-url-builder？

在项目目录运行 npm install @clickandmortar/kibana-url-builder，或使用 pnpm add / yarn add / bun add。

### @clickandmortar/kibana-url-builder 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @clickandmortar/kibana-url-builder 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @clickandmortar/kibana-url-builder 可以商用吗？

@clickandmortar/kibana-url-builder 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @clickandmortar/kibana-url-builder 的下载量有多少？

根据 npm 官方下载统计，@clickandmortar/kibana-url-builder 在 2026/10/10 – 2026/11/08 这 30 天内被下载 5,735 次，日均约 191 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @clickandmortar/kibana-url-builder 还在维护吗？

最新版本 0\.7\.2 发布于 2021/04/08（5 年前）；至今共发布 11 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/04/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

