本文主要是介绍通过阿里云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服务里读取日志的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!