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

监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南

文章目录

    • 前言
    • 1. 安装Docker
    • 2. 创建并启动OpenObserve容器
    • 3. 本地访问测试
    • 4. 公网访问本地部署的OpenObserve
      • 4.1 内网穿透工具安装
      • 4.2 创建公网地址
    • 5. 配置固定公网地址

前言

今天,我想分享一个在云原生可观测性领域备受关注的开源项目——OpenObserve。在复杂的云原生环境中,快速定位和解决服务故障至关重要。

传统的监控和日志分析工具往往面临性能瓶颈和高昂的成本问题。如果能够找到一种高性能、可扩展且经济高效的解决方案,将极大地提升运维效率。

OpenObserve 旨在提供一种全新的可观测性平台,它能够处理大规模的数据流,并提供强大的查询和分析功能。通过OpenObserve,运维团队可以更快地发现问题、诊断根本原因并优化系统性能。

Home

1. 安装Docker

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

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

2. 创建并启动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

3. 本地访问测试

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

7c358bb0cbf12d20fde1757e4062134

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

image-20240904161245205

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

1725438196962

日志

Logs

可视化和仪表板

Dashboard

Dashboard

前端监控

性能分析

Performance

会话重放

Session replay

警报

Alerts

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

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

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

4.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

4.2 创建公网地址

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

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

1725438550809

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

1725438697933

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

image-20240904163350281

小结

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

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

5. 配置固定公网地址

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

1725439136256

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

1725439221797

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

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

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

1725439275429

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

1725439345495

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

1725439510447

总之,选择OpenObserve就像找到了一个随时待命的超级英雄。它不仅能让你的数据管理变得轻而易举,还能在同事面前展示你的技术大神风范。还在被海量数据折磨得抓耳挠腮吗?别再犹豫啦,快来试试OpenObserve吧!保证让你从此告别加班狗的生活,轻松应对各种挑战,成为职场上的超级明星!

相关文章:

监控系统进阶方案:OpenObserve的Docker部署与远程访问配置指南

文章目录 前言1. 安装Docker2. 创建并启动OpenObserve容器3. 本地访问测试4. 公网访问本地部署的OpenObserve4.1 内网穿透工具安装4.2 创建公网地址 5. 配置固定公网地址 前言 今天,我想分享一个在云原生可观测性领域备受关注的开源项目——OpenObserve。在复杂的云…...

如何通过grep 排除“INTEGER: 1”

在 Linux/Unix 系统中,使用 grep 过滤数据并 取反(排除匹配内容) 的核心选项是 -v(反向匹配)。以下是具体用法和场景示例: 1. 基础用法:排除包含指定关键词的行 # 语法 grep -v "pattern&…...

基于Qt开发的http/https客户端

成果展示: 使用Qt开发HTTP客户端主要依赖QNetworkAccessManager、QNetworkRequest和QNetworkReply三大核心类。以下是具体实现要点及最佳实践: 一、核心类与基础流程​​ 1.QNetworkAccessManager​​ 作为HTTP请求的管理者,负责异步处理…...

微程序控制器的详细工作过程

1. 基本组成结构 微程序控制器主要由以下部件构成: 控制存储器(Control Store, CS):存储微程序(微指令集合),通常使用ROM或EPROM。 微地址寄存器(μAR):存放…...

PostgreSQL 的 pg_current_logfile 函数

PostgreSQL 的 pg_current_logfile 函数 pg_current_logfile() 是 PostgreSQL 9.6 版本引入的一个系统管理函数,用于获取当前正在使用的日志文件路径。 一 基本用法 1 函数定义 pg_current_logfile([text]) → text2 简单查询 -- 获取当前日志文件路径 SELECT …...

实时云渲染——比像素流送节省80%精力的UE程序推流技术

