通过阿里云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实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

基于Python实现读取嵌套压缩包下文件的方法

《基于Python实现读取嵌套压缩包下文件的方法》工作中遇到的问题,需要用Python实现嵌套压缩包下文件读取,本文给大家介绍了详细的解决方法,并有相关的代码示例供大家参考,需要的朋友可以参考下... 目录思路完整代码代码优化思路打开外层zip压缩包并遍历文件:使用with zipfile.ZipFil