feat:更新Docker博客

This commit is contained in:
2025-12-16 10:41:54 +08:00
parent 2bb60d00e8
commit b4db9aae81
4 changed files with 270 additions and 36 deletions

View File

@@ -1,8 +1,8 @@
## 一、基础概念
### 1.1 Fluent Bit
# 一、基础概念
## 1.1 Fluent Bit
  [Fluent Bit](https://fluentbit.io/) 是一个开源的、轻量级、高性能的日志处理器和转发器。Fluent Bit 的核心任务是:​​**从各种来源收集日志、指标和追踪数据,进行处理和过滤,然后将其发送到一个或多个目的地。​**
#### 1.1.1 特点
### 1.1.1 特点
1. 极致的轻量级​
Fluent Bit 是用 C 语言编写的,运行时内存占用极低(通常只有几百 KBCPU 使用率也非常低。这使得它成为在资源受限环境如边缘计算、IoT 设备、容器侧车)中运行的理想选择。
2. 高性能​
@@ -10,7 +10,7 @@ Fluent Bit 是用 C 语言编写的,运行时内存占用极低(通常只有
3. 可插拔架构​
Fluent Bit 的功能通过“插件”来扩展。
#### 1.1.2 插件类型
### 1.1.2 插件类型
1. Input输入
定义数据来源例如从文件、标准输入、TCP/UDP、系统指标CPU/内存、Docker 容器、Windows 事件日志等收集数据。
2. Filter过滤器
@@ -18,7 +18,7 @@ Fluent Bit 的功能通过“插件”来扩展。
3. Output输出
定义数据目的地,例如 Elasticsearch、Splunk、Kafka、Datadog、Loki、S3、另一个 Fluentd/Fluent Bit 实例等。
#### 1.1.3 核心架构与数据流
### 1.1.3 核心架构与数据流
1. Input输入
一个或多个输入插件持续地从数据源收集数据。每条数据被读入后,会带上时间戳和标签等信息,被包装成一个内部的事件记录。
2. Parser解析器
@@ -32,11 +32,11 @@ Fluent Bit 的功能通过“插件”来扩展。
6. Output输出
最终,输出插件将处理好的数据发送到配置的目的地。
### 1.2 OpenObserve
## 1.2 OpenObserve
  [OpenObserve](https://openobserve.ai/) 是一个开源的、云原生的可观测性数据平台,旨在处理日志、指标、追踪和性能数据。它的目标是成为 Elasticsearch/Logstash/Kibana (ELK)Grafana LokiDatadog 等流行解决方案的​​更简单、更经济高效、更高性能​​的替代品。
  OpenObserve 是一个“一体化”的平台,你可以将所有的可观测性数据(日志、指标、追踪)都发送到它这里,然后通过统一的界面进行搜索、分析和可视化。
## 二、Docker部署
# 二、Docker部署
```yml
services:
fluent-bit:
@@ -106,14 +106,14 @@ volumes:
  INPUT为日志输入源监听24422端口。
  OUTPUT为日志输出源将日志发送到openobserve中这里使用的是容器名称URI表示openobserve接收数据的api路径default/default表示组织名称/流名称可以更改为其他的名称。_json表示以json的格式。
## 三、简单使用
### 3.1 配置数据流
# 三、简单使用
## 3.1 配置数据流
  打开控制台,选择数据流->添加数据流输入fluent bit配置文件中的流名称选择数据流类型为Logs。
  在新添加的数据流中,点击查看,跳转到日志页面即可看到上次的日志信息。
  如果没有日志请检查FluentBit容器日志是否有错误正确的应该会有上传成功的提示。
![暂无图片](https://cxx0822.iepose.cn/rustfs/blog/a2cfe735a9245758daf6ea36a4c82f04.png '配置数据流.png')
### 3.2 配置邮件告警
## 3.2 配置邮件告警
  首先需要配置模板和邮箱地址。
  修改docker-compose.yml文件添加邮件服务器
```yml
@@ -177,7 +177,7 @@ openobserve:
  通知后静默:触发告警并发送通知后,系统暂时停止重复通知的时间。
  也可以设置为实时告警,即当告警发生时就立即触发,不会有周期和频率参数设置。
### 3.3 配置WebHook
## 3.3 配置WebHook
  首先配置模板和WebHook地址。
  打开控制台,选择右上角的设置按钮,选择模板->添加模板->Web Hook填写Body:
```json
@@ -194,7 +194,7 @@ openobserve:
  这里可以使用企业微信的群消息推送功能添加成功后会提供一个WebHook地址。也可以自定义一个WebHook接收地址。
  配置完模板和地址后,选择告警->添加告警选择通知到刚才的WebHook地址即可。
### 3.4 通过API获取日志信息
## 3.4 通过API获取日志信息
  通过http://ip:5080/swagger/index.html#/ 即可访问OpenobserveAPI接口。
  例如要获取日志,可以使用/api/{origin_id}/_search的接口
```cmd
@@ -216,7 +216,7 @@ curl -X 'POST' \
  注意这里要加上Basic auth认证并提供username和password。
![暂无图片](https://cxx0822.iepose.cn/rustfs/blog/d29ddbd369e32cb7c2770464e8d0a142.png 'API查看日志.png')
## 四、自定义日志告警服务
# 四、自定义日志告警服务
![暂无图片](https://cxx0822.iepose.cn/rustfs/blog/74d5efdb80f506395b81988258433d9d.png '日志框架.png')
  基本原理为通过提供一个HTTP的API接口当Openobserver触发告警时调用该接口并传入当前的alert_name和timestamp然后根据timestamp和Openobserver提供的API接口去查询最近一段时间内的所有日志信息并存储到SqLite数据库中。同时也可以选择是否同步推送到企业微信和邮箱。
  最后也需要提供一个查询历史日志告警信息的接口,并可视化显示,方便运维和开发查看。