UE5引擎除了适合开发3A游戏,同样适用于开发大场景高精度的数字孪生可视化场景,自带的Nanite 虚拟微多边形几何体技术、Lumen 全动态全局光照技术、高度可扩展的架构、强大的地形和植被系统以及高效的流媒体技术,使UE5在数字孪生领域的技术占有…...

如何解决 Linux 系统文件描述符耗尽的问题

在Linux系统中,文件描述符(File Descriptor, FD)是操作系统管理打开文件、套接字、管道等资源的抽象标识。当进程或系统耗尽文件描述符时,会导致服务崩溃、连接失败等严重问题。以下是详细的排查和解决方案: --- ###…...

存储器:DDR和HBM的区别

本文简要介绍DDR(Double Data Rate SDRAM)和HBM(High Bandwidth Memory)的主要区别: 1. 架构与设计 DDR:传统的主流动态随机存取存储器(DRAM),采用并行总线架构&#x…...

【计算机网络】Cookie、Session、Token之间有什么区别?

大家在日常使用浏览器时可能会遇到:是否清理Cookie?这个问题。 那么什么是Cookie呢?与此相关的还有Session、Token这些。这两个又是什么呢? 本文将对这三个进行讲解区分,如果对小伙伴有帮助的话,也请点赞、…...

每日学习:DAY24

日常开发与学习记录 前言 怎么感觉自己越来越懒了。 日程 忘记写了,大概是早上做了 SQL 表单,晚上写了 DispatcherController。 学习记录 操作系统 页面分配置换策略 学习内容 省流 SQL 表单构建关于嵌套注解的生效机制DispatcherController 统…...

grpo原理

图解deepseek的grpo原理、以debug形式阅读grpo的源码 练习两天半,从零实现DeepSeek-R1(基于Qwen2.5-0.5B和规则奖励模型,GRPO),从原理讲解到代码实现,解开DeepSeek-R1的神秘面纱 第一个视频 GRPO讲解 mod…...

RabbitMQ--基础篇

RabbitMQ 简介:RabbitMQ 是一种开源的消息队列中间件,你可以把它想象成一个高效的“邮局”。它专门负责在不同应用程序之间传递消息,让系统各部分能松耦合地协作 优势: 异步处理:比如用户注册后,主程序将发…...

ResNet残差神经网络的模型结构定义(pytorch实现)

ResNet残差神经网络的模型结构定义(pytorch实现) ResNet‑34 ResNet‑34的实现思路。核心在于: 定义残差块(BasicBlock)用 _make_layer 方法堆叠多个残差块按照 ResNet‑34 的通道和层数配置来搭建网络 import torch…...

如何使用极狐GitLab 软件包仓库功能托管 ruby?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 软件包库中的 Ruby gems (BASIC ALL) WARNING:Ruby gems 软件包库正在开发中,由于功能有限,尚未准备好…...

AI日报 · 2025年5月08日|Stripe发布全球首个支付AI基础模型

1、Stripe 发布支付领域专用 AI 基础模型及稳定币账户功能 Stripe 于5月7日在其年度 Sessions 大会上发布了全球首个专为支付领域打造的 AI 基础模型——“Payments Foundation Model”,该模型基于数百亿笔交易数据训练,能够捕捉每个支付中数百个传统模…...

React 笔记[1] hello world

React 笔记[1] hello world 明白了!既然你已经安装了 Node.js,我们可以 从零开始搭建一个 React Tailwind CSS 的 Hello World 项目。我将一步步列出操作指令,你只需要在终端里依次执行。 ✅ 第一步:初始化项目 mkdir my-hello…...

好消息!PyCharm 社区版现已支持直接选择 WSL 终端为默认终端

在过去,PyCharm 社区版虽然提供了链接 Windows 子系统 Linux(WSL)终端的能力,但用户无法在设置中直接指定 WSL 为默认终端,这一功能仅限于专业版使用者。 而现在,在 PyCharm 2025.1.1 版本中,Je…...

基于redis的定时状态更新

