破晓·强袭 2024-03-27 21:56 采纳率: 0%
浏览 22

nginx可以转发telegraf发送给kafka的数据吗?

nginx可以转发telegraf发送给kafka的数据吗?
外网有一台服务器A使用telegraf采集服务器数据,通过output.kafka发送数据,
有一个部署了nginx的服务器B用来转发A的数据到内网服务器C的kafka上,
有一个内网服务器C用来接受nginx服务器转发的数据。
请问服务器A产生的数据是否可以通过nginx服务器转发给内网的服务器上

  • 写回答

2条回答 默认 最新

  • 专家-皆知 2024-03-27 21:56
    关注

    引自免费微信小程序:皆我百晓生

    是的,Nginx可以作为反向代理服务器,将来自Telegraf的数据转发到内部的Kafka服务器。这种情况下,Nginx充当了一个数据传输的中继,将Telegraf收集到的数据传递给Kafka。

    以下是一个简单的示例,展示了如何使用Nginx作为反向代理来转发Telegraf发送的数据到Kafka:

    1. 在Nginx配置文件中,创建一个新的server块,用于监听Telegraf的输出并将其转发到Kafka。例如:
    server {
        listen 9092;
        server_name server-b.example.com;
    
        location /telegraf {
            proxy_pass http://telegraf-server:9092;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    

    在这个示例中,Nginx监听9092端口,并将来自Telegraf的请求转发到本地的Kafka服务器。proxy_pass指令指定了Telegraf服务器的地址和端口。proxy_set_header指令用于将请求头信息传递给Telegraf服务器。

    1. 在Nginx配置文件中,创建另一个server块,用于监听Kafka的输入并将其转发到内网服务器C。例如:
    server {
        listen 9092;
        server_name server-c.example.com;
    
        location /kafka {
            proxy_pass http://server-c.example.com:9092;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    

    在这个示例中,Nginx监听9092端口,并将来自Kafka的请求转发到本地的内网服务器C。proxy_pass指令指定了Kafka服务器的地址和端口。proxy_set_header指令用于将请求头信息传递给Kafka服务器。

    1. 在Nginx配置文件中,将两个server块合并为一个。例如:
    server {
        listen 9092;
        server_name server-b.example.com;
    
        location /telegraf {
            proxy_pass http://telegraf-server:9092;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    
        location /kafka {
            proxy_pass http://server-c.example.com:9092;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
    

    现在,Telegraf产生的数据将被Nginx转发到Kafka,然后Kafka将数据转发到内网服务器C。

    请注意,这只是一个简单的示例,实际的配置可能需要根据您的具体需求进行调整。例如,您可能需要设置身份验证和授权,以及错误处理和日志记录等。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月27日

悬赏问题

  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题
  • ¥20 请问有人知道怎么用工艺库里面的sdb文件通过virtuoso导出来library里面每个cell的symbol吗?
  • ¥20 海思 nnie 编译 报错
  • ¥50 决策面并仿真,要求有仿真结果图
  • ¥15 关于路由器的路由协议配置
  • ¥15 springboot接入微信支付SDK
  • ¥50 大区域的遥感影像匹配 怎么做啊
  • ¥15 求解答:pytorch跑yolov8神经网络受挫