AnyRobot-数据采集 rsyslog 脚本采集日志最佳实践

简介:AnyRobot-数据采集 rsyslog 脚本采集日志最佳实践

关键字

Rsyslog、采集日志


适用产品

·AnyRobot 3.0.12


目的

· 要对多个日志文件进行监控,rsyslog 要求用户一个一个地写配置文件,过程繁琐,用户期望可以用一条命令来实现对多个日志文件的监控上传;
· 用户日志文件夹中可能新增或删除日志文件,要对其进行监控,rsyslog 要求用户手动写配置文件;
· 用户期望可以对文件夹进行监控,若新增日志文件,则自动对其监控,若删除日志文件,则自动停止对其监控。


解决方案

基本思路
· 使用 crontab + shell 脚本的方法来实现对文件夹的监控上传;
· shell 脚本 manage_rsyslog_conf.sh 用来创建、删除对应监控文件的 syslog 的配置文件,以实现 rsyslog 对文件状态的监控和文件内容的上传;
· shell 脚本 manage_monitor_task.sh 用来创建对文件夹监控的任务,通过对在 crontab 中添加和删除文件夹监控任务,实现对文件夹动态的监控的开始和停止;
· 用户通过调用 manage_monitor_task.sh,并输入监控的文件夹的路径( Path , 支持匹配符),例如:./manage_monitor_task.sh -a -h IP地址 -p 端口 --filepath "/root/xxx.log",实现对指定文件夹中文件内容的监控上传。

 

步骤查看监控

1.    进入 rsyslog 监控脚本目录,执行命令如下:

cd /anyrobot/tools/rsyslog_upload_directory

 

步骤二,新建监控任务
1.    使用 admin 用户登录 AnyRobot;
2.    点击数据源 > 数据输入 ,进入数据输入页面。

 

3.    点击新建按钮,进入新建数据输入页面,填写协议类型:TCP,日志类型rsyslog,日志标签rsyslog,接收端口:20088,编码格式:UTF-8。

 

4.    点击保存按钮,数据输入配置完成,返回任务列表页,新建任务出现在列表中。

 

5.    执行脚本监控日志文件

情景一,监控一个日志文件夹下的一个日志文件:

(1)  进入 rsyslog 监控脚本目录,在 /anyrobot/tools/rsyslog_upload_directory 目录下执行以下命令:

./manage_monitor_task.sh -a -h IP地址 -p 端口 --filepath "/root/xxx.log"


(2)  监控成功后,在 /etc/rsyslog.d 件夹里生成配置文件:xxx.conf。

 

情景二,监控一个日志文件夹下的多个同类型的日志文件
(3)  进入 ryslog 监控脚本目录,执行以下命令。监控 root 目录下的多个文件成功,在 /etc/rsyslog.d 目录下生成配置文件 xxx.conf。

./manager_monitor_task.sh -a -h IP地址 -p 端口 --filepath "/root/*.log

情景三,监控不同文件夹下面的多个同类型的日志文件
(1)  执行以下命令,监控不同文件夹下的多个文件 "/*/*.txt" /etc/rsyslog.d 目录下生成配置文件 xxx.conf。

./manager_monitor_task.sh -a -h IP地址 -p 端口 --filepath "/*/*.txt

 

6.     /etc/rsyslog.d 文件里的日志上传成功,在搜索界面可搜索到监控成功的日志信息;登陆 AnyRobot,点击搜索,进入搜索界面,在元数据字段下正选 type=rsyslog,可筛选出对应的监控日志。

 

步骤三,查看监控任务
1.    进入 ryslog 监控脚本目录执行以下命令,查询所有的监控任务:

./manage_monitor_task.sh -l


2.    根据上一个步骤中查询的监控任务可获得任务 id:0、1、2、3、4、5;使用以下命令查询指定监控任务 id=1,获得该任务的信息。

./manager_monitor_task.sh -l 1

 

步骤四删除监控任务
1.    进入 ryslog 监控脚本目录,执行以下命令,删除监控任务 id=1 及相关配置文件。

./manage_monitor_task.sh -d 1

为了给您提供更优质的服务,请您先完善以下信息:
确认提交
weixin

扫码关注

爱数技术支持中心公众号