基于redis的定时状态更新 下面是一个简单的示例,展示如何使用redis实现状态更新,从而满足在某些场景下,既需要频繁更新状态, 又需要保证状态的实时性。以及定时更新状态的需求。 示例说明 假设有一个剧目演出计划,确…...

[原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取自身程序的所在的目录?

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、…...

服务器托管的常见问题

一、何谓IDC服务器托管服务? IDC服务器托管是指为了提高网站的访问速度,将您的服务器及相关设备托管到具有完善机房设施、高品质网络环境、丰富带宽资源和运营经验以及可对用户的网络和设备进行实时监控的网络数据中心内,以此使系统达到安全、可靠、稳定…...

使用Scrapeless Scraping Browser的自动化和网页抓取最佳实践

引言:人工智能时代浏览器自动化和数据收集的新范式 随着生成性人工智能、人工智能代理和数据密集型应用程序的快速崛起,浏览器正在从传统的“用户互动工具”演变为智能系统的“数据执行引擎”。在这一新范式中,许多任务不再依赖单一的API端点…...

电子电气架构 --- 如何有助于提安全性并减少事故

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...

【训练】Qwen2.5VL 多机多卡 Grounding Box定位

之前的相关文章: 【深度学习】LLaMA-Factory微调sft Qwen2-VL进行印章识别 https://www.dong-blog.fun/post/1661 使用LLaMA-Factory微调sft Qwen2-VL-7B-Instruct https://www.dong-blog.fun/post/1762 构建最新的LLaMA-Factory镜像 https://www.dong-blog.f…...

MYSQL的行级锁到底锁的是什么东西

MySQL 的行级锁是一种锁机制,它允许数据库在执行并发操作时,锁定表中的某一行数据而不是整张表。行级锁通过限制对特定行的访问,允许其他线程并发地访问表中的其他行,从而提高并发性和性能。 行级锁的锁定对象 行级锁锁定的是 行…...

图神经网络中的虚拟节点

1.虚拟节点 当我们使用节点来构成图结构时, regular node: 常规的节点即代表了某一个局部特征, 即局部节点特征。 virtual node: 普通的节点不同,有时会需要这样的一种特征, 该特征代表了该样本的全局信息&#xff0…...

关于多版本CUDA共存的研究,是否能一台机子装两个CUDA 版本并正常切换使用

我发现了一个很有意思的事 我装了11.8cuda再装12.3cuda结果我的11.8cuda还在,没被替换掉或者删掉 然后我打开我的环境发现它的环境除了cuda_path都没改 这样我就有个大胆的想法,如果我把cuda path换成11.8路径那是不是就能切换了 而且cuda_path 和 cuda_…...

el-table与echarts图形实现滚动联动

el-table与echarts图形滚动联动 效果图 实现思路 设计图滚动条位于表格下方,且echarts滚动不易获取当前展示数据到左侧的距离 故:通过监听表格的滚动实现联动 为了保持echarts的横坐标和表格的列基本保持对齐,用tdWidth标识单列表格的宽度…...

【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit

文章目录 1. 查看未推送的提交方法一 :git status方法二:git log方法三:git cherry方法四:git rev-list 2. 查看指定commit的修改方法一:git show方法二:git log方法三:git diff 3. 合并不连续的…...

C++GO语言微服务基础技术①

目录 01-项目简介 02-单体式架构 03-微服务优缺点 04-单体式和微服务区别 05-RPC简介 06-RPC使用步骤 07-注册RPC服务函数接口 08-绑定服务和调用方法函数接口 09-rpc服务端和客户端编码实现 10-json的rpc 11-rpc的封装 12-rpc封装小结 01-项目简介 # 单体式和微服…...

AI CUBE 使用指南 目标检测格式范例 AI cube 报错数据集不合规范,请清洗数据集

血的教训:labels.txt里面放1 2 3 4 ..也可以英文,不能有中文 教程:K230 借助 AICube部署AI 视觉模型 YOLO等教程_嘉楠 ai cube多标签分类-CSDN博客 | 目标检测范例: 不清楚不是数字行不行 这个id可以英文,你…...

vue中scss使用js的变量

一、前言 在项目开发中,很多时候会涉及到scss样式变量,正常定义方式 $primary-color: rgb(188, 0, 194);;使用时直接使用即可:color: $primary-color。但是,如果,这些变量是在js中定义的怎么办 二、实现 …...

QtGUI模块功能详细说明, 字体和文本渲染(四)

目录 一. 窗口和屏幕管理 二. 绘图和渲染 三. 图像处理 四. 字体和文本 1、核心概念 1.1、字体 (Font) 1.2、字形 (Glyph) 1.3、字符 (Character) 1.4、文本布局 (Text Layout) 1.5、文本渲染 (Text Rendering) 1.6、度量 (Metrics) 2、字体管理 2.1、QFont&#…...

计算机学习路线与编程语言选择(信息差)

——授人以鱼不如授人以渔 面向岗位学习!到招聘网站看看有哪些岗位,看一看岗位职责、要求 牛客网(计算机实习工作最好的网站) boss直聘 确定岗位后(如前端、后端),岗位需要什么语言&#xf…...

多环串级PID

文章目录 为什么要多环程序主函数内环外环 双环PID调参内环Kp调法Ki调法 外环Kp 以一定速度到达指定位置封装 为什么要多环 单环只能单一控制速度或者位置,如果想要同时控制多个量如速度,位置,角度,就需要多个PID 速度环一般PI…...

编写大模型Prompt提示词方法

明确目标和任务 // 调用LLM进行分析const prompt 你是一名严格而友好的英语口语评分官,专业背景包括语音学(phonetics)、二语习得(SLA)和自动语音识别(ASR)。你的任务是: ① 比对参…...

使用chrome浏览器截长图

如何使用chrome浏览器截长图: 使用chrome截取完整网页图片 第一步、按F12,开发者模式的布局按下图布局 第二步、按ctrlshiftp组合键,搜索“截图” ,然后自动截图保存在下载目录(右上角)了。...

【MySQL】第二弹——MySQL表的增删改查(CURD))

