智能日志分析器

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【4月更文挑战第30天】

》》》》》魏红斌带你学shell脚本《《《《《


更多shell脚本学习点击个人主页


作为一个资深程序猿,我将带领您从零开始,一步步踏上运维之旅,无论您是否拥有现成的服务器,都将学会如何轻松购买、部署,并通过编写及应用精心设计的Shell脚本,解决实际工作中遇到的问题。这些脚本不仅源自真实的业务场景,经历了反复实践与严格测试,确保了其简洁高效、易于理解且便于使用。更重要的是,我们将全程免费分享,并深度解析背后原理,助您深入理解并灵活运用,每一款脚本均经过真实业务场景的反复打磨与严格测试,秉持着简洁高效、易于理解和使用的理念设计,无偿提供并且提供相关解析过程,让读者能更深入了解相关内容

无服务器的朋友们

让我们先从选购并部署服务器开始。只需简单三步,即可拥有您的专属云服务器:

  1. 访问ECS官网:点击链接直达阿里云ECS网站:ECS选择网址。这是您获取高质量云服务器的第一站。
  2. 选择并购买:在琳琅满目的服务器配置中,挑选符合您需求的那一款,一键下单,完成支付。整个过程犹如在线购物般便捷。
  3. 进入ECS控制台:支付成功后,您将被引导至ECS管理控制台。在这里,您可以全面掌控您的服务器资源,后续的所有运维操作都将在此展开。

已有服务器的朋友们

如果您已拥有ECS实例,那么请直接登录ECS管理控制台在左侧导航栏中,依次选择“实例与镜像” > “实例”,确保您已定位到目标资源所在的资源组和地域。接下来,在实例列表中找到待连接的实例,点击操作列下的“远程连接”,选择“通过Workbench远程连接”并点击“立即登录”。

登录实例

无论是新购还是已有服务器,接下来都需要进行实例登录。这里支持多种认证方式,以最常见的“密码认证”为例:

  • 输入用户名(通常为rootecs-user)。
  • 接着,输入登录密码。如果您忘记了密码,无需担忧,您可以在ECS实例详情页面查询,或者通过“更改密码”功能进行修改。

编写与运行Shell脚本

成功登录后,您将看到一个熟悉的命令行界面——这就是您的运维主战场。现在,键入vim test.sh,我们便进入了文本编辑模式,准备创建第一个Shell脚本。

按下键盘上的i键,进入插入模式,此刻您可以自由地复制粘贴今天要学习的脚本代码,粘贴后按ecs后,按:wq保存脚本,可以用./ test.sh或者sh test.sh进行脚本执行。

今天我们要学习的脚本是(脚本内容直接复制粘贴即可):

