当前位置: 首页 > news >正文

内网穿透的应用-本地化部署Elasticsearch平替工具OpenObserve并实现无公网IP远程分析数据

文章目录

    • 前言
    • 1. 安装Docker
    • 2. Docker镜像源添加方法
    • 3. 创建并启动OpenObserve容器
    • 4. 本地访问测试
    • 5. 公网访问本地部署的OpenObserve
      • 5.1 内网穿透工具安装
      • 5.2 创建公网地址
    • 6. 配置固定公网地址

前言

本文主要介绍如何在Linux系统使用Docker快速本地化部署OpenObserve云原生可观测平台,并结合cpolar内网穿透工具轻松实现远程访问本地搭建的平台界面管理和可视化各种可观察数据。

OpenObserve是一个基于 Rust 的云原生可观察性平台,可以处理 PB 级的数据,是一款用于日志、指标、分析和追踪,真实用户监控(RUM)的可观测工具,与需要理解和调整大量设置的Elasticsearch相比,它简单明了,易于操作。而且日志存储成本降低约 140 倍,几分钟就能快速部署并运行观察。

除此之外,OpenObserve有着全面的数据支持,如日志、指标、跟踪数据,并完全兼容 OpenTelemetry。具备高级查询功能,支持 SQL 和 PromQL 查询,提供丰富的数据可视化选项。还自带用户界面,无需单独安装,可以无缝替代Elasticsearch。

目前已经获得了11+K的star,支持多平台本地化部署,接下来就详细演示一下如何在ubuntu使用docker快速部署。

Home

1. 安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker

在终端中执行下方命令安装docker:

sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

如果上边命令中访问不了Github,可以使用Gitee的链接安装:

sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

然后启动Docker即可

sudo systemctl start docker

2. Docker镜像源添加方法

如因网络问题拉取不到镜像,

可尝试在终端执行 sudo nano /etc/docker/daemon.json

输入:

{
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}

保存退出

然后执行:

sudo systemctl restart docker

3. 创建并启动OpenObserve容器

执行下方命令:

sudo docker run -d \--name openobserve \-v $PWD/data:/data \-p 5080:5080 \-e ZO_ROOT_USER_EMAIL="root@example.com" \-e ZO_ROOT_USER_PASSWORD="Complexpass#123" \public.ecr.aws/zinclabs/openobserve:latest

1725437266404

4. 本地访问测试

启动OpenObserve容器后,打开浏览器输入ubuntu主机IP加端口号5080即可访问其Web UI 界面。

7c358bb0cbf12d20fde1757e4062134

输入启动容器时,设置的登录邮箱(root@example.com)和密码(Complexpass#123)即可登录:

image-20240904161245205

在采集页面,可以使用多种遥测数据的采集方式添加数据:

1725438196962

日志

Logs

可视化和仪表板

Dashboard

Dashboard

前端监控

性能分析

Performance

会话重放

Session replay

警报

Alerts

5. 公网访问本地部署的OpenObserve

不过我们目前只能在本地访问刚刚使用docker部署的OpenObserve平台,如果出门在外,想要随时远程访问在本地内网主机server上部署的O2查看数据,应该怎么办呢?

我们可以使用cpolar内网穿透工具来实现公网环境下的远程访问需求。

5.1 内网穿透工具安装

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

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

image-20240801132238671

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

sudo systemctl status cpolar

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

image-20240801133735424

5.2 创建公网地址

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

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

1725438550809

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在异地使用其他电脑或手机平板,使用任意一个地址打开浏览器中访问即可。

1725438697933

如下图所示,成功实现在异地使用公网地址远程访问本地部署的 OpenObserve平台Web UI 界面 !

image-20240904163350281

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地搭建的OpenObserve或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还能获得更高的带宽和更多的功能,那我推荐大家为本地部署的服务配置一个固定的二级子域名。

6. 配置固定公网地址

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是myoo1,大家也可以自定义喜欢的名称。

1725439136256

保留成功后复制保留成功的二级子域名的名称:myoo1,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道OpenObserve,点击右侧的编辑:

1725439221797

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

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

点击更新(注意,点击一次更新即可,不需要重复提交)

1725439275429

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

1725439345495

最后,我们使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的二级子域名公网地址就设置好了,随时随地都可以远程访问本地部署的 openobserve 平台来观测数据了。

1725439510447

以上就是如何在Linux Ubuntu系统使用Docker本地化部署openobserve,并结合cpolar内网穿透工具配置公网地址,实现随时随地远程访问本地搭建服务的全部流程,感谢您的观看。如果你有公开一个本地网站、远程开发调试、远程控制各种系统桌面等需求,不妨下载体验一下cpolar!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • xilinx通用RAM或者FIFO设计
  • 直播相关01-录制麦克风声音,QT上 .pro 将 linux,mac和windows上配置为三种可以共享,
  • 【阿雄不会写代码】全国职业院校技能大赛GZ036第九套
  • 前端开发的单例设计模式
  • 内网穿透的应用-Deepin系统安装x11vnc实现任意设备无公网IP远程连接Deepin桌面
  • ITK-高斯滤波
  • 【数据结构与算法】——学习笔记
  • liunx io模型多路复用
  • 2024年【甘肃省安全员C证】报名考试及甘肃省安全员C证考试总结
  • MyBatis详解
  • ios签名怎么找靠谱的服务商
  • 睿考网:中级经济师考试题型有哪些?
  • 小米嵌入式面试题目RTOS面试题目 嵌入式面试题目
  • 【QT Creator】基本使用
  • 2025通信硕士找工作纪实
  • JavaScript-如何实现克隆(clone)函数
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • DataBase in Android
  • ES6语法详解(一)
  • ES学习笔记(12)--Symbol
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • LintCode 31. partitionArray 数组划分
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • vuex 笔记整理
  • 前端之React实战:创建跨平台的项目架构
  • 前嗅ForeSpider采集配置界面介绍
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 时间复杂度与空间复杂度分析
  • 微信开放平台全网发布【失败】的几点排查方法
  • 智能网联汽车信息安全
  • 主流的CSS水平和垂直居中技术大全
  • 交换综合实验一
  • ​渐进式Web应用PWA的未来
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #window11设置系统变量#
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (三)docker:Dockerfile构建容器运行jar包
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ******之网络***——物理***
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET 分布式技术比较
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .Net的DataSet直接与SQL2005交互
  • .net快速开发框架源码分享
  • ::before和::after 常见的用法
  • @Bean注解详解
  • @ConditionalOnProperty注解使用说明