文章目录 🎓一. CRUD🎓二. 新增(Create)🎓三. 查询(Rertieve)📖1. 全列查询📖2. 指定列查询📖3. 查询带有表达式📖4. 起别名查询(as )📖 5. 去重查询(distinct)📖6. 排序…...

Android NDK版本迭代与FFmpeg交叉编译完全指南

在Android开发中,使用NDK(Native Development Kit)进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时。本文将深入分析Android NDK的版本迭代分界线,详细讲解FFmpeg交叉编译的注意事项,并提供完整的…...

【Linux网络】Socket-UDP相关函数

socket() 函数 这个函数的作用是创建一个 Socket 文件描述符&#xff0c;在客户端和服务器都可以使用。 #include <sys/socket.h> int socket(int domain, int type, int protocol);参数&#xff1a; domain&#xff1a;指定协议族&#xff0c;例如 AF_INET 代表 IPv4 …...

最优化方法Python计算:有约束优化应用——线性Lasso回归预测器

实际应用中&#xff0c;特征维度 n n n通常远大于样本容量 m m m&#xff08; n ≪ m n\ll m n≪m&#xff09;&#xff0c;这种高维小样本场景下特征数据可能含有对标签数据 y i y_i yi​的取值不必要的成分&#xff0c;甚至是噪声。此时&#xff0c;我们希望回归模型中的优化…...

基础算法 —— 二分算法 【复习总结】

1. 简介 1.1 原理 二分算法&#xff0c;顾名思义&#xff0c;关键在于二分&#xff0c;当我们求解的目标具有二段性时&#xff0c;我们就可以使用二分算法&#xff1a; 先根据待查找区间中点位置&#xff0c;判断结果会在左侧还是右侧&#xff0c;接下来&#xff0c;舍弃一半…...

计算机网络常识:缓存、长短连接 网络初探、URL、客户端与服务端、域名操作 tcp 三次握手 四次挥手

缓存&#xff1a; 缓存是对cpu&#xff0c;内存的一个节约&#xff1a;节约的是网络带宽资源 节约服务器的性能 资源的每次下载和请求都会造成服务器的一个压力 减少网络对资源拉取的延迟 这个就是浏览器缓存的一个好处 表示这个html页面的返回是不要缓存的 忽略缓存 需要每次…...

OpenHarmony平台驱动开发(九),MIPI DSI

OpenHarmony平台驱动开发&#xff08;九&#xff09; MIPI DSI 概述 功能简介 DSI&#xff08;Display Serial Interface&#xff09;是由移动行业处理器接口联盟&#xff08;Mobile Industry Processor Interface (MIPI) Alliance&#xff09;制定的规范&#xff0c;旨在降…...

经济体制1

一&#xff0e;计划经济体制与市场经济体制 1.计划经济又称指令型经济&#xff0c;是对生产和资源分配以及产品消费事先进行计划的经济体制。 市场经济体制是指依靠市场手段对资源进行配置的经济体制 注意&#xff1a; 计划与市场都是调节经济的手段&#xff0c;都属于资源配…...

Spring AI 入门(持续更新)

介绍 Spring AI 是 Spring 项目中一个面向 AI 应用的模块&#xff0c;旨在通过集成开源框架、提供标准化的工具和便捷的开发体验&#xff0c;加速 AI 应用程序的构建和部署。 依赖 <!-- 基于 WebFlux 的响应式 SSE 传输 --> <dependency><groupId>org.spr…...

[ctfshow web入门] web58

信息收集 if(isset($_POST[c])){$c $_POST[c];eval($c); }else{highlight_file(__FILE__); }这麽简单&#xff1f; 解题 好吧&#xff0c;还是我想得太简单了 把system禁用了。不是参数过滤&#xff0c;而是直接禁用&#xff0c;不管是间接还是直接调用system都不行&#x…...

Python量化交易Backtrader技术指标的实现

一、Backtrader技术指标概览 (一)Backtrader内置指标的优势 Backtrader内置的技术指标具有以下优势: 多样性:涵盖了常见的移动平均线、相对强弱指数(RSI)、布林带等多种指标,满足了不同交易者的需求。易用性:通过简单的函数调用即可在策略中添加和使用这些指标,无需…...

蓝桥杯第十六届c组c++题目及个人理解

本篇文章只是部分题目的理解&#xff0c;代码和思路仅供参考&#xff0c;切勿当成正确答案&#xff0c;欢迎各位小伙伴在评论区与博主交流&#xff01; 题目&#xff1a;2025 题目解析 核心提取 要求的数中至少有1个0、2个2、1个5 代码展示 #include<iostream> #incl…...

ARM 芯片上移植 Ubuntu 操作系统详细步骤

一、准备工作 &#xff08;一&#xff09;硬件准备 ARM 开发板&#xff1a;确保 ARM 开发板的型号与 Ubuntu 官方支持的 ARM 架构兼容&#xff0c;常见的 ARM 架构有 ARMv7、ARMv8 等。例如树莓派系列开发板&#xff0c;广泛用于 ARM 系统移植&#xff0c;其采用 ARM 架构。存…...

能耗优化新引擎:EIOT平台助力企业降本增效

安科瑞顾强 数字化转型的背景下&#xff0c;能源管理正加速向智能化、远程化方向演进。安科瑞电气推出的EIOT托管平台及ADW300系列4G无线计量仪表&#xff0c;通过云端技术与无线通信的深度融合&#xff0c;为用户打造了高效、便捷的远程能源监测与管理体系&#xff0c;助力企…...