Kibana 轻松玩转 ELK 日志分析,日志可视化 + 远程访问一键搞定!cpolar 内网穿透实验室第 776 个成功挑战

0 阅读13分钟

在这里插入图片描述

软件名称:Kibana(ELK 核心组件)+ cpolar(内网穿透工具)

操作系统支持

  • Kibana:CentOS 7.6 及以上(x86_64 架构)、Ubuntu 18.04+、Debian 10 + 等主流 Linux 发行版(默认端口 5601)

  • cpolar:支持 Linux(CentOS/Ubuntu/Debian)、Windows 7/10/11、macOS 10.14+、Android(全平台适配)

软件介绍

Kibana 是 ELK(Elasticsearch+Logstash+Kibana)栈的 “可视化大脑”,把杂乱的服务器日志、业务数据变成直观的图表、仪表盘,不用敲复杂命令就能看懂数据趋势、定位故障;cpolar 是一款 “零门槛” 内网穿透工具,不用配置路由器、不用买公网 IP,一条命令就能把内网的 Kibana 服务映射到公网,随时随地访问。

在这里插入图片描述

Kibana 的出色功能

Kibana 最牛的不是 “画漂亮图表”,而是把 “日志大海” 变成 “精准导航”:

  • 日志探索像搜微信聊天:输入关键词、时间范围、字段筛选(比如 “error”+“2024-05-01”+“nginx”),秒级定位异常日志,再也不用grep从头翻到尾;
  • 仪表盘自定义拉满:把服务器 CPU、错误日志数量、订单量等图表拼在一个大屏,运维时扫一眼就知道系统状态,不用切多个页面;
  • 告警不等人:设置错误率超过 5% 就触发邮件 / 微信通知,半夜不用守服务器,异常情况主动找你,再也不用等用户投诉才发现问题。

在这里插入图片描述

实用场景

场景 1:中小公司运维监控
  • 痛点:小公司没预算买高端监控系统,运维人员少,服务器日志散在多台机器,故障定位慢,还经常需要出差处理问题,但内网 Kibana 没法远程看;
  • 爽点:部署 Kibana 后统一收集所有服务器日志,仪表盘实时监控核心指标;用 cpolar 穿透后,出差时在高铁站、咖啡馆打开手机浏览器就能看 Kibana,5 分钟定位故障,不用远程指挥同事操作,省出时间摸鱼。
场景 2:开发调试微服务日志
  • 痛点:开发时微服务部署在本地内网,联调阶段前端反馈接口报错,需要查日志,但测试环境的 Kibana 只能在公司内网访问,居家办公时根本看不了;
  • 爽点:用 cpolar 把内网 Kibana 映射到公网,居家办公时打开笔记本就能直接分析日志,不用麻烦同事帮忙查,调试效率提升 80%,下班还能准时走。

在这里插入图片描述

cpolar 内网穿透技术带来的便利

本来 Kibana 再好用,也只能 “困” 在内网里,而 cpolar 直接给 Kibana 开了 “公网通行证”,这些便利谁用谁香:

  1. 不用求网管配端口映射:以前想远程访问内网 Kibana,得让网管改路由器设置、开防火墙端口,流程走半天还不一定批;现在装个 cpolar,一键创建隧道,不用动任何网络配置,秒级生成公网地址。
  2. 没有公网 IP 也能玩:租房、中小企业办公网络大多没有公网 IP,想远程访问 Kibana 根本没辙;cpolar 不用公网 IP,不管是公司内网、家里宽带,甚至 4G 热点,都能把 Kibana 映射出去。
  3. 固定地址不翻车:刚开始用 cpolar 会生成随机公网地址,怕记不住?一键预留二级子域名,比如kibana-cpolar.cn,以后不管重启多少次,地址都不变,收藏夹存好就能一直用。
  4. 多设备无缝访问:手机、平板、笔记本,不管是 iOS 还是 Android,只要能打开浏览器,输入 cpolar 给的公网地址,就能登录 Kibana 看日志,再也不用局限在公司电脑前。
  5. 安全不翻车:cpolar 的隧道加密传输,不用担心日志数据在公网传输时泄露,比自己搭 VPN 简单还安全,不用懂复杂的网络安全配置。
  6. 团队协作更丝滑:把 cpolar 生成的 Kibana 公网地址分享给同事,远程团队不用连公司 VPN,直接访问就能一起分析日志、排查问题,沟通效率翻番。

在这里插入图片描述

总结

Kibana 是运维 / 开发的 “日志翻译官”,把看不懂的原始日志变成能指导决策的可视化图表,解决了日志排查效率低、故障定位慢的核心痛点;而 cpolar 是 Kibana 的 “公网翅膀”,打破了内网的限制,让 Kibana 从 “只能在公司用的工具” 变成 “随时随地能用的神器”。

不用复杂配置、不用高成本投入,ELK+cpolar 的组合,既搞定了日志分析的核心需求,又解决了远程访问的痛点,不管是中小团队运维、开发调试,还是企业 IT 管理,都能以最低的成本实现最高效的可观测性体系 —— 让日志说话,让运维不加班!

