diff --git a/docs/DevOps/OpenObserve.md b/docs/DevOps/OpenObserve.md index 83eabe2..61b16b7 100644 --- a/docs/DevOps/OpenObserve.md +++ b/docs/DevOps/OpenObserve.md @@ -9,7 +9,7 @@ ### 1.1.1 特点 1. 极致的轻量级​ -Fluent Bit 是用 C 语言编写的,运行时内存占用极低(通常只有几百 KB),CPU 使用率也非常低。这使得它成为在资源受限环境(如边缘计算、IoT 设备、容器侧车)中运行的理想选择。 +Fluent Bit 是用 C 语言编写的,运行时内存占用极低(通常只有几百 KB),CPU 使用率也非常低。这使得它成为在资源受限环境(如边缘计算、IoT 设备、容器)中运行的理想选择。 2. 高性能​ 其核心架构经过高度优化,处理数据的速度极快,能够轻松应对高吞吐量的日志流。 3. 可插拔架构​ @@ -23,6 +23,16 @@ Fluent Bit 的功能通过“插件”来扩展。 3. Output(输出)​​ 定义数据目的地,例如 Elasticsearch、Splunk、Kafka、Datadog、Loki、S3、另一个 Fluentd/Fluent Bit 实例等。 +::: tip +常用​​Input插件: +1. Forward +  适用于Fluent Bit / Fluentd 节点,传输协议为私有二进制协议。支持压缩和重连,传输效率极高,但客户端必须使用特定的库。 +2. TCP +  适用于能建立 Socket 连接的程序,传输协议为TCP协议,只负责接收字节流,通常需要配合解析器(Parser)来处理格式。 +3. HTTP +  通过标准的 HTTP POST 请求接收 JSON 数据,传输协议为HTTP协议,兼容性最好,任何编程语言都能轻松发送 HTTP 请求。 +::: + ### 1.1.3 核心架构 1. Input(输入)​ 一个或多个输入插件持续地从数据源收集数据。每条数据被读入后,会带上时间戳和标签等信息,被包装成一个内部的事件记录。 @@ -79,7 +89,7 @@ services: - ./openobserve-data:/data environment: - ZO_ROOT_USER_EMAIL=1556464090@qq.com - - ZO_ROOT_USER_PASSWORD=19940822Cxx + - ZO_ROOT_USER_PASSWORD=yourpassword - TZ=Asia/Shanghai ports: - "5080:5080" @@ -116,14 +126,15 @@ volumes: Port 5080 URI /api/default/default/_json http_user 1556464090@qq.com - http_passwd 19940822Cxx + http_passwd yourpassword Format json json_date_key timestamp json_date_format iso8601 ``` -  INPUT为日志输入源,监听24422端口。 -  OUTPUT为日志输出源,将日志发送到openobserve中(这里使用的是容器名称),URI表示openobserve接收数据的api路径,default/default表示组织名称/流名称,可以更改为其他的名称。_json表示以json的格式。 +  INPUT为日志输入源,使用Forward插件,监听24422端口。 +  OUTPUT为日志输出源,将日志发送到openobserve中(这里使用的是容器名称),URI表示openobserve接收数据的api路径,default/default表示组织名称/流名称,可以更改为其他的名称。_json表示以json的格式。 +  Match *表示接收所有的INPUT,也可以根据INPUT的tag来区分分发到哪个OUTPUT。 # 三、数据接入 ## 3.1 SpringBoot @@ -323,7 +334,7 @@ logging: 这里是用docker部署的,如果是非docker部署,host为服务器ip地址。 ::: -## 3.2 .NET +## 3.2 .NET Core ### 3.2.1 安装Nuget包   安装NLog.Extensions.Hosting和NLog.Targets.Network包。 @@ -379,8 +390,8 @@ var host = Host.CreateDefaultBuilder(args) 这里的topic为项目名称。 ::: -### 3.2.3 配置fluentbit -  NLog的network采用Tcp传输,需要在FluentBit中增加TCP接口: +### 3.2.3 配置插件 +  在FluentBit中增加TCP插件: ```conf [INPUT] Name tcp @@ -526,8 +537,8 @@ public class FluentBitLogger : MonoBehaviour } ``` -### 3.4.2 配置fluentbit -  Unity日志采用http传输,需要在FluentBit中增加http接口: +### 3.4.2 配置插件 +  在FluentBit中增加http插件: ```conf [INPUT] Name http @@ -559,7 +570,7 @@ openobserve: - ./openobserve-data:/data environment: - ZO_ROOT_USER_EMAIL=njcxx0822@163.com - - ZO_ROOT_USER_PASSWORD=19940822Cxx + - ZO_ROOT_USER_PASSWORD=yourpassword - TZ=Asia/Shanghai - ZO_SMTP_ENABLED=true