syslog-ng tls入库mysql

syslog-ng tls 解析json并入库mysql

本文主要讲syslog入库该如何写配置文件

前言

tls需要用到证书,可以参考我的上一篇文章。

1.配置源

source syslog{
network(
ip(0.0.0.0) port(1999)
flags(no-parse)
transport(“tls”)
tls(
key-file("/etc/syslog-ng/key.d/server.key")
cert-file("/etc/syslog-ng/cert.d/server.pem")
ca-dir("/etc/syslog-ng/ca.d")
));
};

2.配置json解析器

可参考 官方文档.
parser syslog_json{
json-parser(prefix(".message."));
};
例如传过来的数据为{“id”:“1”,“name”:“Tom”}
取的时候${.message.id}

3.配置destination

可参考 官方文档.
destination syslog{
sql(type(mysql)
host(“192.192.192.192”)
username(“name”)
password(“password”)
database(“syslog”)
table(“logs”)
columns(“id serial”,“name”)
values(default,"${.message.name}")
indexes(“id”,“name”)
);
};
使用sql()驱动时,需要安装一个sql工具包,如果报错了debian安装 libdbd-mysql
centos 安装libdbi-dbd-mysql.x86_64
当数据库不存在此表时会自动创建,可以使用flags(dont-create-tables)来禁止它自动建表

3.配置filter

如果你需要将不同的日志写进不同的表,可以使用过滤器
可参考 官方文档.
例如:
filter syslog{
match(“id”)
};
日志中含有id的日志过滤出来

4.配置log

log{
source(syslog);
filter(syslog);
parser(syslog_json);
destination(syslog);
flags(final);
};
参考: 官方文档.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值