实验场景:
本实验帮助您快速了解日志服务SLS的使用场景,通过Logtail完成Demo应用的日志与指标数据采集,并完成采集后的数据可视化、数据加工、数据投递等常用场景,帮助您快速构建属于自己的可观测平台。
部署Demo应用,产生Demo应用日志数据。
创建SLS Project,创建两个Logstore,一个用于存放Demo应用日志(后续简称“采集Logstore”),另一个用于Demo应用日志数据加工后存储使用(后续简称“加工Logstore”),创建一个MetricStore用于存放ECS指标。
创建OSS Bucket用于存放加工Logstore投递的数据。(沙箱自动创建)
ECS实例安装Logtail用于采集Demo应用日志和ECS指标使用。
使用数据查询加工语句统计每分钟日志level为ERROR数量,并通过可视化柱状图展示。
使用数据加工功能处理采集Logstore日志中的phone_number、e_mail、user_id等敏感字段数据,加工完后的数据存放在加工Logstore。
使用数据投递功能,投递加工Logstore数据到OSS Bucket。
实验步骤:
切换至Web Terminal。输入ECS登录的用户名和密码进行登录。
下载安装Demo应用,并启动Demo应用。
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/clouder/sls_demo.zip
显示100%,且saved 即表示下载完成,如下图所示。
执行如下代码,解压应用。
yum -y install unzip
unzip sls_demo.zip
执行如下代码,部署Demo应用。创建Demo应用文件夹,拷贝下载sls_demo_app到Demo应用文件夹,并赋予所有人sls_demo_app可执行权限。
mkdir /etc/demo && cp sls_demo/sls_demo_app /etc/demo/ && chmod a+x /etc/demo/sls_demo_app&&cp sls_demo/demo.service /etc/systemd/system/
执行如下代码,启动Demo应用服务。拷贝Demo应用服务demo.service到指定目录,设置启动Demo应用服务并设置开启启动。
systemctl enable demo.service && systemctl start demo.service
执行如下代码,验证Demo应用服务是否启动成功。
systemctl status demo.service
执行如下代码,查看日志路径。
ls /tmp/demo.log
执行如下代码,查看日志是否产生。
tail -f /tmp/demo.log
接下来对SLS资源进行调整
在浏览器地址栏输入如下链接,跳转链接即可进入SLS管理控制台。
https://sls.console.aliyun.com/
点击创建Project按钮,进行Project的创建。
选择Project所属地域(SLS Project所属地域需要和ECS处于同一个地域!!!),填入Project名称,点击创建,完成Project的创建。
如下图所示代表SLS Project成功创建,选择关闭即可,后续通过手动方式创建Logstore。
通过Project列表,选择上一步创建的Project,点击Project名称,即可进入Project。
接下来创建两个Logstore,一个用于Demo应用日志采集、可视化、数据加工源、数据投递使用(后续简称“采集Logstore”),另一个用于Demo应用日志数据加工后存储使用(后续简称“加工Logstore”)。可以通过下方的表格记录两个Logstore的名称,方便实验时区分两个Logstore的使用场景。
选择左侧导航菜单,进入Logstore创建向导,填入Logstore名称,完成Logstore的创建。
如下图所示代表Logstore创建成功,点击取消按钮即可,后续通过手动方式完成数据接入。
重复上一步骤,再次创建Logstore(名称为process),最终可以看到日志库Logstore数量为两个。
选择左侧导航菜单,进入MerticStore创建向导,填入MerticStore名称,完成MerticStore的创建。
选择MerticStore菜单,点击+号跳出创建MerticStore对话框,填写MetricStore名称为metricstore,点击确定完成MetricStore的创建。
如下图所示代表MetricStore创建成功,点击取消按钮即可,后续通过手动方式完成数据接入。
选择左侧导航菜单,回到Logstore中,点击采集Logstore,点击数据接入菜单,选择Logtail配置菜单,点击添加Logtail配置。
在快速数据接入向导对话框中,点击全部产品菜单,选择日志格式为“JSON-文本日志”。到此已经完成第一步选择日志空间。
确定后进入到如下页面,创建机器组
创建机器组步骤一。选择ECS机器,并手动选择实例完成Logtail的安装。
勾选ECS实例,ECS实例可通过实验左侧导航栏,选择云产品资源,ECS实例ID获取。点击创建生成自动安装Logtail命令参数,自动安装参数生成完毕后点击确定。
如下所示安装成功
创建机器组步骤二。填入机器组名称,机器组标识为默认选项即可,即IP地址作为机器组标识。到此已经完成创建机器组步骤。
Logtail配置:设置配置名称,设置日志路径,其余选项为默认值,点击下一步,完成Logtail配置。
填入配置名称。设置日志路径,Demo应用日志路径为/tmp/demo.log,最大监控目录默认为10,监控范围为0-10,所以小浩设置的日志路径/tmp/**/demo.log能匹配到/tmp/demo.log。
点击刷新直到有日志数据被采集和存储。点击自动生成索引。
如下图所示表示已完成采集Demo应用的配置。
选择左侧导航菜单,回到MetricStore,点击数据接入菜单,选择Logtail配置菜单,点击添加Logtail配置。
在快速数据接入向导对话框中,点击全部产品菜单,选择主机监控。到此已经完成第一步选择日志空间。
创建机器组:在采集应用日志时已经完成Logtail安装与机器组的创建,此步选择使用现有机器组即可。
数据源设置。会自动生成配置名称和插件配置,点下一步完成数据源设置。
结束:如下图所示表示已完成ECS主机监控的配置。
选择左侧导航菜单创建仪表盘。
使用默认布局,填写仪表盘名称,点击确认完成仪表盘的创建。
在仪表盘列表中点击上一步创建的仪表盘,点击添加新的图表,进入图表编辑模式。
①图表类型选柱状图,查询分析②选择Logstore(SQL),③选择采集Logstore。
图表编辑模式中,输入查询分析语句,完成图表配置。
level:ERROR| SELECT COUNT(*) AS "每分钟错误日志总数", date_format(__time__-__time__ %60,'%H:%i:%s') as time GROUP BY time ORDER BY time
选择左侧导航菜单,回到Logstore,选择数据处理,点击加工菜单,新建数据加工。
①选择日志存储,点击②“采集Logstore”展开Logstore菜单,选择③新建数据加工。
填写数据加工语句,完成数据加工,通过预览数据判断是否符合数据加工预期。
数据加工语句,删除日志中的user_id。
e_drop_fields("user_id")
①为原始日志可以看到有user_id字段,②为填写加工语句栏,填写加工语句后,可通过③预览数据查看加工后的数据是否预期(user_id是否删除)。
④为加工结果,可以看到加工后的日志user_id已经被删除。⑤为运行预览数据数据加工运行结果信息汇总。
点击①保存数据加工,创建数据加工任务。
填写数据加工①任务名称,存储目标点击②添加按钮配置数据加工后存储的Logstore。
存储目标需要配置①目标名称,②目标Project选择本实验创建的Project,③目标库为“加工Logstore”,选择加工范围菜单时间范围选择为④所有,点击⑤确定完成数据加工任务创建。
点击加工菜单,点击上一步创建的加工任务,即可查看数据加工概览情况。
选择左侧导航菜单,选择数据处理点击导出菜单,选择OSS(对象存储),新建OSS投递功能任务。
①选择日志存储,点击②“加工Logstore”展开Logstore菜单,点击导出,选择③OSS(对象存储)。
①配置OSS投递名称为oss-deliver,②填写OSS Bucket名称(上一步获取),其余选项默认即可,点击③确定完成。
点击OSS(对象存储)找到创建的任务,点击任务通过数据投递概览验证是否投递成功。同时也可以登录OSS控制台,验证投递Bucket是否有数据存在。
实验完毕,交卷。
证书如下: