使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1【优化篇】

简介: 使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1【优化篇】

一、优化项1

在上一篇文章《业务服务器免装插件,使用rsync+nxlog同步+采集应用日志并接入到GrayLog5.1》中,使用rsync同步业务服务器日志文件有些异常日志文件过大,需要进行屏蔽处理

进行了脚本的优化,优化内容如下

1、只同步源服务器上当天的日志文件(日志文件名中有日期)

2、排除掉异常的日志文件,加到排除名单文件中

vi /opt/server_logfiles_rsync.sh 
#!/bin/bash
LOCK=/var/log/logs_rsync_record.log
FILENAME_MONTH=`date +%m`
FILENAME_DAY=`date +%e`
echo "同步日期:" >> ${LOCK} 2>&1
echo `date '+%Y-%m-%d_%T'`  >> ${LOCK} 2>&1
echo "=================  logs Rsync starting==============================="   >> ${LOCK} 2>&1
rsync --progress -avz --exclude-from='/opt/exclude-files.txt' --perms --chmod=ugo+r -og --chown=root:root -e "ssh -p 22" root@192.168.31.170:/data/*_${FILENAME_MONTH}_${FILENAME_DAY}_*.txt /datarsync/ >> ${LOCK} 2>&1
echo "================= logs Rsync Finished==============================="   >> ${LOCK} 2>&1
vim /opt/exclude-files.txt
test1_05_27_2023.test2.txt

(图片点击放大查看)

二、优化项2

针对同步过来异常大小的日志,可以实现自动定时检测并推送告警

1、主要是针对要检测目录下的文件,如果超过500MB的阈值就进行告警

2、服务器需要通过堡垒机登录到SSH后台进行处理,钉钉告警消息中给出堡垒机的URL和SSH URI方便快速登录 具体脚本如下

vi /opt/monitor_files_size.sh
#!/bin/bash
# 监控目录和文件名
dir_path="/datarsync"
# webhook 地址(自行修改)
webhook_url="https://oapi.dingtalk.com/robot/send?access_token=2862f188988f60fbc377740cecc308bd46c17eCXXXXXXXXXXXaf83bfa84c4a52"
set_payload_file(){
cat  > /opt/payload_result.json << \EOF
{       
"msgtype": "actionCard",
"actionCard": {
"title":"日志文件大小异常告警",
"text":"
##### 同步到GrayLog本地的日志文件大小异常告警 \n
>  ##### <font color=#67C23A> 【文件路径】</font> :<font color=#FF0000> template1 </font> \n
>  ##### <font color=#67C23A> 【文件大小】</font> :<font color=#FF0000> template2,请及时关注并排查</font> \n
>  ##### <font color=#67C23A>  登录堡垒机: https://192.168.31.170 进行处理</font> \n
>  ##### <font color=#67C23A>  复制此链接👇在浏览器打开调用SecureCRT登录: </font> \n
>  ##### <font color=#FF0000>  ssh://yuanfan%40root%40192.168.31.200@192.168.31.170:2222 </font> \n
"
}
}
EOF
}
scan_file(){  
for file in $dir_path/*; do
    if [[ -f "$file" ]]; then
      # 获取文件大小(单位:字节)
      file_size=$(stat -c "%s" "$file")
      file_size_mb=$((file_size/(1024*1024)))
      # 判断文件大小是否超过 500MB
      if (( $file_size > 524288000 )); then
      # 发送告警到 webhook 机器人
        message1="File:${file}"
        message2="(${file_size_mb} MB),超过了500MB"
        set_payload_file
        sed -i "s^template1^$message1^g" /opt/payload_result.json
        sed -i "s^template2^$message2^g" /opt/payload_result.json
        response=$(curl -sS -H "Content-Type: application/json" -X POST -d @/opt/payload_result.json "${webhook_url}")
        echo $message
        if [ $? -eq 0 ]; then
            echo "Alert sent successfully"
        else
            echo "Failed to send alert: ${response}"
        fi
      fi
    fi
done
}
scan_file

(图片点击放大查看)

1、钉钉告警效果如下

(图片点击放大查看)

2、浏览器中复制链接,调用SecureCRT只需输入个人的堡垒机密码即可快速登录服务器

(图片点击放大查看)

(图片点击放大查看)

这里用的堡垒机为QAX堡垒机,仅做演示

Tips:Crontab定时任务设置

crontab -e
crontab -l
#每分钟同步一次
*/1 * * * * /opt/server_logfiles_rsync.sh 
#每小时检测一次文件大小
0 */1 * * * /opt/monitor_files_size.sh

(图片点击放大查看)

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
7月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
2144 97
|
6月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
349 6
|
7月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1336 5
|
11月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1092 54
|
10月前
|
监控 安全 Linux
AWK在网络安全中的高效应用:从日志分析到威胁狩猎
本文深入探讨AWK在网络安全中的高效应用,涵盖日志分析、威胁狩猎及应急响应等场景。通过实战技巧,助力安全工程师将日志分析效率提升3倍以上,构建轻量级监控方案。文章详解AWK核心语法与网络安全专用技巧,如时间范围分析、多条件过滤和数据脱敏,并提供性能优化与工具集成方案。掌握AWK,让安全工作事半功倍!
367 0
|
监控 安全 BI
优化 Apache 日志记录的 5 个最佳实践
Apache 日志记录对于维护系统运行状况和网络安全至关重要,其核心包括访问日志与错误日志的管理。通过制定合理的日志策略,如选择合适的日志格式、利用条件日志减少冗余、优化日志级别、使用取证模块提升安全性及实施日志轮换,可有效提高日志可用性并降低系统负担。此外,借助 Eventlog Analyzer 等专业工具,能够实现日志的高效收集、可视化分析与威胁检测,从而精准定位安全隐患、评估服务器性能,并满足合规需求,为强化网络安全提供有力支持。
308 0
优化 Apache 日志记录的 5 个最佳实践
|
存储 监控 算法
基于 PHP 语言的滑动窗口频率统计算法在公司局域网监控电脑日志分析中的应用研究
在当代企业网络架构中,公司局域网监控电脑系统需实时处理海量终端设备产生的连接日志。每台设备平均每分钟生成 3 至 5 条网络请求记录,这对监控系统的数据处理能力提出了极高要求。传统关系型数据库在应对这种高频写入场景时,性能往往难以令人满意。故而,引入特定的内存数据结构与优化算法成为必然选择。
328 3
|
SQL 数据库
【YashanDB知识库】应用绑定参数的慢查询,慢日志抓取不到
【YashanDB知识库】应用绑定参数的慢查询,慢日志抓取不到
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
545 9