Appearance
使用Syslog协议上传日志
您可以使用Syslog协议往某个SLS示例发送日志。 本文介绍了两种方式: syslog-ng, ncat。
注: Syslog协议必须为标准的RFC5424协议。
使用syslog-ng
发送日志
syslog-ng
是一个功能强大的日志管理工具,用于收集、处理和路由系统和应用程序生成的日志消息。 它提供灵活的配置选项和多样的目标输出,可帮助组织集中管理和分析日志数据,实现日志的集中存储、过滤、转发和分发。
- 安装
syslog-ng
sh
apt install syslog-ng # ubuntu
apt install syslog-ng # ubuntu
或者,可以使用syslog-ng
的Docker镜像
- 填写
syslog-ng.conf
将变量 sls-instance-id
、access-key-id
、access-key-secret
、公网访问域名(cn-jiaxing.log.sihe.com) 更换 ,可参考如何获取accessKey与sls公网访问域名
你也根据自己需求修改Source配置来收集其他的日志
txt
# ./syslog-ng.conf
# 参考文档: https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.22/administration-guide/12
template LogServiceFormat {
template("<${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [logservice@1 sls-instance-id=\"sls-s9kxxxxxxxxx\" access-key-id=\"Duxxxxxxxxxxxxxxxxxxxxxx\" access-key-secret=\"onxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"] $MSG\n"); template_escape(no);
};
destination d_sihecloud_tls{
tcp("cn-jiaxing.log.sihe.com" port(11000)
tls(peer-verify(required-untrusted))
template(LogServiceFormat));
};
log {
source(s_src); # default use s_src
destination(d_sihecloud_tls);
};
# ./syslog-ng.conf
# 参考文档: https://www.syslog-ng.com/technical-documents/doc/syslog-ng-open-source-edition/3.22/administration-guide/12
template LogServiceFormat {
template("<${PRI}>1 ${ISODATE} ${HOST:--} ${PROGRAM:--} ${PID:--} ${MSGID:--} [logservice@1 sls-instance-id=\"sls-s9kxxxxxxxxx\" access-key-id=\"Duxxxxxxxxxxxxxxxxxxxxxx\" access-key-secret=\"onxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"] $MSG\n"); template_escape(no);
};
destination d_sihecloud_tls{
tcp("cn-jiaxing.log.sihe.com" port(11000)
tls(peer-verify(required-untrusted))
template(LogServiceFormat));
};
log {
source(s_src); # default use s_src
destination(d_sihecloud_tls);
};
- 用
logger
测试
sh
logger this is a test message
logger this is a test message
使用netcat
上传日志
netcat
(也称为nc)是一个多功能的网络工具,可以在不同系统之间建立 TCP 或 UDP 连接、发送和接收数据, 用于调试和测试网络服务、执行端口扫描、进行数据传输等。
- 安装
netcat
sh
apt install ncat # ubuntu
yum install nmap-ncat # centos
apt install ncat # ubuntu
yum install nmap-ncat # centos
- 发送日志
将变量 sls-instance-id
、access-key-id
、access-key-secret
、公网访问域名(cn-jiaxing.log.sihe.com) 更换 ,可参考如何获取accessKey与sls公网访问域名
sh
$ ncat --ssl cn-jiaxing.log.sihe.com 11000
<34>1 2023-11-29T06:00:15.003Z mymachine.example.com su - ID47 [logservice@1 sls-instance-id="sls-xxxxxxxxxxxx" access-key-id="Dxxxxxxxxxxxxxxxxxxxxxxx" access-key-secret="oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] this is a test message
$ ncat --ssl cn-jiaxing.log.sihe.com 11000
<34>1 2023-11-29T06:00:15.003Z mymachine.example.com su - ID47 [logservice@1 sls-instance-id="sls-xxxxxxxxxxxx" access-key-id="Dxxxxxxxxxxxxxxxxxxxxxxx" access-key-secret="oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] this is a test message