您的位置:

Kibana配置详解

一、kibana配置文件

Kibana配置文件位于Kibana根目录下的config文件夹中,包含了一些必须的配置信息,如Kibana服务器启动的端口、Elasticsearch集群地址等。

以下是一份配置文件的示例:

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]

在这个示例中,Kibana服务器会启动在5601端口,绑定在本地主机上,Elasticsearch集群地址为http://localhost:9200。

二、kibana配置es的地址

Kibana使用Elasticsearch作为后端数据存储,因此需要指定Elasticsearch的地址。

在配置文件中,可以通过elasticsearch.hosts参数来指定Elasticsearch地址,如下所示:

elasticsearch.hosts: ["http://localhost:9200"]

这里将Elasticsearch地址设置为http://localhost:9200。

三、kibana配置参数

Kibana提供了许多配置参数,这些参数可以通过配置文件来设置。下面列举了一些常用的配置参数:

  • server.port: Kibana服务器监听的端口,默认为5601。
  • server.host: Kibana服务器绑定的主机名或ip,默认为“localhost”。
  • elasticsearch.hosts: Elasticsearch集群地址。
  • logging.dest: Kibana日志输出路径。
  • path.data: Kibana数据存储路径。
  • xpack.reporting.encryptionKey: 报告加密密钥。
  • xpack.reporting.csv.maxSizeBytes: 报告导出的CSV文件大小限制。

四、kibana配置用户

在Kibana中可以定义用户和角色,并配置相应的权限。要配置用户,可以使用Kibana的Security功能,支持基于X-Pack或Open Distro的安全性。

以下是一份使用Open Distro Security的Kibana配置文件中的用户配置示例:

elasticsearch.username: kibanaserver
elasticsearch.password: kibanaserver
opendistro_security.auth.type: "basicauth"
opendistro_security.auth.basic.user: "kibanaserver"
opendistro_security.auth.basic.password: "kibanaserver"

上面的配置文件中,定义了一个名为“kibanaserver”的用户,密码也为“kibanaserver”。Kibana使用这个用户来访问Elasticsearch。

五、kibana配置下拉菜单

Kibana中的下拉菜单可以在应用程序中添加任意的选项。

以下示例代码可以用于定义一个包含“Settings”和“Log Out”选项的下拉菜单:

uiSettings:
  overrides:
    timepicker:
      timeDefaults.interval: '5s'
    menu:
      kibana:logout:
        order: -100
        role: all
        icon: 'logOut'
        label: 'Log Out'
      kibana:settings:
        order: -101
        role: all
        icon: 'gear'
        label: 'Settings'

六、kibana配置在nacos

在Kibana中使用Nacos配置中心存储配置信息,可以方便地管理和修改配置。

以下示例使用Nacos配置中心将Kibana配置信息存储在名为“kibana”、ID为“kibana.yml”的配置项下:

spring:
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        namespace: 8e5aa65e-1694-4f16-93c4-af0f05f3xxxx
        group: DEFAULT_GROUP
        file-extension: yml
        config-long-poll-timeout: 30000
      discovery:
        server-addr: localhost:8848
  application:
    name: kibana
    context-path: ""
    java:
      agent: /path/to/elastic-apm-agent.jar

七、kibana配置es集群

Kibana和Elasticsearch通常是部署在一个集群中,但是也可以配置Kibana连接到多个Elasticsearch集群。

以下示例代码可以用于将Kibana配置为连接到两个Elasticsearch集群(http://es-cluster1:9200和http://es-cluster2:9200):

elasticsearch.hosts: ["http://es-cluster1:9200", "http://es-cluster2:9200"]

八、kibana配置微信报出错误日志

Kibana的日志输出可以配置为发送到微信上,当Kibana发生错误时,可以收到微信提醒。

以下示例代码可以用于将Kibana的日志输出配置为发送到微信:

logging:
  appenders:
    file:
      type: file
      fileName: kibana.log
      layout:
        type: pattern
        pattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"
    weixin:
      type: io.github.fengyueqiao.marscenter.wx.WxAppender
      appId: "wxXXXXXXXXXXXXXXXX"
      appSecret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
      toUser: "user1|user2"
      toParty: ""
      toTag: ""
  loggers:
    root:
      level: info
      appenders: [file, weixin]

上面的代码中,配置了一个名为“weixin”的日志输出器,使用io.github.fengyueqiao.marscenter.wx.WxAppender实现将日志发送到微信上,其中appId和appSecret是微信公众号的应用ID和应用密钥,toUser、toParty、toTag分别是微信用户、部门、标签的标识。