logstash 消费kafka数据,转发到tcp端口

1, logstash 配置文件

bash 复制代码
[root@host1: ]  cat /opt/logstash/kafka-to-tcp.yml
input { 
            kafka {
              bootstrap_servers => "192.168.0.11:9092" #这里可以是kafka集群,如"192.168.149.101:9092,192.168.149.102:9092"
              consumer_threads => 3 #等于 topic分区数
              group_id => "logstash_123"
              #client_id => "logstash1" #注意,多台logstash实例消费同一个topics时,client_id需要指定不同的名字
              #auto_offset_reset => "latest"
              auto_offset_reset => "earliest"
              topics => ["alertTopic1"]
              codec => json { charset => "UTF-8" }
             }
}

filter { 
				 #删除某些数据:正则取反,根据json字段ruleName字段内容删除数据
				 if ([ruleName] !~ ".*主机告警.*") {
					drop {}
				 } 
				 
				 #只保留某些数据:正则匹配,删除其他的数据
				 #if ([ruleName] =~ ".*主机告警.*") {
				 #   drop {}
				 #} 
				 
				  mutate {  
						#删除某些json字段, 修改某些字段内容
						remove_field => ["eventId","ruleId"]
						gsub => [
									"Msg" , "[\r|\n]" , ""                   
								]
				 }
}

output {
                #输出到命令行窗口,方便调试
                #stdout{}

                #输出到文件,方便排查告警漏告等问题
                file {
                        codec =>  json_lines  { charset => "UTF-8" }
                        path => "/tmp/b.log"
                }

                #输出UMP平台对接指定的ip、端口,以指定的格式推送到UMP集中告警平台
                tcp {
                        host => "192.168.0.11"
                        port => "514"
                        codec => plain {
                                       format =>"%{TIME} 测试环境--ruleName:%{ruleName},Msg:%{Msg}\n"
                         }
                }
}

2,调试并后台启动

  • ./bin/logstash -f /xx/xx.yml
bash 复制代码
[root@host1: ]  cat /usr/lib/systemd/system/logstashtcp.service
[Unit]
Description=Logstash
Requires=network.service
After=network.service

[Service]
LimitNOFILE=65536
LimitMEMLOCK=infinity
ExecStart=/opt/logstash/bin/logstash -f /opt/logstash/kafka-to-tcp.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
SuccessExitStatus=143
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
相关推荐
小江的记录本1 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
空中海12 小时前
Kafka :存储、复制与可靠性
分布式·kafka·linq
渣渣盟12 小时前
构建企业级实时数据管道:Kafka + Flink 最佳实践
分布式·flink·kafka
空中海15 小时前
Spring Boot Kafka 项目 Demo:订单事件系统 专家知识、源码阅读路线与面试题
spring boot·kafka·linq
空中海15 小时前
Kafka 基础:从消息队列到事件流平台
分布式·kafka·linq
空中海17 小时前
Kafka Streams、Connect 与生态
分布式·kafka·linq
Knight_AL3 天前
从 0 到 1:PG WAL → Debezium → Kafka → Spring Boot → Redis
spring boot·redis·kafka
无籽西瓜a3 天前
【西瓜带你学Kafka | 第六期】Kafka 生产确认、消费 API 与分区分配策略(文含图解)
java·分布式·后端·kafka·消息队列·mq
无籽西瓜a3 天前
【西瓜带你学Kafka | 第七期】Kafka 日志存储体系:保留清理、消息格式与分段刷新策略(文含图解)
java·分布式·后端·kafka·消息队列·mq
冷小鱼3 天前
消息队列(MQ)技术全景科普:从选型到AI+未来
人工智能·kafka·rabbitmq·rocketmq·mq·pulsar