1、引言
传统来说,如果服务发生了异常行为,一般都是由开发人员,登陆相对应的服务器,找到对应服务log文件去查看。 在或者,如果发生了异常行为,把异常信息记录到数据库,再去数据库或者页面平台去展示。这两种方式其实都造成了很多不便捷,第一种方式需要开发人员登陆服务器找对应的日志文件,过程本身就就比较麻烦,并且如果是集群到环境下,那就更为复杂了。第二种方式提高了开发成本。
本文讲解一下如何快速的接入阿里云的SLS日志服务,文本数据接入的方式是多行-文本,主要是采集log日志文件中的数据。
友情链接:
阿里云SLS产品页面 & 介绍文档 https://www.aliyun.com/product/sls?spm=5176.13910061.J_8058803260.79.44795d35A8cpNh
SLS控制台 https://sls.console.aliyun.com/lognext/profile
教学视频 https://space.bilibili.com/630680534?from=search&seid=16766668365532491032
2、数据采集
采集的方式其实有很多种,比如从阿里云云产品直接接入,比如RDS、OSS等,还可以通过java SDK 自定义代码日志的形式,等等。
1、阿里云 云产品日志:RDS、NAS、OSS
2、自定义代码日志:Java SDK
3、开源日志和商业软件日志:Nginx、K8S、Docker
4、数据导入 :OSS对象存储
5、监控数据:Mysql监控、Redis监控、Java应用监控
2.1、具体实现步骤
1、登陆日志控制平台,点击创建Project。
2、进入Project创建Logstore(日志库)。
3、接入数据,选择接入数据(目前使用的是多行文本日志)。
4、创建机器组
**** 这一步需要在ECS上安装Logtail,Logtail是用来采集日志数据这么一个插件,详细请参考下文 配置好机器组之后,一定要去检查Logtail心跳是否正常,如果不正常请按照文档排查 点我跳转
选择刚刚所创建的机器组,进行心跳检测查看。
5、Logtail配置
主要就是配置日志路径,由于我们这边选择接入的数据是文本,所以要配置好文件路径。日志样例可以找一条打印的日志即可。
2.2、安装Logtail
自动安装:使用本身账号上ECS实例,可直接在后台选择,点击立即执行安装 注意:如果在后台直接安装,需要在ECS上安装阿里云助手才能正常操作,否则会失败。
如果失败了,请根据错误信息自行排查:https://help.aliyun.com/document_detail/87029.html#title-pe0-q07-rtt
手动安装: 执行命令 选其一即可
1、阿里云内网(经典网络、VPC): wget http://logtail-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install cn-shanghai
2、公网:wget http://logtail-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install cn-shanghai-internet
3、全球加速:wget http://logtail-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install cn-shanghai-acceleration
安装好后可以得到一下信息:
{
"UUID" : "35BF5E18-xxxx",
"hostname" : "iZuf6e7sxxxx",
"instance_id" : "A76BF5AA-8DE5-11EB-xxxxxx",
"ip" : "172.xx.xx.xx",
"logtail_version" : "0.16.56",
"os" : "Linux; 4.19.91-22.2.al7.x86_64
"update_time" : "2021-03-26 11:45:06"
}
注意:其他账号购买的ECS、其他云厂商的服务器和自建IDC在安装Logtail之后,需要配置主账号AliUid作为用户标识,才能加入机器组开始采集日志。
3、数据查询
1、选择对应的想要查看的日志库。
2、精确查询某一个关键字的日志内容 语法:* and 内容
3、统计关键字数量 * and error | SELECT count(*) AS count
具体查询语法请参考:点我跳转
如有表达不详细的地方,还请多多指点。