syslog-ng 客户端和服务端配置

Exp1: syslog-ng v3.5

本教程适用于你已经大致了解syslog-ng相关配置的情况,在你对syslog-ng一无所知的情况下,建议阅读官方文档

CentOS 7作为服务端

Ubuntu14 作为客户端

CentOS 7 安装syslog-ng : yum -y install syslog-ng

Ubuntu 14 安装syslog-ng : apt-get install syslog-ng

 

配置文件路径 /etc/syslog-ng/syslog-ng.conf

服务端配置文件,添加以下内容:

source s_net { syslog(transport(tcp) port(601)); };    # 监听本机601端口,客户端将会发送日志到该端口

destination d_log { file("/var/log/test.log"); };   # 将接收到的日志记录到本机/var/log/test.log

log { source(s_net);  destination(d_log); };  #  开启记录功能

注:log里面本来有三个参数,还有一个过滤器filter,建议在测试时不使用过滤器,以免不好定位没有数据的原因

 

客户端配置文件,添加以下内容:

source s_src { system();internal(); };   #  这个是安装自带的日志源,直接作为测试使用

destination d_centserver { syslog("192.168.205.141" transport("tcp") port(601)); };  #  将日志发送到这里设置的地址

log { source(s_src); destination(d_centserver); };   # 开启记录功能

 

在客户端和服务端使用  syslog-ng --syntax-only  检查配置文件是否存在语法错误

重启客户端和服务端的syslog-ng,systemctl restart syslog-ng

如果没有数据,检查系统的firewalld服务和iptables服务是否关闭,有可能被拦截了。

可以使用tcpdump工具检测服务端的601端口,查看接收到的数据包情况:

tcpdump tcp port 601 -i ens33     -i  为你系统的网口,CentOS必带这个参数 

 

syslog-ng   udp 默认使用514端口    tcp默认使用601   

如果在514端口使用tcp协议传输,会导致syslog-ng不记录日志

 

Exp2: syslog-ng v3.14

使用syslog协议发送日志,服务端CentOS 7 客户端 Ubuntu14.04

服务端配置:

source suricata { syslog( port(2010) transport("tcp")); };
#  其实syslog()中还有ip()选项,不填的话默认为监听所有
destination d_tcp { file("/var/log/dtcp.log"); };

log { source(suricata); destination(d_tcp); };

 

客户端配置:

source s_src {
       system();
       internal();
};

destination d_centserver { syslog("192.168.0.129" transport("tcp") port(2010)); };

log { source(s_src); destination(d_centserver); };

 

Exp3:syslog()方法使用的是新版本的syslog协议进行同步日志,network()方法使用的BSD-syslog协议同步日志,下面为network语法:

客户端:

source s_log { file("/var/log/logtest.log"); file("/var/log/suricata/sys.log"); file("/var/log/suricata/fast.log"); };

destination d_centserver { network("192.168.1.125" transport("tcp") port(1999)); };

log { source(s_log); destination(d_centserver); };

 

服务端

source waf_server_accesslog { network(
        ip("0.0.0.0")
        port(1999)
        flags(syslog-protocol)
        transport("tcp")
    ); };

destination accesslog_path { file("/opt/log/access.log"); };

log { source(waf_server_accesslog); destination(accesslog_path); };

 

Exp4:客户端监听本地UNIX-SOCKET,然后将日志发往服务端。服务端接收日志后,存入redis

客户端配置:

source s_pysyslog {
    unix-stream("/etc/syslog-ng/pysyslog.socket"
    max-connections(50)
    encoding("UTF-8")
    flags( assume-utf8)
    );
};

destination d_server { network("192.168.8.188" transport("tcp") port(1234)); };

log { source(s_pysyslog); destination(d_server); };

 

服务端配置:如果使用了多个同样的驱动程序接收日志,需要使用persist-name字段来标识。

source  s_log{
    network(
        ip("0.0.0.0")
        port(1234)
        transport("tcp")
        encoding("UTF-8")
        flags(assume-utf8, no-parse)
    );
};

destination d_redis{
    redis(
        persist-name('my_syslog')
        host("127.0.0.1")
        port(6379)
        command("RPUSH", "syslog", "${MSG}")
        retries(3)
    );
};

log { source(s_log);  destination(d_redis); };

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,我可以为您提供 syslog-ng 部署记录的一些基本步骤和注意事项。请注意,这只是一般性的部署记录,具体的操作可能因环境和需求的不同而有所差异。 1. 安装 syslog-ng 软件包:使用适合您操作系统的软件包管理器安装 syslog-ng。 2. 配置 syslog-ng:打开 syslog-ng 的主配置文件(通常位于 /etc/syslog-ng/syslog-ng.conf),根据实际需求配置文件路径、日志存储位置、过滤规则等。 3. 启动 syslog-ng:启动 syslog-ng 服务,使用 systemctl start syslog-ng 命令,或者使用 /etc/init.d/syslog-ng start 命令。 4. 确认 syslog-ng 运行状态:使用 systemctl status syslog-ng 命令或者 /etc/init.d/syslog-ng status 命令确认 syslog-ng 是否已经成功启动,并且正在运行。 5. 测试 syslog-ng:使用 logger 命令向 syslog-ng 发送测试日志消息,检查是否已经被正确地接收和处理。 6. 配置远程日志收集:如果您需要收集来自远程主机的日志,可以使用 syslog-ng 提供的相关功能。具体配置方法可以参考 syslog-ng 官方文档。 注意事项: 1. 配置文件的修改可能会导致 syslog-ng 服务无法启动,所以在修改配置文件之前,最好备份原始配置文件。 2. 确保您的防火墙已经正确地配置,以允许 syslog-ng 服务的通信。 3. 在配置远程日志收集时,请确保您的网络连接是可靠的,同时也要注意安全性问题。 希望这些信息能够帮助到您,如果您还有其他问题,请随时向我提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值