如果您无法通过脚本生成配置文件,这份指导将帮助您通过简单的复制、粘贴完成配置。
注意:以下说明针对部署版用户,如果您是云端用户,请参考产品“设置-日志上传”页面的说明进行配置。
假定您已拥有root或sudo权限,是在通用的Linux平台使用5.8.0或更高版本的rsyslog,rsyslog能接收本地系统日志,并通过5140端口与外界连接。如果您有不同的需求,请参阅高级选项。
粘贴以下脚本并运行,将保证 /var/spool/rsyslog 目录已存在,如果是Ubuntu系统,还会对目录进行权限设置。
sudo mkdir -v /var/spool/rsyslog
if [ "$(grep Ubuntu /etc/issue)" != "" ]; then
sudo chown -R syslog:adm /var/spool/rsyslog
fi
打开rsyslog配置文件,它通常在 /etc/rsyslog.d 目录下
sudo vim /etc/rsyslog.d/rizhiyi.conf
将下列内容粘贴在这个配置文件中
$ModLoad imfile
$WorkDirectory /var/spool/rsyslog
$InputFileName FILEPATH
$InputFileTag APPNAME
$InputFileStateFile stat_APPNAME
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$RepeatedMsgReduction off
$InputRunFileMonitor
$InputFilePollInterval 3
$template RizhiyiFormat_APPNAME,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [TOKEN@32473 tag=\"TAG\"] %msg%\n"
if $programname == 'APPNAME' then @@EXAMPLE.DOMAIN.COM;RizhiyiFormat_APPNAME
if $programname == 'APPNAME' then ~
替换
ba1f2511fc30423bdbb183fe33f3dd0f
/var/log/nginx/access.log
nginx_access
rizhiyi_search
log.u.rizhiyi.com:5140
;其他公有云或部署版用户可以通过产品设置页面查看自己的专属地址。注意
$InputFileTag
定义的APPNAME
必须唯一,同一台主机上不同的应用应当使用不同的APPNAME,否则会导致新定义的TOKEN和TAG不生效;$template
定义的模板名必须唯一,否则会导致新定义的TOKEN和TAG不生效;$InputFileStateFile
定义的StateFile必须唯一,它被rsyslog用于记录文件上传进度,否则会导致混乱;@@log.rizhiyi.com:5140
用于指定接收日志的服务器域名或者主机名。默认是 log.rizhiyi.com:5140
su -s /bin/sh -c "head -n 1 /PATH/TO/YOUR/LOGFILE" syslog
命令验证#如果是CentOS 7及以上版本,重启此服务命令为:
$sudo systemctl restart rsyslog.service
#否则为
$sudo service rsyslog restart
例如,配置文件中的tag字段已修改为”accesslog”,可使用”tag:accesslog”搜索过去一小时的事件,检查日志易是否成功接收并正确识别日志,建立索引可能需要几十秒钟时间,需要等待几十秒钟。如果搜索不到结果,请参阅下面的[疑难解答](#troubleshooting)部分。
如果您希望将Linux系统日志(syslog)上传到日志易中,您需要做以下简单配置:
添加以下内容:
$template RizhiyiFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [TOKEN@32473 tag=\"TAG\"] %msg%\n"
*.* @@log.rizhiyi.com:5140;RizhiyiFormat
ba1f2511fc30423bdbb183fe33f3dd0f
syslog
修改后内容示例:
$template RizhiyiFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% [ba1f2511fc30423bdbb183fe33f3dd0f@32473 tag=\"syslog\"] %msg%\n"
*.* @@log.rizhiyi.com:5140;RizhiyiFormat
需要用同一个APPNAME监听多个日志文件,请复制并粘贴以下内容到行$template
之前,并做自定义修改:
$InputFileName FILEPATH
$InputFileTag APPNAME
$InputFileStateFile stat_APPNAME
$InputFileSeverity info
$InputFilePersistStateInterval 20000
$RepeatedMsgReduction off
$InputRunFileMonitor
切换到UDP: 速度更快,但是丢失事件的风险也随之增加
改变每条事件的最大值上限: 提升至每条64k
如果您在验证步骤看不到数据,请参照rsyslog疑难解答