#!/bin/bash
# 智能日志分析器
# 此脚本用于分析指定目录下的日志文件,提取错误信息和请求统计
# 1. 定义日志目录
LOG_DIR="/path/to/logs"
# 2. 定义错误关键字
ERROR_KEYWORDS=("ERROR" "FAIL" "EXCEPTION")
# 3. 定义时间范围(可选,默认分析最近7天的日志)
START_DATE=$(date -d "7 days ago" +%Y-%m-%d)
END_DATE=$(date +%Y-%m-%d)
# 4. 分析日志文件
for file in "$LOG_DIR"/*.log; do
    if [[ -f "$file" && $(stat -c %Y "$file") -ge $(date -d "$START_DATE" +%s) && $(stat -c %Y "$file") -le $(date -d "$END_DATE" +%s) ]]; then
        echo "Analyzing $file"
        # 5. 提取错误信息
        for keyword in "${ERROR_KEYWORDS[@]}"; do
            grep -E "$keyword" "$file" | while read line; do
                echo "$(date '+%Y-%m-%d %H:%M:%S') ERROR: $line"
            done
        done
        # 6. 统计请求
        requests=$(grep -c "HTTP [0-9].[0-9] [0-9][0-9][0-9]" "$file")
        echo "$(date '+%Y-%m-%d %H:%M:%S') Total requests in $file: $requests"
    fi
done

逐行解析

  1. 定义脚本的开头,指定使用bash解释器。
  2. 注释说明脚本的功能和用途。
  3. 定义日志文件存放的目录。
  4. 定义错误信息的关键字数组。
  5. 定义时间范围,默认为最近7天的日志。
  6. 使用for循环遍历指定目录下的所有日志文件。
  7. 判断文件是否为普通文件且修改时间在指定时间范围内。
  8. 输出正在分析的日志文件名。
  9. 使用for循环遍历错误关键字数组。
  10. 使用grep命令在日志文件中查找包含错误关键字的行。
  11. 输出错误信息和时间戳。
  12. 统计日志文件中的HTTP请求数量。
  13. 输出请求统计信息和时间戳。

总结

此脚本是一个智能日志分析器,用于分析指定目录下的日志文件,提取错误信息和请求统计。它首先定义了日志目录、错误关键字和时间范围。然后,它遍历指定目录下的所有日志文件,筛选出在指定时间范围内的文件。对于每个符合条件的文件,它使用grep命令查找包含错误关键字的行,并输出错误信息和时间戳。同时,它还统计了文件中的HTTP请求数量,并输出请求统计信息和时间戳。这个脚本的创新之处在于它能够同时提取错误信息和请求统计,帮助用户快速了解日志文件中的关键信息。

如果想上手操作练代码的同学们可以通过阿里云ecs服务器免费试用参与!

入口:新老同学免费试用

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
15天前
|
人工智能 Java Spring
Spring框架下,如何让你的日志管理像‘AI’一样智能,提升开发效率的秘密武器!
【8月更文挑战第31天】日志管理在软件开发中至关重要,不仅能帮助开发者追踪问题和调试程序,还是系统监控和运维的重要工具。在Spring框架下,通过合理配置Logback等日志框架,可大幅提升日志管理效率。本文将介绍如何引入日志框架、配置日志级别、在代码中使用Logger,以及利用ELK等工具进行日志聚合和分析,帮助你构建高效、可靠的日志管理系统,为开发和运维提供支持。
26 0
|
2月前
|
存储 消息中间件 监控
日志收集分析器(ELK)
日志收集分析器(ELK)
|
4月前
|
人工智能 运维 监控
SLS 智能运维 AI 基础模型创新
SLS 全新发布运维场景基础模型,覆盖 Log、Metric、Trace 等可观测数据场景,模型提供开箱即用的异常检测、自动标注、分类和根因分析等能力;根因分析算法千级异常请求秒级定位,生产中准确率达95%;同时支持人工辅助微调,提供人工标注、结果打标修正,模型根据人工反馈自动微调,提升场景准确率。
91278 1
|
4月前
|
人工智能 运维 自然语言处理
AI Powered SLS 智能分析能力创新
随着云计算技术不断升级,承载业务的 IT 基础设施规模扩大,各个应用之间的链路关系变得越来越复杂,每时每刻都在产生海量级的日志。
97957 3
|
存储 JSON 监控
小满Linux(第十章Nginx-Go-Access-日志分析器)
GoAccess是一款开源、实时,运行在命令行终端下的web日志分析工具。该工具提供快速、多样的HTTP状态统计,可以令管理员不再纠结于统计各类数据,和繁杂的指令以及一大堆管道/正则表达式说byebye
395 0
小满Linux(第十章Nginx-Go-Access-日志分析器)
|
机器学习/深度学习 SQL 存储
SLS智能巡检最佳实践:针对有异常标签数据
日志服务 SLS 智能异常分析 APP 提供自动化、智能化模型训练能力,可以根据设定的历史数据区间进行监督建模。您可以使用模型训练任务通过监督的方式加强对自身数据的异常学习,来提升未来的异常预警的准确率,模型训练任务主要有以下优势:直接使用SLS的智能巡检功能,准确率不及预期,可以选择使用SLS的模型训练任务,来提升异常检测的准确性智能巡检检测出来的异常和您所认为的异常之间可能存在gap,这种情况
194 0
|
运维 监控 数据处理
SLS智能巡检最佳实践:创建预测任务
日志服务 SLS 智能异常分析 APP 提供自动化、智能化模型训练能力,可以根据设定的历史数据区间进行监督建模。您可以使用模型训练任务通过监督的方式加强对自身数据的异常学习,来提升未来的异常预警的准确率,模型训练任务主要有以下优势:直接使用SLS的智能巡检功能,准确率不及预期,可以选择使用SLS的模型训练任务,来提升异常检测的准确性智能巡检检测出来的异常和您所认为的异常之间可能存在gap,这种情况
239 0
|
存储 运维 监控
SLS智能巡检最佳实践:针对无标签数据
日志服务 SLS 智能异常分析 APP 提供自动化、智能化模型训练能力,可以根据设定的历史数据区间进行监督建模。您可以使用模型训练任务通过监督的方式加强对自身数据的异常学习,来提升未来的异常预警的准确率,模型训练任务主要有以下优势:直接使用SLS的智能巡检功能,准确率不及预期,可以选择使用SLS的模型训练任务,来提升异常检测的准确性智能巡检检测出来的异常和您所认为的异常之间可能存在gap,这种情况
146 0
|
运维
《基于日志trace的智能故障定位系统》电子版地址
基于日志trace的智能故障定位系统
67 0
《基于日志trace的智能故障定位系统》电子版地址
|
SQL 运维 监控
SLS 智能异常分析 APP 时序预测最佳实践
日志服务 SLS 智能异常分析 APP 提供自动化、智能化时序预测能力,可以根据历史数据预测时序指标接下来一段时间的走势。您可以使用指标的走势并配合告警对于系统的潜在风险进行预警,例如当某个指标的预测值超过某个阈值时对运维人员进行告警;另外指标的走势也可以帮助您及时进行决策,例如预测到 CPU 使用率将会持续上升时,及时对系统进行扩缩容。
543 1