logstash读取kafka日志写到oss归档存储180天

安装logstash(略)
安装logstash-output-oss插件
bash 复制代码
/data/logstash/bin/logstash-plugin install logstash-output-oss
logstash.conf配置
conf 复制代码
#
input {
        kafka {
                bootstrap_servers => ["kafka1:9092,kafka2:9092,kafka3:9092"]
                group_id => 'oss_logs_group'
                topics => ["xinlimei_pro_topic","xinlimei_logs_pro","sunmei_logs_pro_topic"]
                client_id => "oss_logs_1"
                consumer_threads => 6
                sasl_mechanism => "PLAIN"
                security_protocol => "SASL_PLAINTEXT"
                sasl_jaas_config => "org.apache.kafka.common.security.plain.PlainLoginModule required username='admin'  password='kafkasunmei0227';"
                codec => "json"
                auto_offset_reset => "latest"
        }
}

filter {
        mutate {
                lowercase => ["app_name"]
                # 删除没用的字段
                remove_field => ["_index","_id","_type","_version","_score","referer","agent","@version","host"]
        }
        date {
        match => ["date", "yyyy-MM-dd HH:mm:ss.SSS"]
                target => '@timestamp'
                timezone => 'Asia/Shanghai'
        }
        ruby{
                code => "event.set('index_day', (event.get('@timestamp').time.localtime).strftime('%Y.%m.%d'))"
        }
}
output {
  oss {
    # 替换为你的 OSS endpoint
    endpoint => "http://oss-cn-shanghai-internal.aliyuncs.com"
    # 替换为你的 OSS 存储桶名称
    bucket => "tr-app-logs"
    # 替换为你的 AccessKey ID
    access_key_id => "your access_key"
    # 替换为你的 AccessKey Secret
    access_key_secret => "your access_key_secret"
    # 替换为日志在 OSS 中的存储路径前缀(目录名)
    prefix => "%{index_day}-%{[app_name]}-%{[profiles_active]}"
    # 在 Logstash 启动时,会尝试恢复之前未完成的上传操作。这有助于确保日志数据不会因为 Logstash 的重启而丢失
    recover => true
    #size_and_time,Logstash 会同时根据文件大小和时间间隔来滚动文件
    rotation_strategy => "size_and_time"
    time_rotate => 10 # 10分钟滚动并上传 单位为字节
    #100M 单位字节滚动并上传 单位为字节
    size_rotate => 104857600
    # 替换为临时文件存储目录
    temporary_directory => "/data/logstash/temporary/"
    #Logstash 会在上传前对文件进行压缩,这可以减少上传到 OSS 的文件大小
    encoding => "gzip"
    additional_oss_settings => {
      max_connections_to_oss => 1024
      secure_connection_enabled => false
    }
    codec => json {
      charset => "UTF-8"
    }
  }
}
相关推荐
2501_941877981 天前
Python在微服务高并发异步日志聚合与智能告警分析架构中的实践
kafka
最笨的羊羊1 天前
Flink CDC系列之:Kafka CSV 序列化器CsvSerializationSchema
kafka·csv·schema·flink cdc系列·serialization·序列化器
最笨的羊羊1 天前
Flink CDC系列之:Kafka的Debezium JSON 结构定义类DebeziumJsonStruct
kafka·debezium·flink cdc系列·debezium json·结构定义类·jsonstruct
2501_941142133 天前
前端高性能优化与微前端架构设计在大型互联网系统中的实践经验分享
kafka
20岁30年经验的码农3 天前
Kafka 消息中间件实战指南
分布式·kafka·linq
yumgpkpm3 天前
腾讯云TBDS与CDH迁移常见问题有哪些?建议由CDH迁移到CMP 7.13 平台(类Cloudera CDP,如华为鲲鹏 ARM 版)
hive·hadoop·zookeeper·flink·spark·kafka·hbase
2501_941142133 天前
基于 Kotlin 构建移动端高并发后台服务与实时数据同步系统的架构设计与工程实践分享
kafka
yumgpkpm4 天前
数据可视化AI、BI工具,开源适配 Cloudera CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐?
人工智能·hive·hadoop·信息可视化·kafka·开源·hbase
Zhao·o4 天前
KafkaMQ采集指标日志
运维·中间件·kafka
青靴4 天前
轻量级 CI/CD 实战(三):Kafka消费者Docker容器化部署
分布式·docker·kafka