跳到主要内容
版本:3.7.0

第三方日志接入

平台支持第三方日志接入,可通过API、Logstash、FluentBit、OpenTelemetry等多种方式,灵活对接不同来源的日志数据,满足多样化的日志采集与集成需求。

1758860148352

开始使用

进入 日志配置-> 添加日志 页面,切换到 第三方日志接入 标签页。

API 接入

ONE平台支持通过SaaS API方式接入数据,API支持JSON、Protobuf两种协议类型;若选择Logstash或FluentBit,可通过HTTP协议接入。

在Nacos中配置数据中心地址(如 https://oneupload.bonree.com/controller/logs/otel/v1/upload)和PaaS Token(如 b3396acc - ea18 - 4c46 - bb1a - 8fc5baf6e9f),即可完成第三方日志接入。界面上仅展示数据中心地址和Paas Token的配置结果。

API

Logstash 接入

Logstash

下载安装

需先下载安装Logstash

downLoaddownLoadLogstash

插件安装文档

Working with plugins | Logstash Reference [8.7] | Elastic

离线安装:Offline Plugin Management | Logstash Reference [8.7] | Elastic

实操过程

# 探针下载完,在服务器上面解压,然后进入解压后的探针目录

#修改配置文件
vi config/logstash-sample.conf # 根据接入配置做相应的调整设置

input {
file {
path => "/var/log/nginx/access.log"
}
stdin{} #标准输出接入
}
output {
stdout{} #标准输出
http {
id => "bonree_output_1"
url => "https://oneupload.bonree.com/logs/otel/v1/logs?token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
http_method => "post" #固定配置,不允许调整
format => "json_batch" #固定配置,不允许调整
content_type => "application/json" #固定配置,不允许调整
}
}

#安装 logstash-output-http 扩展
bin/logstash-plugin install --no-verify logstash-output-http
#运行命令
nohup ./bin/logstash -f config/logstash-sample.conf &

配置日志采集

Logstash支持从指定文件、Kafka、MySQL等组件采集日志。

平台界面已提供Kafka、MySQL等典型场景的日志采集示例,包含完整的日志协议格式定义,可直接参考配置,助力快速实现基于Logstash的日志接入。

从指定文件采集
input {
file {
path => "/var/log/nginx/access.log"
}
}
output {
http {
id => "bonree_output"
url => "https://oneupload.bonree.com/logs/otel/v1/logs?token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
http_method => "post" #固定配置,不允许调整
format => "json_batch" #固定配置,不允许调整
content_type => "application/json" #固定配置,不允许调整
}
}
从Kafka采集

Kafka写入-日志协议格式

{
"timestamp": "2024-05-21 11:27:01",
"host": "10.241.30.84",
"source": "mysql",
"status": "Info",
"service": "mysql",
"device": "mysql-10.241.1.118",
"trace_id": "a4803f17-12f7-4afc-a022-319431c2afef",
"message": "SELECT command denied to user 'br_public' for table test"
}

Kafka消费

  input {
kafka {
bootstrap_servers => "192.168.149.101:9092" #这里可以是kafka集群,如"192.168.149.101:9092,192.168.149.102:9092,192.168.149.103:9092"
group_id => "host_log"
client_id => "logstash1"#注意,多台logstash实例消费同一个topics时,client_id需要指定不同的名字
auto_offset_reset => "latest"
topics => ["host"]
add_field => {"logs_type" => "host"}
codec => json { charset => "UTF-8" }
}
}
output {
http {
id => "output"
url => "https://oneupload.ibr.net.cn/controller/logs/otel/v1/upload?token=b4cc0268-8ebe-11f0-8dea-1a8fb3c08f30&envid=prd"
http_method => "post" #固定配置,不允许调整
format => "json_batch" #固定配置,不允许调整
content_type => "application/json" #固定配置,不允许调整
}
}
从MySQL采集
  input {
jdbc {
jdbc_driver_library => "mysql-connector-java-5.1.47.jar"
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_user => "root"
jdbc_password_filepath => "/usr/local/logstash-7.2.0/config/mysql/password"
jdbc_connection_string => "jdbc:mysql://localhost:3306/logstash_test"
statement => "SELECT * from product_sales where status = :status"
parameters => { "status" => "succeed" }
tracking_column => "id"
use_column_value => true
tracking_column_type => "numeric"
schedule => "* * * * *"
last_run_metadata_path => "/usr/local/testing/confs/order_sale_sql_last_value.yml"
}
}
output {
http {
id => "output"
url => "https://oneupload.ibr.net.cn/controller/logs/otel/v1/upload?token=b4cc0268-8ebe-11f0-8dea-1a8fb3c08f30&envid=prd"
http_method => "post" #固定配置,不允许调整
format => "json_batch" #固定配置,不允许调整
content_type => "application/json" #固定配置,不允许调整
}
}

FluentBit 接入

FluentBit

下载安装

首先根据系统类型,从官方文档下载对应的FluentBit系统包并完成安装。

downKoadFluentBit

配置日志采集

通过编辑 fluent-bit.conf 配置文件,指定要采集的日志文件路径等输入信息,以及输出到ONE平台的地址、端口、格式等参数。

[INPUT]
Name tail
Path /data/br/logs/demo.log

[OUTPUT]
Name https
Match *
Host oneupload.ibr.net.cn
Port 443
URI /controller/logs/otel/v1/upload?token=b4cc0268-8ebe-11f0-8dea-1a8fb3c08f30
Format json
header_tag FLUENT-TAG
启动 FluentBit

进入安装目录的 bin 目录,执行指定命令启动。

1、进入%install_dir%/bin目录
2、执行命令:fluent-bit -c "%install_dir%/conf/fluent-bit.conf" -o stdout
数据处理

最后需要在ONE平台的日志分析-规则配置-数据处理模块完成相关平台配置。

dataProcess

OpenTelemetry 接入

OpenTelemetry

下载安装

可参考OpenTelemetry Collector 官方文档Otelhttptexporters 配置文档,了解基础配置规范。

配置日志采集

对 Collector Exporters 进行配置,在配置文件中设置接收端(receivers)、导出端(exporters)等参数,将日志导出至 ONE 平台指定地址,从而实现日志接入。

receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
otlphttp:
logs_endpoint: https://oneupload.ibr.net.cn/controller/logs/otel/v1/upload?token=b4cc0268-8ebe-11f0-8dea-1a8fb3c08f30
service:
pipelines:
logs:
receivers: [otlp]
exporters: [otlphttp]