OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程

news2024/12/25 22:07:57

文章目录

    • 前言
    • 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!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2109418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html 页面引入 vue 组件之 http-vue-loader.js

一、http-vue-loader.js http-vue-loader.js 是一个 Vue 单文件组件加载器,可以让我们在传统的 HTML 页面中使用 Vue 单文件组件,而不必依赖 Node.js 等其他构建工具。它内置了 Vue.js 和样式加载器,并能自动解析 Vue 单文件组件中的所有内容…

运维学习————Jenkins(1)

目录 一、项目开发周期 二、jenkins的简介和作用 三、jenkins下载 1、使用war包安装 2、初始化配置 3、工作流程图 4、Jenkins安装配置maven和git maven git 5、jenkins安装插件 6、配置maven,git,jdk jdk配置 Git配置 Maven配置 四、修改tomcat的一些配置 五…

《Nginx怎么部署vue项目》

推荐学习文档 nginx https配置ssl证书实现访问https服务Nginx实现404页面的配置方法 在开始部署之前,我们先要准备好以下工作: 一个能跑通的Vue项目一个正常的、安装了nginx的服务器(可以是本地电脑)服务器上安装了Node.js&…

java设计模式day02--(创建型模式:工厂模式、原型模式、建造者模式)

4,创建型模式 4.2 工厂模式 4.2.1 概述 需求:设计一个咖啡店点餐系统。 设计一个咖啡类(Coffee),并定义其两个子类(美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】);再设…

企业必看!TPM管理咨询公司挑选全攻略

TPM(Total Productive Maintenance,全面生产维护 )作为一种先进的生产管理模式,旨在通过全员参与和持续改善,最大化设备综合效率(OEE),从而提升企业整体竞争力。然而,实施TPM并非一蹴…

基于Flink的流式计算可视化开发实践之配置->任务生成->任务部署过程

1. 引言 在我们大数据平台(XSailboat)的DataStudio模块中实现了基于Hive的业务流程开发和基于Flink的实时计算管道开发。 DataStudio是用来进行数据开发的,属于开发环境,另外还有任务运维模块,负责离线分析任务和实时计算任务在生产环境的部…

解决Metasploit调用Nessus报错问题

问题描述 Error while running command nessus_scan_new: undefined method []’ for nil:NilClass 解决方法 发现报错,经过网上查询解决方法 在Nessus服务器执行,下面的版本号可能有所不同,更加自己的情况更改,需要管理员身份执…

Vue2 day-01

目录 一. Vue 是什么? 1.1 什么是渐进式 1.2 自底向上逐层应用 二. 相关概念 2.1 为什么学习vue 2.2 库和框架区别 2.3 三大主流框架 三. vue基本使用 3.1 体验vue的使用 3.2 相关知识分析 3.3 插值表达式{{}} 3.4 vue-devtools 四. 指令 4.1 v-cloak…

深信服EasyConnect-Docker部署方式

一、项目简介 让深信服开发的非自由的 VPN 软件 EasyConnect 或 aTrust 运行在 docker 中,提供 socks5 和 http 代理服务和网关供宿主机连接使用。 项目地址: https://github.com/docker-easyconnect/docker-easyconnect 二、图形界面版 EasyConnect&…

Oceanbase 数据库审计

数据加密和访问控制可以大幅降低安全风险,但对于具备权限的用户,仍然需要记录其操作,以防止用户登录信息泄露,或者访问权限被滥用。审计功能可以加强企业对数据安全、合规等方面的要求,是跟踪用户行为最主要的工具。 目…

浏览器百科:网页存储篇-Session storage应用实例(九)

1.引言 在前面的文章中,我们详细介绍了如何在 Chrome 浏览器中打开并使用 Session storage 窗格,进行数据的查看、编辑和管理。作为网页存储技术的重要组成部分,sessionStorage在提升用户体验和数据管理能力方面发挥了重要作用。在本篇《浏览…

NAT技术-将多个内部网络设备映射到一个公共IP地址

问题: 今天上课的时候老师让我们在VMware填同一个子网ip 192.168.196.0,然后给我们的linux镜像都是同一个压缩包,结果我们的静态ip地址都是同一个。 192.168.196.0下面有256个ip地址,范围是192.168.196.0到192.168.196.255。我们…

CP-Net:用于生物细胞解析的实例感知部分分割网络|文献速递--基于深度学习的医学影像病灶分割

Title 题目 CP-Net: Instance-aware part segmentation network for biological cell parsing CP-Net:用于生物细胞解析的实例感知部分分割网络 01 文献速递介绍 实例分割是计算机视觉中的一个经典任务,用于识别图像中每个像素的对象类别&#xff0…

基于Android Studio 实现通讯录—原创

目录 一、项目演示 二、开发环境 三、项目详情 四、项目完整源码 一、项目演示 基于Android Studio 实现通讯录—原创 二、开发环境 三、项目详情 1.启动页 这段代码是一个简单的Android应用程序启动活动(Activity),具体功能如下&#xf…

【看雪-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

学习 SSM框架 项目总结

通过指导老师发布的学习SSM框架项目&#xff0c;这次我深刻体会到了SSM整体项目之间的紧连关系。 以下是我自己学习过程中总结出来的经验。 SSM框架 配置 导入核心 spring 组件坐标 将spring相关组件坐标&#xff0c;导入到 pom 文件中 <!--spring、springMVC--><…

集成电路学习:什么是RTOS实时操作系统

RTOS&#xff1a;实时操作系统 RTOS&#xff0c;全称Real Time Operating System&#xff0c;即实时操作系统&#xff0c;是一种专为满足实时控制需求而设计的操作系统。它能够在外部事件或数据产生时&#xff0c;以足够快的速度进行处理&#xff0c;并在规定的时间内控制生产过…

UE5.3 新学到的一些性能测试合计(曼巴学习笔记)

一.简单命令行 stat FPS stat unit //增加GPU渲染时间和变量 stat unitgraph //追加了图表显示 二.查看GPU的消耗。调试GPU渲染用的高级命令 可以记录这一刻各个部分的占用情况,只能看当前的 1.在编辑器下&#xff0c;ctrlShift, 。 2.输入命令行&#xff0c;pr…

硬件-经典的TL431三端稳压管

文章目录 一&#xff1a;TL431三端稳压管1.1 器件说明1.2 电路分析1.3 把TL431设计成一个可调电压源的电路1.4 常用型号1.5 阅读手册1.6 2.5V 电压基准应用电路道友&#xff1a;努力的意义&#xff0c;不在于一定会让你取得多大的成就&#xff0c;只是让你在平凡的日子里&#…

虚幻5|知识点(1)寻找查看旋转,击打敌人后朝向主角

举例说明&#xff0c;我们想让角色一直朝着摄像头&#xff0c;我们控制角色任意位置&#xff0c;都能自行旋转都能朝向摄像头 下面是敌人一直朝向角色&#xff0c;无论主角走向哪个位置&#xff0c;敌人都能朝向主角 start是获取敌人的位置向量大小&#xff0c;Target是获取主…