运维不加班!秘籍在下面!为了17:00后的自由快安装吧!

本文将带你从零开始,一步步完成ELK栈的部署、日志接入、索引优化,并深入Kibana的核心功能——从创建第一个仪表盘,到实现多维度日志钻取;从实时错误追踪,到构建专属运维洞察体系。

让日志说话,让问题无处遁形。现在,就从Kibana开始你的可观测性之旅。

image-20260305173514273

1.什么是Kibana?

Kibana是由Elastic公司开发的一款开源数据可视化与分析平台,它是ELK技术栈(Elasticsearch、Logstash、Kibana)中的“眼睛”——专门用于探索、分析和展示存储在Elasticsearch中的数据。

Kibana能做什么?

功能说明
📊 可视化 (Visualizations)创建柱状图、折线图、饼图、热力图、地图等,直观展示数据趋势
🖼️ 仪表盘 (Dashboards)自由组合多个图表,打造专属监控大屏(如:服务器负载 + 错误日志 + 用户行为)
🔍 数据探索 (Discover)像用搜索引擎一样查询原始日志,支持关键词、字段过滤、时间范围筛选
⚠️ 告警与监控 (Alerting & Monitoring)当错误率突增、CPU过高时自动触发通知(邮件、Webhook等)
🤖 机器学习 (Machine Learning)自动检测异常流量、异常登录、性能突变等(需X-Pack或Elastic订阅版)
🔐 安全与权限管理控制谁能看到哪些数据(企业版功能)
🔍 日志与APM分析结合Beats或APM Agent,实现应用性能监控(APM)、用户体验追踪

典型使用场景

  • 运维监控:实时查看Nginx、系统、数据库日志,快速定位故障。
  • 安全审计:分析SSH登录日志,发现暴力破解行为。
  • 业务分析:追踪用户点击流、订单转化率、地域分布。
  • DevOps可观测性:统一监控微服务日志、指标、链路追踪(配合Elastic APM)。

技术特点

  • 基于Web:通过浏览器访问(默认端口5601),无需安装客户端。
  • 深度集成Elasticsearch:所有数据必须先存入ES,Kibana才能读取。
  • 插件化架构:支持自定义插件扩展功能。
  • 开源免费:核心功能完全开源(Apache 2.0协议),高级功能需订阅Elastic官方服务。

2.安装ELK前提条件

系统环境要求

项目要求
操作系统CentOS 7.6 或更高(推荐 7.9)
架构x86_64(64位)
用户权限需要 root 或具有 sudo 权限的用户
网络能访问外网(用于下载 RPM 包或 Elastic 官方仓库)

硬件资源建议(最低 vs 推荐)

组件最低配置推荐配置(生填)
内存4 GB RAM≥ 8 GB(Elasticsearch 至少 4GB)
CPU2 核≥ 4 核
磁盘20 GB 可用空间≥ 100 GB SSD(日志量需更多)
Swap禁用 Swap(Elasticsearch 强制要求)必须关闭

关闭 Swap(必须!)

关闭 Swap

# 临时关闭
sudo swapoff -a

# 永久关闭:注释 /etc/fstab 中的 swap 行
sudo sed -i '/swap/s/^/#/' /etc/fstab

依赖软件:

  1. Java运行环境(仅Elasticsearch和Logstash需要)
  • Elasticsearch 8.x:自带JDK(无需单独安装)
  • Elasticsearch 7.x:需Java 11或Java 17(官方推荐捆绑JDK)

建议:使用Elastic官方RPM包(自带兼容JDK),不要手动安装OpenJDK,避免版本冲突。

创建Elasticsearch用户

adduser elasticsearch  # 创建名为 'elasticsearch' 的新用户
passwd elasticsearch  # 为 'elasticsearch' 用户设置密码

3.安装Elasticsearch

导入Elasticsearch GPG密钥

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

创建Elasticsearch仓库文件

sudo vi /etc/yum.repos.d/elasticsearch.repo 

添加以下内容

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

de33a22a64bd324831ce523e1946c311

4.安装Logstash

安装Logstash

sudo yum install logstash -y

配置Logstash: 创建一个简单的Logstash配置文件:

sudo vi /etc/logstash/conf.d/logstash.conf

添加以下内容:

input {
beats {
port => 5044
}
}

output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logstash-%{+YYYY.MM.dd}"
}
stdout { codec => rubydebug }
}

fbccf7e441bd42dd21e8898db7d081fe

启动并启用Logstash

sudo systemctl enable logstash
sudo systemctl start logstash

5.安装Kibana

下载Kibana:

iptables -nvL  # 显示当前iptables规则
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.15.0-linux-x86_64.tar.gz

459ccba1aa7b41eda75bf40040e0b975

解压并设置Kibana的权限:

tar -zxvf kibana-7.15.0-linux-x86_64.tar.gz  # 解压Kibana存档
chown -R elasticsearch kibana-7.15.0-linux-x86_64  # 将Kibana文件的所有权更改为 'elasticsearch' 用户

