Skip to main content

Kibana

提示

无明确需求时,通常不需要部署 Kibana。

Kibana 简介

Kibana 是一个开源的数据可视化和分析平台,专为 Elasticsearch 设计

它提供了一个直观的 Web 界面,让用户能够以交互式和可视化的方式查询存储在 Elasticsearch 中的数据

同时,结合 Metricbeat 可以很好的监控当前 Elasticsearch 集群中索引的性能情况

Kibana 部署

  1. 下载 kibana 安装包

    wget http://pdpublic.mingdao.com/private-deployment/offline/common/kibana-8.5.3-linux-x86_64.tar.gz
  2. 解压并移动至安装目录

    tar xf kibana-8.5.3-linux-x86_64.tar.gz
    mv kibana-8.5.3 /usr/local/kibana
  3. 修改 kibana 的配置文件

    cat > /usr/local/kibana/config/kibana.yml << EOF
    server.port: 5601
    server.host: "0.0.0.0"
    server.maxPayloadBytes: 10485760
    elasticsearch.hosts: ["http://192.168.10.10:9200"]
    elasticsearch.username: "kibana_system"
    elasticsearch.password: "123456"
    i18n.locale: "zh-CN"
    monitoring.ui.ccs.enabled: false
    server.publicBaseUrl: "https://mdy.domain.com:443/privatedeploy/mdy/monitor/kibana"
    server.basePath: "/privatedeploy/mdy/monitor/kibana"
    EOF
    • server.publicBaseUrlserver.basePath 是结合 nginx 反向代理使用,如果不需要配置代理,注释掉这两行,在部署完成后通过 本机IP:5601 地址访问即可
  4. 配置 elasticsearch 中 kibana_system 用户的 密码

    # 任意一台 Elasticsearch 节点上操作即可

    /usr/local/elasticsearch/bin/elasticsearch-reset-password -u kibana_system -i

    # 密码 123456 输入后终端不会显示,正常自定义密码黏贴或敲入即可
  5. 配置 kibana 启停脚本

    cat > /usr/local/kibana/start_kibana.sh << EOF
    nohup /usr/local/kibana/bin/kibana --allow-root &
    EOF

    cat > /usr/local/kibana/stop_kibana.sh << EOF
    kill \$(pgrep -f '/usr/local/kibana/bin')
    EOF

    chmod +x /usr/local/kibana/start_kibana.sh
    chmod +x /usr/local/kibana/stop_kibana.sh
  6. 启动 kibana

    cd /usr/local/kibana/ && bash start_kibana.sh
  7. 配置 nginx 反向代理,代理配置文件参考

    location /privatedeploy/mdy/monitor/kibana/ {
    proxy_pass http://192.168.10.10:5601;
    proxy_redirect off;
    proxy_buffering off;
    proxy_http_version 1.1;
    proxy_set_header Connection "Keep-Alive";
    proxy_set_header Proxy-Connection "Keep-Alive";
    rewrite ^/privatedeploy/mdy/monitor/kibana/(.*)$ /$1 break;
    }
  8. 代理配置好后,通过 https://mdy.domain.com:443/privatedeploy/mdy/monitor/kibana 地址访问即可

    • 账号/密码为 elasticsearch 的认证,默认初始用户 elastic,密码以实际配置的为准

Metricbeat 部署

每个 Elasticsearch 节点都需要部署

  1. 下载 metricbeat 安装包

    wget http://pdpublic.mingdao.com/private-deployment/offline/common/metricbeat-8.5.3-linux-x86_64.tar.gz
  2. 解压并移动至安装目录

    tar xf metricbeat-8.5.3-linux-x86_64.tar.gz
    mv metricbeat-8.5.3 /usr/local/metricbeat
  3. 进入 metricbeat 安装目录

    cd /usr/local/metricbeat
  4. 配置 metricbeat.yml 文件

    cat > metricbeat.yml <<EOF
    metricbeat.config.modules:
    path: ${path.config}/modules.d/*.yml
    reload.enabled: false

    setup.template.settings:
    index.number_of_shards: 1
    index.codec: best_compression

    setup.kibana:
    host: "192.168.10.10:5601"
    username: "elastic"
    password: "123456"

    output.elasticsearch:
    hosts: ["192.168.10.10:9200"]
    username: "elastic"
    password: "123456"

    processors:
    - add_host_metadata: ~
    - add_cloud_metadata: ~
    - add_docker_metadata: ~
    - add_kubernetes_metadata: ~
    EOF
  5. 管理监控模块

    ./metricbeat modules enable elasticsearch-xpack
    ./metricbeat modules disable system
  6. 配置 elasticsearch-xpack 模块文件

    cat > ./modules.d/elasticsearch-xpack.yml <<EOF
    - module: elasticsearch
    xpack.enabled: true
    period: 10s
    hosts: ["http://192.168.10.10:9200"]
    username: "elastic"
    password: "123456"
    EOF
  7. 初始化仪表盘

    ./metricbeat setup -e
    • 正常最后会输出 loaded dashboards,遇到 error 根据错误信息处理后重新初始化
  8. 配置启停脚本

    cat > /usr/local/kibana/start_metricbeat.sh << EOF
    nohup /usr/local/metricbeat/metricbeat -e &
    EOF

    cat > /usr/local/kibana/stop_metricbeat.sh << EOF
    kill \$(pgrep -f '/usr/local/metricbeat/metricbeat')
    EOF

    chmod +x /usr/local/metricbeat/start_metricbeat.sh
    chmod +x /usr/local/metricbeat/stop_metricbeat.sh
  9. 启动 metricbeat

    bash start_metricbeat.sh

页面使用指南

【堆栈检测】中可以查看集群监控信息

在【开发工具】中可以根据执行 ES 查询等相关语句