深入理解 Kibana 配置文件:一份详尽的指南

Kibana 是一个强大的数据可视化平台,它允许用户通过 Elasticsearch 轻松地探索和分析数据。Kibana 的配置文件 kibana.yml 是定制和优化 Kibana 行为的关键。在这篇博客中,我们将深入探讨 kibana.yml 文件中的各个配置项,并提供示例说明。

服务器设置

服务器端口

server.port:Kibana 后端服务器使用的端口。默认为 5601。

yaml 复制代码
server.port: 5601

服务器绑定地址

server.host:Kibana 服务器绑定的地址。默认为 "localhost"。

yaml 复制代码
server.host: "0.0.0.0"  # 允许所有网络接口访问

基础路径

server.basePath:如果 Kibana 运行在代理后面,可以指定一个路径。

yaml 复制代码
server.basePath: "/kibana"

请求重写

server.rewriteBasePath:是否重写带有 server.basePath 前缀的请求。

yaml 复制代码
server.rewriteBasePath: true

公共 URL

server.publicBaseUrl:Kibana 对外的公共 URL。

yaml 复制代码
server.publicBaseUrl: "https://kibana.example.com/kibana"

最大请求体大小

server.maxPayload:服务器请求的最大有效载荷大小,单位为字节。

yaml 复制代码
server.maxPayload: 1048576  # 1MB

服务器名称

server.name:Kibana 服务器的名称,用于显示。

yaml 复制代码
server.name: "My Kibana Server"

Elasticsearch 连接

Elasticsearch 地址

elasticsearch.hosts:Elasticsearch 服务器的 URL 列表。

yaml 复制代码
elasticsearch.hosts: ["https://es-cluster:9200"]

Kibana 索引

kibana.index:Kibana 存储保存的搜索、可视化和仪表板的 Elasticsearch 索引。

yaml 复制代码
kibana.index: ".kibana-int"

默认应用

kibana.defaultAppId:加载的默认应用程序。

yaml 复制代码
kibana.defaultAppId: "discover"

基本认证

elasticsearch.usernameelasticsearch.password:Elasticsearch 基本认证的用户名和密码。

yaml 复制代码
elasticsearch.username: "admin"
elasticsearch.password: "securepassword"

SSL 配置

server.ssl.enabledserver.ssl.certificateserver.ssl.key:启用 SSL 并指定证书和密钥路径。

yaml 复制代码
server.ssl.enabled: true
server.ssl.certificate: "/path/to/certificate.pem"
server.ssl.key: "/path/to/key.pem"

Elasticsearch SSL 配置

elasticsearch.ssl.certificateelasticsearch.ssl.key:Elasticsearch 客户端 SSL 认证。

yaml 复制代码
elasticsearch.ssl.certificate: "/path/to/client.crt"
elasticsearch.ssl.key: "/path/to/client.key"

证书颁发机构

elasticsearch.ssl.certificateAuthorities:Elasticsearch 实例的 CA 证书路径。

yaml 复制代码
elasticsearch.ssl.certificateAuthorities: [ "/path/to/CA.pem" ]

SSL 验证模式

elasticsearch.ssl.verificationMode:SSL 证书验证模式。

yaml 复制代码
elasticsearch.ssl.verificationMode: certificate

Elasticsearch 响应超时

elasticsearch.pingTimeoutelasticsearch.requestTimeout:Elasticsearch 响应和请求超时设置。

yaml 复制代码
elasticsearch.pingTimeout: 1500
elasticsearch.requestTimeout: 30000

请求头白名单

elasticsearch.requestHeadersWhitelist:允许发送到 Elasticsearch 的客户端请求头。

yaml 复制代码
elasticsearch.requestHeadersWhitelist: [ "authorization" ]

自定义请求头

elasticsearch.customHeaders:发送到 Elasticsearch 的自定义请求头。

yaml 复制代码
elasticsearch.customHeaders:
  X-My-Custom-Header: "Value"

日志和性能监控

日志文件

logging.dest:日志输出的文件路径。

yaml 复制代码
logging.dest: "/path/to/kibana.log"

日志级别

logging.silentlogging.quietlogging.verbose:控制日志输出的详细程度。

yaml 复制代码
logging.verbose: true

性能监控间隔

ops.interval:系统和进程性能指标的采样间隔。

yaml 复制代码
ops.interval: 5000

国际化和本地化

语言设置

i18n.locale:Kibana 的语言环境设置。

yaml 复制代码
i18n.locale: "zh-CN"

结论

理解并正确配置 kibana.yml 文件对于优化 Kibana 的性能和安全性至关重要。通过上述示例,你可以根据自己的需求调整 Kibana 的行为,确保它能够安全、高效地与 Elasticsearch 集成。记得在修改配置文件后重启 Kibana 服务以使更改生效。

相关推荐
Trouvaille ~2 分钟前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
久绊A30 分钟前
春节前云平台运维深度巡检-实操经验
运维·安全·容器·kubernetes·云平台
梦想的旅途21 小时前
企业微信API外部群自动化推送:从“群发工具”到“智能触达”的架构实践
运维·自动化·企业微信
yuezhilangniao1 小时前
Next.js 项目运维手册-含-常用命令-常见场景
运维·开发语言·reactjs
Trouvaille ~2 小时前
【Linux】网络编程基础(三):Socket编程预备知识
linux·运维·服务器·网络·c++·socket·网络字节序
德迅云安全—珍珍2 小时前
低配服务器性能不够用怎么去优化?
运维·服务器
酣大智2 小时前
DHCP中继配置实验
运维·网络·网络协议·tcp/ip·华为
倔强菜鸟2 小时前
2026.2.2--Jenkins的基本使用
java·运维·jenkins
笑锝没心没肺2 小时前
Linux Audit 系统配置介绍
linux·运维·服务器
代码游侠3 小时前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习