修改kibana名称:

mv kibana-7.15.0-linux-x86_64/ kibana
chown -R elasticsearch kibana

312f40f436381aef31c29c293be69d3f

移动到用户的主目录并设置权限:

cp -r elasticsearch /home/elasticsearch/  # 将Elasticsearch文件复制到 'elasticsearch' 用户的主目录
cp -r kibana /home/elasticsearch/  # 将Kibana文件复制到 'elasticsearch' 用户的主目录
cd /home/elasticsearch/  # 移动到 'elasticsearch' 用户的主目录
chown -R elasticsearch kibana/
chown -R elasticsearch elasticsearch/

82caafd819274f70a12f97c4f168b723

编辑配置文件:

sudo vi /etc/kibana/kibana.yml

修改以下内容:

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

启动并启用Kibana:

./bin/kibana

b37985ac5ca300b2e2aa9f7da910f80f

过浏览器访问 http://localhost:5601/,Kibana的Web界面应该可见。

79b026ae089dbc8f5dfeb848247e0c5c

6.如何使用Kibana

验证是否成功检测到elasticsearch,创建一个pro索引:

x curl -X POST "http://localhost:9201/pro/_doc" \-H "Content-Type: application/json" \-d '{  "name": "iPhone 15",  "price": 7999,  "category": "phone"}'

image-20260305162035063

然后去可视化页面查看是否创建成功,刷新页面后创建成功:

image-20260305162203401

创建和管理索引模式,帮助你从Elasticsearch中检索数据。

image-20260305163102194

查看并编辑字段 *****。字段属性,如类型和可搜索性,基于以下条件场映射(在新标签页或新窗口中打开)在Elasticsearch中。

image-20260305163131718

config/kibana.yml添加:

i18n.locale: "zh-CN"

重新启动,即可生效。

image-20260305163904873

在开发工具中,进行简单查询:

curl -X GET "http://localhost:9201/products/_search?q=name:iphone&pretty"

image-20260305164115817

image-20260305164234908

创建索引:

curl -X PUT "http://localhost:9201/xinke?pretty"

image-20260305164357502

写入文档:

curl -X POST "http://localhost:9201/xinke/_doc" \
-H "Content-Type: application/json" \
-d '{
  "name": "iPhone 15",
  "price": 7999,
  "category": "phone"
}'

image-20260305164619108

7.如何使用可视化

kibana可视化控件基于Elasticsearch的查询。利用一系列的Elasticsearch查询聚合功能来提取和处理数据,再通过创建图表来呈现数据分布和趋势

点击Visualize菜单,进入可视化图表创建界面:

image-20260305164908380

Kibana自带有上10种图表,我们来创建一个自己的图表。

image-20260305165226139

我们选择添加一个垂直条形图:

image-20260305165257392

image-20260305165400651

添加X轴和Y轴:

image-20260305165901055

image-20260305165838709

执行后如下:

image-20260305170030466

保存后显示

image-20260305170106132

搭建和使用的过程,理解后,是不是感觉很简单?

在现代可观测性架构中,Kibana作为Elasticsearch的可视化前端,常用于日志分析、指标监控和数据探索。然而,在实际部署中,用户常常面临一个挑战:如何安全、便捷地将本地或内网中的Kibana服务暴露到公网,供远程团队访问?

这时,cpolar的价值就凸显出来了。

cpolar提供了一种零运维成本、高安全性的解决方案——无需云服务器、无需公网IP、无需网络知识,一条命令即可打通内外网。

无论是开发调试、客户演示,还是应急排查,cpolar + Kibana的组合都能显著提升协作效率与响应速度。

8.安装cpolar实现随时随地开发

8.1 什么是cpolar?

cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。

8.2 部署cpolar

cpolar 可以将你本地电脑中的服务(如 SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。

❤️以下是安装cpolar步骤:

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

image-20250725104019896

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

22e5adfaf290a17fc3384bb296055259

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

8a6698b1bf26d64ba3645827fbfb1c29

9.配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:kibana,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:5601
  • 域名类型:随机域名
  • 地区:选择China Top

image-20260305172359212

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

image-20260305172822825

访问成功。

image-20260305172903981

10.保留固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

image-20250918151358733

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是kibanaa,大家可以自定义。填写备注信息,点击保留。

image-20260305173049996

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20260305173121513

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20260305173244470

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20260305173404920

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20260305173455964

总结

至此,我们已从零开始完成了ELK栈的核心组件安装、Kibana的基础配置、索引模式的创建,到最终实现日志数据的可视化分析。无论是排查系统异常、监控应用性能,还是洞察用户行为,Kibana都为你提供了一个强大而直观的窗口。

而当你需要将这一能力延伸至团队协作或远程访问时,像cpolar这样的内网穿透工具,更能让你在不依赖公网IP或复杂网络配置的前提下,安全、高效地共享你的观测视图。

技术的价值在于落地。现在,你的ELK系统已经就绪——

是时候把日志变成洞察,让数据真正说话了。