通过阿里云CLI工具从SLS服务里读取日志

2023-11-08 23:40

本文主要是介绍通过阿里云CLI工具从SLS服务里读取日志,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里用的是aliyunlog这个现成的工具

安装可以参考:如何安装日志服务命令行工具CLI_日志服务-阿里云帮助中心

配置可以参考:配置CLI的操作方法_日志服务-阿里云帮助中心 

参考的阿里云的接口地址:调用CLI命令查询日志_日志服务-阿里云帮助中心

脚本的部分

1、目录结构

#cd /aliyunlog
#tree
.
├── get_logs.sh
└── json├── getlogs.json├── inventory-api-prod_code.json└── inventory-api-prod.json

 2、json格式

#cat json/inventory-api-prod.json
{
"topic": "",
"logstore": "inventory-api-prod",
"project": "k8s-log-cc50e28398e1d4ada8b2a187dadc5092b",
"toTime": "2023-04-23 10:39:00",
"offset": "0",
"query": "* and 胡雪真",
"line": "20",
"fromTime": "2023-04-23 09:30:00",
"reverse": "true"
}

3、主脚本的内容

#cat get_logs.sh
#!/bin/bash
Name=$1
Old_Name=`cat /aliyunlog/json/inventory-api-prod.json |grep query|awk '{print $NF}'|sed --expression='s/"//g' --expression='s/,//g'`
From_Time=$2
New_From_Time=`echo "$From_Time"|sed 's/_/ /g'`
Old_From_Time=`cat /aliyunlog/json/inventory-api-prod.json|grep fromTime|awk -F'\"' '{print $4}'`
To_Time=$3
New_To_Time=`echo "$To_Time"|sed 's/_/ /g'`
Old_To_Time=`cat /aliyunlog/json/inventory-api-prod.json|grep toTime|awk -F'\"' '{print $4}'`
sed -i "s/$Old_Name/$Name/g" /aliyunlog/json/inventory-api-prod.json
sed -i "s/$Old_From_Time/$New_From_Time/g" /aliyunlog/json/inventory-api-prod.json
sed -i "s/$Old_To_Time/$New_To_Time/g"  /aliyunlog/json/inventory-api-prod.json
if [ "$Name" != "" ] && [ "$From_Time" != "" ] && [ "$To_Time" != "" ];thenStore_Code=`/opt/rh/rh-python38/root/usr/local/bin/aliyunlog log get_logs --request="file://./json/inventory-api-prod.json" --format-output=json|grep  content|tr ',' '\n'|grep -E 'channelCode|storeNumber|storeCodes'|awk -F= '{print $NF}'|tail -n1|sed 's/\[//g; s/\]//g'`sed  "s/$Name/$Store_Code/g" /aliyunlog/json/inventory-api-prod.json >  /aliyunlog/json/inventory-api-prod_code.jsonResults=`/opt/rh/rh-python38/root/usr/local/bin/aliyunlog log get_logs --request="file://./json/inventory-api-prod_code.json" --format-output=json|grep  content`echo -e "$(echo -e "$Results")"elseecho "第一个字段\$1 请输入您需要查询的导购的名字,比如:胡雪真"echo "第二个字段\$2 请输入您需要查询的开始时间,格式比如:2023-04-23_09:30:00"echo "第三个字段\$3 请输入您需要查询的截止时间,格式比如:2023-04-23_10:39:00"
fi

附录获取脚本支持的query的方式(可以在控制台操作)

1、先查询

2、 选中上图中的红色字体(也就是查询出不来的内容)

鼠标点击-->新建查询   之后在搜索框里得到的内容就是符合脚本规则的内容,粘贴使用即可

这篇关于通过阿里云CLI工具从SLS服务里读取日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/373109

相关文章

基于Python实现一个PDF特殊字体提取工具

《基于Python实现一个PDF特殊字体提取工具》在PDF文档处理场景中,我们常常需要针对特定格式的文本内容进行提取分析,本文介绍的PDF特殊字体提取器是一款基于Python开发的桌面应用程序感兴趣的... 目录一、应用背景与功能概述二、技术架构与核心组件2.1 技术选型2.2 系统架构三、核心功能实现解析

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Python如何实现读取csv文件时忽略文件的编码格式

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式... 目录1、背景介绍2、库的安装3、核心代码4、完整代码1、背景介绍我们再日常读取csv文件的时候经常

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

SpringBoot项目注入 traceId 追踪整个请求的日志链路(过程详解)

《SpringBoot项目注入traceId追踪整个请求的日志链路(过程详解)》本文介绍了如何在单体SpringBoot项目中通过手动实现过滤器或拦截器来注入traceId,以追踪整个请求的日志链... SpringBoot项目注入 traceId 来追踪整个请求的日志链路,有了 traceId, 我们在排