当前位置: 首页 > news >正文

Linux搭建syslog日志服务器

最近有个需求,需要使用到syslog服务器,于是寻找资料在Linux系统上搭建了一个docker容器的syslog日志服务器。操作步骤如下。执行步骤前,你先得在Linux上安装好docker软件,安装好后看docker的compose是否可以使用,不行,还需要安装docker-compose,之前老一些的版本安装好后是使用docker-compose这样用,后面新版本的docker就docker compose这样来使用的,些许区别,在这做个简单的提醒。

1、拉取镜像

拉取镜像当时也废了一些功夫,拉取的时候不是连不上服务器就是超时,后面改了docker的镜像源,使用下面的拉取镜像命令终于拉取成功了。

docker pull rsyslog/rsyslog:latest

拉取成功后使用docker images查看镜像,可以看到镜像已经拉取完成了,如下所示:

2、编辑配置文件

首选创建一个文件夹syslog,然后进入文件夹,创建文件夹data和下面的docker-compose.yml文件。在data里面再新建remote文件夹和rsyslog.conf文件,最后目录结构如下图所示:

然后就是编辑rsyslog.conf内容为如下内容

# 加载核心模块 module(load="imuxsock") # 本地日志接收 module(load="imudp") # UDP 模块 module(load="imtcp") # TCP 模块(关键,启用 TCP 支持) # 监听 UDP 514 端口 input(type="imudp" port="514") # 监听 TCP 514 端口(关键,启用 TCP 支持) input(type="imtcp" port="514") # 定义模板:按客户端主机名+程序名分类存储日志 $template RemoteLog,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log" # 所有远程日志应用模板存储 *.* ?RemoteLog # 额外:按日志级别分类(如 ERROR 日志单独存储) :syslogseverity, isequal, "error" /var/log/remote/error.log # 禁止日志重复输出 & stop

其中remote文件夹里面不做任何修改,空文件夹即可,后面做数据映射到容器。

3、配置docker-compose文件

解下就是编辑compose文件,编辑上面文件夹内的docker-compose.yml文件,修改内容如下

version: '3.8' services: syslog-server: image: rsyslog/rsyslog:latest network_mode: bridge container_name: syslog-server restart: unless-stopped ports: - "514:514/udp" # UDP 协议端口映射 - "514:514/tcp" # TCP 协议端口映射 volumes: - ./data/remote:/var/log/remote # 日志持久化 - ./data/rsyslog.conf:/etc/rsyslog.conf environment: - TZ=Asia/Shanghai # 时区配置

文件中写明,容器镜像使用我们前面拉取的镜像rsyslog/rsyslog:latest,然后做了UDP和TCP的端口映射,然后就是数据持久化和匹配文件的映射

4、运行容器验证服务器

最后就是运行容器,运行命令:docker compose up -d即可运行容器,如果运行成功,是docker ps可以看到新建的容器

此时就表示容器搭建完成了,然后就是测试一下发送日志到syslog服务器,在宿主机的命令行执行如下命令:

#UDP协议发送日志到syslog日志服务器 logger -d -n 127.0.0.1 -P 514 "jelly UDP test log: $(date)" #TCP协议发送日志到syslog日志服务器 logger -n 127.0.0.1 -P 514 "@@TCP jelly test log: $(date)"

然后就可以去宿主机映射的目录data/remote目录下面的文件里面看到上传的日志信息

http://www.cnnetsun.cn/news/4551.html

相关文章:

  • 表面工程科技盛宴:2026上海国际表面工程材料展览会
  • 【生存分析避坑手册】:从数据清洗到模型验证的R语言全流程精讲
  • Wan2.2-T2V-A14B在广告创意中的实战应用案例分享
  • 用了 10 年以上 SAP ECC?升级 S/4HANA 前你必须知道的三个真相
  • Chinese-CLIP-ViT-Base-Patch16技术解析与应用实战指南
  • 从零构建时空插值模型,手把手教你用R处理环境监测数据
  • Plotext:终端数据可视化的终极指南
  • 区间DP第1课:通过一个案例深入浅出研究区间DP
  • POML技术革命:房地产行业如何用AI提示语言重塑交易效率
  • 跨境电商必备:Trae国际版在海外市场的实战应用
  • HSBC Java面试被问:CAS如何解决ABA问题
  • Wan2.2-T2V-5B如何保证人物动作合理性?算法解析
  • Wan2.2-T2V-5B如何优化光照变化连贯性?技术方案
  • 从零构建金融风险模型,手把手教你R语言Copula应用全流程
  • Wan2.2-T2V-A14B生成视频帧率稳定性实测
  • Dify-Plus:构建企业级AI应用平台的完整指南 [特殊字符]
  • 用Wan2.2-T2V-A14B实现720P高清视频自动生成,效率提升十倍!
  • 零成本突破消息队列认证:30天从新手到专家的实战攻略
  • DAY34 GPU训练及类的call方法
  • 详细的Gradle
  • Maven VS Gradle
  • 终极指南:橙单低代码平台2025企业级应用快速搭建全流程
  • Qwen3-30B-A3B:轻量级AI模型如何重塑企业智能化未来
  • AI桌面应用终极解决方案:Chatbox完整使用指南
  • 发泡材料的客户群体范围有多广泛?
  • TDK/INVENSENSE/应美盛传感器ICM-40608的概述
  • 《概率的朋友》:引领股民走进量化交易新时代
  • Wan2.2-T2V-A14B推理延迟优化:从30秒到10秒的提速方法
  • 5个必学技巧:用AYA轻松掌控Android设备
  • 显式拥塞通知(ECN)机制