标签:logfile 展示 自动启动 block collect red https 商业 部署
在企业运维环境中,运维人员管理的主要对象分别是服务器、存储、网络设备、安全设备等。而在对整个企业网站进行监控时,这些设备的日志数据都需纳入到监控的范围之内。日志分析与监控,这事说大不大,说小也不小。日志易的日志接入方式主要包括以下三种:
Rsyslog 手动部署要求操作人员拥有root或sudo权限。
其次需确定rsyslog版本是否为5.8.0及以上版本。Linux系统可使用rsyslog -v命令查看rsyslog版本号,如果版本号较低,可访问rsyslog网站——http://www.rsyslog.com/download/ ——下载最先版本。Rsyslog编译过程在此就不详细提及了。下面的部署步骤以rsyslog 5.8.0及其以上版本为前提进行展开。
如果/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/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 @@log.rizhiyi.com:5140;RizhiyiFormat_APPNAME
if $programname == ‘APPNAME‘ then ~
配置文件参数替换说明:
注意
在 /etc/rsyslog.d/ 下的rsyslog配置文件中:
$ sudo service rsyslog restart
例如,配置文件中的tag字段已修改为"accesslog",可使用"tag:accesslog" 搜索过去一小时的事件,检查日志易是否成功接收并正确识别日志,建立索引可能需要几十秒钟时间,需要等待几十秒钟。
通用的Linux平台上,Rsyslog脚本部署需要满足以下基础条件:
可以使用日志易提供的configure_linux_rsyslog.sh 脚本自动初始化运行环境并生成配置文件,以便上传日志。在Linux系统上相关执行命令如下:
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
相关参数说明如下:
脚本解释
该脚本将进行以下系统检测及操作,以确保上传日志的系统与日志易兼容。配置系统的内容与手动配置rsyslog中相同,即通过编写/etc/rsyslog.d/rizhiyi.conf 配置文件来实现rsyslog日志上传。配置完成后,重启rsyslog服务则配置生效,在日志易端如果能够检索到日志信息,则配置成功。
系统检测和配置过程包括如下几步:
路由器、交换机、负载均衡、***防护系统等网络设备,可以通过syslog输出日志。使用本地的中央rsyslog可转发这些日志给日志易。
大多数网络设备使用旧的非结构化的日志格式,并使用UDP协议传输。日志易使用新的RFC5424标准来结构化日志,使用更可靠的TCP传输协议。以下将展示将旧日志转换为这种新的标准格式,并通过Linux系统的rsyslog协议转发到日志易的配置。
Linux后端配置步骤如下:
创建一个新的UDP配置文件或打开现有的:
sudo vim /etc/rsyslog.d/forward_udp_2_tcp.conf
复制并粘贴以下内容配置启用syslog,默认 UDP输入端口为514,会通过TCP协议转发数据到collector01的5140端口
# Modules
$ModLoad imudp
$UDPServerRun 514
# log every host in its own directory
$template RemoteHost,"/data/syslog/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%.log"
# 写本地文件
$template LocalFileFormat,"%timestamp:::date-rfc3339% %HOSTNAME% %syslogfacility-text% %syslogseverity-text% %syslogtag%%msg%\n"
# 写远程Collector,这里将appname固定为"switch",注意修改token和tag
$template RizhiyiFormat,"<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% switch %procid% %msgid% [your-token@32473 tag=\"udp\"]%msg%\n"
# 发送数据,注意修改collector01为具体的collector地址
#if $inputname == ‘imudp‘ then ?RemoteHost;LocalFileFormat
if $inputname == ‘imudp‘ then @@collector01:5140;RizhiyiFormat
if $inputname == ‘imudp‘ then ~
重启rsyslog进程:
sudo service rsyslog restart
使用netcat发送一条测试日志,使用rsyslog来验证能够接收UDP信息:
echo ":hello" | nc -u -w 1 localhost 514
该消息应显示在您的系统日志和日志易中,可使用 tail -f 查看日志内容。
获取本地中央rsyslog的IP地址,然后配置网络设备发送日志到这个IP,请查看您的网络设备文档进行配置。
ifconfig eth0
搜索过去一小时的网络设备日志。这可能需要几十秒钟的时间来索引日志。
当我们把数据源的rsyslog转发配置添加了日志易服务器的主机名后,还要在日志易系统里开启相应的端口接收数据。其相关配置如下:
所谓IP映射,是指为不同IP发来的Syslog标注不同的appname、tag和编码。 IP支持192.168.1. 的通配符配法, 但 必须单独占据某一段,而不能是192.1*8.1.1。靠前的映射优先被匹配。
Syslog 数据接入日志易端配置可点击 轻松实现 Syslog 数据接入 | “3 分钟玩转日志易” 系列一查看相关视频。
标签:logfile 展示 自动启动 block collect red https 商业 部署
原文地址:https://blog.51cto.com/13533303/2365571