首页 > 编程语言 >Logstash接收udp/tcp数据 python+ udp/tcp +logstash +elasticsearch

Logstash接收udp/tcp数据 python+ udp/tcp +logstash +elasticsearch

时间:2024-03-11 17:37:10浏览次数:17  
标签:udp 5000 socket python tcp usr logstash

Logstash接收udp/tcp数据

背景:在 Logstash数据源为日志文件操作 基础上进行

一、配置文件

1. D:\usr\local\etc\logstash\pipeline1目录下logstash.conf文件配置

  1. input {
  2. stdin { }
  3. udp {
  4. host => "0.0.0.0"
  5. # 从5000端口获取日志
  6. port => 5000
  7. type => "udp"
  8. }
  9. tcp {
  10. mode => "server"
  11. host => "0.0.0.0"
  12. # 从5044端口取日志
  13. port => 5000
  14. # 需要安装logstash-codec-json_lines插件
  15. codec => json_lines
  16. type => "tcp"
  17. }
  18. }
  19. output {
  20. stdout { codec => rubydebug }
  21. if [type] == "udp" {
  22. elasticsearch {
  23. hosts => ["192.168.1.110:9200"]
  24. index => "logstash-udp-%{+YYYY.MM.dd}"
  25. }
  26. }
  27. if [type] == "tcp" {
  28. elasticsearch {
  29. hosts => ["192.168.1.110:9200"]
  30. index => "logstash-tcp-%{+YYYY.MM.dd}"
  31. }
  32. }
  33. }

2. D:\usr\local\etc\logstash\config目录下logstash.yml文件配置

http.host: "0.0.0.0"

二、启动logstash

1. 执行命令,启动logstash容器(注:此处UDP/TCP数据接收端口为5000)

docker run -it -v /d/usr/local/etc/logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml -v /d/usr/local/etc/logstash/pipeline1:/usr/share/logstash/pipeline --name logstash1 -p 9601:9600 -p 5000:5000/udp -p 5000:5000 logstash:7.7.0

三、数据发送

1. 在D:\usr\local\bin\start目录下创建send_udp.py文件

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import socket # 网络通信 TCP,UDP
  4. # SOCK_DGRAM表示UDP,SOCKET_STREAM表示TCP
  5. client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  6. while True:
  7. msg = input('>>: ').strip()
  8. if not msg:
  9. continue
  10. client.sendto(msg.encode('utf-8'), ('192.168.1.110', 5000))
  11. if msg == 'close':
  12. break
  13. client.close()

2. D:\usr\local\bin\start目录下创建send_tcp.py文件

  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. import socket # 网络通信 TCP,UDP
  4. # SOCK_DGRAM表示UDP,SOCKET_STREAM表示TCP
  5. host = ('127.0.0.1', 5000)
  6. client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  7. client.connect(host)
  8. while True:
  9. msg = input('>>: ').strip()
  10. if not msg:
  11. continue
  12. client.sendto(msg.encode('utf-8'), host)
  13. if msg == 'close':
  14. break
  15. client.close()

3. 执行udp数据发送脚本,发送数据

python3 send_udp.py

 

4. 执行tcp数据发送脚本,发送数据

python3 send_tcp.py

 

四、查看结果

1. udp数据接收结果

 

2. tcp数据接收结果

从以上结果可以看出配置成功 

原文链接:https://blog.csdn.net/zsx18273117003/article/details/106218364

标签:udp,5000,socket,python,tcp,usr,logstash
From: https://www.cnblogs.com/sunny3158/p/18066624

相关文章

  • C# 启动 Python 不能及时获取输出信息
    结论:在print函数前加上sys.stdout.flush()。有的说加载print之后,都可以试试。fromtimeimportsleepimportsysif__name__=="__main__":sys.stdout.flush()print("Start")foriinrange(10000):#sys.stdout.write(str(i))sys.stdo......
  • python的一些设置
    一1全局设置pip加速。查找pip.ini文件,添加以下代码[global]index-url=http://pypi.tuna.tsinghua.edu.cn/simple/[install]trusted-host=pypi.tuna.tsinghua.edu.cn2执行poetryinstall命令单个项目:pyproject.toml文件加入以下内容可以加速[[tool.poetry.sourc......
  • Python - PyCharm支持的4种Python Interpreter和配置方法
    原文地址https://blog.csdn.net/qq_41498261/article/details/109112331 1.VirtualenvEnvironment1.1VirtualenvEnvironment是什么?1.2如何使用VirtualenvEnvironment?1.2.1.Newenvironment1.2.2.Existingenvironment2.CondaEnvironment2.1CondaEnvironment是什么......
  • python 有关于四舍五入,四舍六入的内容
    一、简介二、内容三、问题 一、简介最近看书看到了,有关python 内置的函数round取小数点的问题。书上描述的是四舍五入,然后又说,‘四舍五入’只是个约定的说法,并非所有的.5都会被进位。然后我再上网查了下,才知道,之前使用的四舍五入后面,还有个四舍六入五成双......
  • linux 通过python 命令定时删除文件,不通过crontab
    importosimporttimelog_dir="/var/log/"defdelete_expired_logs():current_time=time.localtime()print(current_time.tm_hour)ifcurrent_time.tm_hour==12andcurrent_time.tm_min==30:print('xxxxxxxxxx')......
  • python json格式转url参数&分割, url参数转json格式
    前言全局说明一、json格式转url参数&分割>>>fromurllib.parseimporturlencode>>>params={'user':'admin','pwd':'123456'}>>>print(urlencode(params))二、url参数转json格式>>>importj......
  • [oeasy]python0010_怎么用命令行保存文件
    编写py文件......
  • WIFI&蓝牙(ESP32)转CAN总线&串口TTL模块-C1-设备作为Modbus Slave实现RS485 Modbus RT
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ESP32_CAN"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p> 说明这节测试的是让设备作为Modbus......
  • 设置MaxUserPort和TcpTimedWaitDelay
    现象:在windows服务器上安装了mysql5.7,一开始mysql运行良好,但是过了一段时间后,收到错误“错误2003(HY000):无法连接到localhost上的MySQL服务器(10055)”,当重新启动机器时,问题就解决了,但是过了一段时间后,我再次收到同样的错误消息。解决办法:设置MaxUserPortMaxUserPort是Windows操......
  • Pycharm:terminal中python不是内部或外部命令
    问题在外部cmd中,可以正常使用python进入编辑模式。但是在pycharm的terminal中,使用python却报错:python不是内部或外部命令。原因未知,猜测是Pycharm的terminal无法正确读取环境变量,导致只能读取本目录下命令。解决方案File→Settings→Tools→Terminal把Startdirectory改为......