AnyRobot-Agent 源端日志未采集告警最佳实践

简介:AnyRobot-Agent 源端日志未采集告警最佳实践

关键字

日志告警、AR-Agent、Agent 任务管理

 

适用产品

· AnyRobot 3.0.x


目的

日志管理平台的采集监控提供 Agent 的监控和日志采集的监控,同时提供针对日志文件更新的告警,例如某个类别的日志文件如果在指定时间内无新增则报警,这个超时时间可配置。

 

解决方案

基本思路

1.   当 agent 任务采集的文件中无日志时,则在告警设置的超时时间对比的对象是 agent 任务模板和主机绑定的时间;

2.   当 agent 采集过文件中的日志时,则告警的超时时间对比的对象是 agent 日志中的执行时间字段。

 

步骤一,环境准备

1.   为验证源端日志未采集告警,本实践拟在主机 192.168.84.254上部署 AnyRobot,在主机 192.168.84.235 上部署 Agent,采集 235 主机的数据发送到 254 主机。

(1)  登录 AnyRobot 页面;

(2)  点击数据源 > 数据输入 ,进入数据输入页面;

(3)  点击新建按钮,进入新建数据输入页面,输入类型填写 AR-Agent ,接收端口填写 20020,编码格式选择 UTF-8,传输协议填写 HTTP,日志类型、日志标签选填;

(4)  点击保存按钮,数据输入配置完成。

(1)  点击 Agent 管理 > 主机认证,进入主机认证管理页面;

(2)  点击新建按钮,进入主机认证管理配置页面,认证名称填写192.168.84.235,协议类型填写 SSH,标签选填;

(3)  点击保存按钮,配置完成。

2.   本次实践拟验证基本思路中的两种情况,需要在 Agent 管理下的配置模板中新建两个输入模板和一个输出模板。

(1)  点击数据源 > Agent 管理 > 模版配置,进入模版配置页面;

(2)  点击新建按钮,进入新建模版配置页面,模版名称自定义 ,Agent 类型选择 AR-Agent,文件路径填写 empty.txt,模版类型选择:输入, 其他选项使用默认值;

(3)  点击保存按钮,模版配置完成。

(4)  再次点击新建按钮,进入新建模版配置页面,模版名称自定义 ,Agent 类型选择 AR-Agent,文件路径填写 source.txt,模版类型选择:输入, 其他选项使用默认值;

(5)  点击保存按钮,模版配置完成。

(1)  再次点击新建按钮,进入新建模版配置页面,模版名称自定义 ,Agent 类型选择 AR-Agent,模版类型选择输出,采集配置按自身情况配置,本例配置信息如图。

(2)  点击保存按钮,模版配置完成。

3.   点击数据源 > Agent 管理 > 任务配置,点击新建按钮,进入任务配置页面。一个采集空文件 empty.txt 发送到 235 主机,另一个采集非空文件 source.txt 发送到 235 主机。

4.   在主机标签页新建 235 主机,并向 235 主机部署 AR-Agent。

 

步骤二,验证采集空文件超时告警

1.   在 235 主机 Linux 系统 /root 目录下执行 touch empty.txt 命令,新建一个 empty.txt 的空文件。

2.   在 235 主机下新建采集 empty.txt 的任务,并执行 date 命令查看 235 主机当前时间。

3.   登录 AnyRobot,点击智能告警 > 告警策略,新建规则策略和场景策略。

·   规则策略中填写规则名称为采集235上空文件empty.txt告警,规则类型选择源端日志未采集,监控对象选择主机 235,触发条件设置为源端日志未采集时间大于 2 小时触发告警,点击保存

·   场景策略中填写场景名称为采集235上空文件empty.txt告警,场景规则选择规则策略中创建的采集235上空文件empty.txt告警,计算方式选择OR,执行计划设置为每 1 分钟执行一次,告警抑制设置为不抑制,点击保存

4.   选择合适的时间间隔,查看告警记录,此时无告警记录。

5.   执行 date -s "指定时间" 命令,修改 254 主机时间比第 2 步中查询到了 253 主机时间大于 2 小时。

注意:由于修改 Agent 所在主机的时间会影响 Agent 采集,因此此处修改 254 主机时间。

6.   登录 AnyRobot,点击智能告警 > 告警记录,查看告警记录,产生告警记录,如下图所示。

 

步骤三,验证采集非空文件超时告警

1.   在 235 主机 Linux 系统 /root 目录下执行以下命令,新建一个 source.txt 的文件并写入日志

touch source.txt

echo "log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info." >> source.txt

2.   在 235 主机下新建采集非空文件 source.txt 的任务。

3.   登录 AnyRobot,在搜索页面,可以看到数据已被采集,在 Agent 审计下查看执行时间字段,为 2019-12-11 17:31:01.186,该时间为 Agent 采集到 source.txt 文件的时间,即 235 主机时间。

4.   执行 date 命令,查看 254 主机时间,登录 AnyRobot,点击智能告警,参照步骤二中第 3 步,新建规则策略和场景策略。其中,规则策略中设置触发条件为 4 小时。

5.   查看告警记录,此时不会产生告警记录,告警记录仍为之前的记录。

6.   在 235 主机中为 source.txt 追加日志,并登录 AnyRobot ,在搜索页面,可以看到追加的日志已被采集,查看 Agent 审计的执行时间字段,最新执行时间为 2019-12-11 17:52:31.182。

7.   执行 date -s "指定时间" 命令,修改 254 主机时间比第 6 步中的最新执行时间大于 4 小时。

8.   登录 AnyRobot,点击智能告警 > 告警记录,查看告警记录,等待一两分钟后,产生新的告警,如下图所示。

9.   综上可见,当 Agent 功能正常时,若监控的日志文件超出告警设置的触发条件未更新,则会产生告警。

 

更多信息

关于 Agent 创建采集任务的具体操作,请参考爱数官方网站:AnyRobot-Agent 创建采集任务最佳实践

关于验证采集空文件超时告警的具体操作,请参考爱数官方网站:AnyRobot-基于规则引擎的智能告警最佳实践

 

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

扫码关注

爱数技术支持中心公众号