配置rsyslog脚本 -凯发k8国际|首页

j

数据接收

脚本配置rsyslog

我们提供的configure_linux_rsyslog.sh bash脚本将为您自动初始化运行环境并生成配置文件,以上传日志到日志易。

注意:以下说明针对部署版用户,如果您是云端用户,请参考产品“设置-日志上传”页面的说明进行配置。

以下操作假定您拥有root或sudo权限,在通用的linux平台使用5.8.0或更高版本的rsyslog。配置完成后您新增的日志文件将通过514端口发送到日志易。

运行生成配置文件脚本

运行下面的脚本,将会为您自动配置rsyslog来自动上传新增日志。或者您也可以选择手动配置rsyslog

curl -o https://www.rizhiyi.com/install/configure_linux_rsyslog.sh
chmod 755 configure_linux_rsyslog.sh
sudo ./configure_linux_rsyslog.sh -h rizhiyi_log_server_address -t your_token --filepath /path/to/your/logfile --appname type_of_your_log --tag custom_attributes_of_your_log

参数说明:


-h rizhiyi_log_server_address

负责接收日志的日志易服务器域名。日志易saas服务默认地址是 log.u.rizhiyi.com:5140;其他公有云或部署版用户可以通过产品设置页面查看自己的专属地址。

示例:-h log.rizhiyi.com


-t your_token

用户的token。获取方法:当您开始设置帐户,可以通过进入”数据设置” –> “用户标识”,查看用户标识符。

示例:-t ba1f2511fc30423bdbb183fe33f3dd0f


--filepath /path/to/your/logfile

需要上传的日志文件的绝对路径,必须包含日志文件名。

示例:--filepath /var/log/nginx/access.log


--appname type_of_your_log

需要上传的日志类型。appname设置正确与否直接影响到后台对日志字段的提取。如果您是vip用户,请填写日志易提供的针对该日志的appname。

示例: --appname nginx_access

注意:appname由英文、数字及下划线组成,不可以与/etc/rsyslog.d下已有的配置重复(通过rsyslog上传时也不能包含空格),否则会导致新配置的token和tag不生效。如果你需要用同一个appname上传多个日志文件,请参考手动配置rsyslog


--tag custom_attributes_of_your_log

用户自定义属性标签,日志上传后可以根据该tag进行搜索或定义日志分组;用户可配置多个tag,多个tag之间使用英文半角逗号分隔,中间不能有空格。

示例:--tag rizhiyi_search--tag tag1,tag2,tag3

错误用例: --tag tag1, tag2 由于tag1与tag2之间有额外的空格,tag2将不被识别。


注:每个配置文件只能监听一个日志文件,若要监听多个日志文件,请为每个日志文件分别生成配置文件

ubuntu系统因为rsyslog是以syslog用户运行,所以会存在因为无读权限而无法采集日志的问题。

为了检查syslog用户是否有权限读某个文件可以用下面命令验证:

su -s /bin/sh -c "head -n 1 /path/to/your/logfile" syslog


卸载配置

脚本行为

该脚本将进行以下系统检测及操作,以确保您的系统与日志易兼容。配置系统的内容与手动配置rsyslog中相同,通过编写/etc/rsyslog.d/rizhiyi.conf 配置文件来实现通过rsyslog上传日志。然后重启rsyslog服务,使配置生效,最后通过日志易的搜索功能进行检索。如果能够检索到日志信息,则配置成功。我们会关注您的安装体验,如果您遇到问题支持团队会尽力为您提供帮助。

系统检测和配置

  1. 检查脚本是否支持操作系统,如果否,则退出(仅支持linux,不支持windows或mac os);

  2. 检查linux发行版本是否centos、redhat、ubuntu,如果否,则退出;

  3. 检查用户是否有root权限运行脚本;

  4. 检查selinux服务是否执行,如果是,提示用户手动关闭并退出脚本;

  5. 检查主机名(hostname)是否为空、localhost或127.0.0.1,如果是,则警告后退出;

  6. 检查rsyslog的版本是否至少是5.8.0,如果不符合条件,则退出;

  7. 检查rsyslog是否配置为系统服务自动启动,如果否,则退出;

  8. 检查网络连通性,如果有问题,通知用户检查网络连接并退出;

  9. 在rsyslog配置文件目录/etc/rsyslog.d/下生成配置文件;

重启rsyslog服务

如果是centos 7及以上版本,重启此服务命令为:

sudo systemctl restart rsyslog.service

否则为

sudo service rsyslog restart

疑难解答