使用前准备
- 开通阿里云账号
- 申请一台阿里云服务器(Elastic Compute Service,简称 ECS)
开通日志服务
- 登录阿里云后进入控制台,选择产品与服务-日志服务,根据提示开通日志服务
创建日志配置
- 日志服务开通后,跳转到控制台,点击创建project
- 填入project相关属性,注意所属区域要填成你申请的阿里云服务器(ECS)对应所在的区域
- project创建成功后,会提示创建logstore(project和logstore属于包含关系,一个project下可创建多个logstore),点击创建logstore并按照提示进行配置,这里我们输入logstore名称,其他使用默认配置
- logstore创建成功后,会提示通过创建logtail或Api等其他形式接入日志,这里我们直接点击“创建配置”
-
logtail配置总共需要3个步骤:选择数据源、指定收集模式以及应用到机器组。其中数据源目前有文本文件和syslog两种,文本文件支持各类写在本地的文本型日志文件,syslog模式专门收集syslog类型的日志,这里我们选择比较通用的文本文件;收集模式有很多配置,这里我们选择最简单也是默认的“极简模式”,路径分为两部分,前面填写的是监听的应用程序产生日志的根目录,后面填写的是具体日志文件名称的模式,这里我们前面填上日志根目录
/data/log
,后面填上日志名模式*.log
,点击下一步- 注意:日志根目录需要填写存在的目录
- 注意:日志根目录需要填写存在的目录
- 创建完logtail配置后,会提示创建机器组,点击创建并输入阿里云服务器(ECS)的ip地址
- 创建后应用该机器组
- 配置完毕后,页面自动跳转到日志服务控制台,可以看到里面有很多具体的服务项,具体使用方式参见日志服务参考文档。下面我们在配置的机器组上安装日志服务的客户端logtail,测试配置是否与我们预期一致。
安装logtail
Linux上安装
- ssh远程登录到阿里云服务器(Elastic Compute Service,简称 ECS),根据你虚拟机所在区域选择安装方式
logtail 安装方法-Linux - 安装logtail,例如位于深圳区域(华南1区)的主机120.25.xxx.xxx,安装方法如下:
ssh root@120.25.xxx.xxx
wget http://logtail-release-sz.oss-cn-shenzhen-internal.aliyuncs.com/linux64/logtail.sh
chmod 755 logtail.sh
sh logtail.sh install cn_shenzhen
- 这个时候控制台应该打印出类似以下的消息,代表安装成功:
logtail-linux64.tar.gz download success
install logtai files success
add ilogtail into /etc/rc.d/ success
install logtail success
ilogtail is running
start logtail success
{
"UUID" : "EC9272DA-8C03-4359-8B54-FF45EBBC988D",
"hostname" : "iZwz9cqgr7gw6n0gwr3pggZ",
"instance_id" : "581A0E7E-B1F3-11E6-AA12-00163E046C92",
"ip" : "10.116.95.193",
"logtail_version" : "0.12.0",
"os" : "Linux; 3.10.0-327.22.2.el7.x86_64; #1 SMP Thu Jun 23 17:05:11 UTC 2016; x86_64",
"update_time" : "2017-04-03 09:41:05"
}
- 确认logtail正在运行中
logtail在运行的时候会有两个进程,可通过ps -ef | grep logtail
命令查看
同时可调用logtail自带的命令查看/etc/init.d/ilogtaild status
安装成功执行情况如下:
ps -ef | grep logtail
root 8350 1 0 09:41 ? 00:00:00 /usr/local/ilogtail/ilogtail
root 8352 8350 0 09:41 ? 00:00:02 /usr/local/ilogtail/ilogtail
root 8391 8255 0 10:00 pts/0 00:00:00 grep --color=auto logtail
/etc/init.d/ilogtaild status
ilogtail is running
windows上安装
- 下载安装包并解压
- 进入
logtail_installer
目录,按住shift
点击鼠标右键进入控制台,根据机器网络环境和日志服务所在Region(可选择虚拟机所在的网络分区)进行安装。例如深圳地区的ECS可以输入.\logtail_installer.exe install cn_shenzhen
- 安装完成后,可在windows资源管理器的服务选项中看到当前有两个logtail服务在运行
- 至此我们机器上的logtail客户端就安装完成了,logtail启动后会自动从服务器拉取我们之前的配置文件,后面我们也可以随时更新配置文件,更新操作会在3分钟后生效。
简单体验日志服务的功能
- 输入测试样例
这时候我们进入/data/log
目录,创建文件xx.log
并输入以下内容,保存退出
loginfo
loginfo
logerror
logerror
logwarning:
logerror:ddd
loginfo:dsfsaf
logerror:sfsafsdf
- 预览日志
样例日志输入完毕后,进入浏览器的日志服务控制台,点击日志库中的预览链接(如果预览中看不到,可能是因为shard没有选择对,可以选择shard1再次点击预览)。至此说明我们最简单的日志服务已经走通了,接下来我们尝试体验下索引功能
- 如果发现查看不到日志,可使用logtail的快速检测工具进行问题排查
体验日志索引功能
- 开通日志索引
进入浏览器的日志服务控制台,点击日志库中的查询链接,首次进入后需要开通查询服务 - 输入测试样例
开通之前的日志并不会创建索引,不能直接查询,所以我们可以再次打开xx.log
文件,在后面再次追加上之前的日志内容 - 体验索引功能
日志索引查询中,有很多参数可以设置,这里我们只关注搜索内容以及搜索时间两个参数
- 直接查询:在查询页面中直接点击查询便可看到我们之前输入的日志
- 关键字搜索:在搜索栏中输入
logerror
,点击查询(若查询不到,可能是日志产生的时间超过了15分钟,我们可以选择1小时)可搜索到日志内容符合logerror
的日志项
- 关键字组合:如果我们需要搜索指定的
logerror
内容,例如logerror
中内容为ddd
的日志项,则我们输入logerror and ddd
点击查询
- 搜索指定机器:实际环境中可能有很多机器,有时需要定位到具体某台机器时,可输入该机器的hostname或ip地址,输入的查询方法可以是
logerror and ddd and __tag__:__hostname__:xxx
或logerror and ddd and ***.***.***.***
- 注意这只是索引部分最简单的功能,这里还有很多高级功能等你挖掘
更多功能
至此我们已经体验了日志服务一些最基本的功能,然而我们实际场景中的应用数量、日志格式、集群规模较大,日志的存储、访问、索引、告警、分析方式多样,这时候才能体现出阿里云日志服务的作用,例如:
日志收集
- 通过多个project、logstore和logtail配置,用来支持多个项目和应用
- 在集群规模不断扩大时,收集的日志数越多来多,这时候可以使用日志分区(shard)的水平扩展功能来应对逐渐膨胀的日志需求
- 实际生产环境中的日志不一定简单的按行来区分,而且从日志中也需要收集很多字段信息,例如时间、用户ID、操作、操作结果等。这时可使用logtail的多种日志格式支持功能
- 如果有收集系统中syslog日志的需求,您可以通过logtail的syslog服务收集syslog日志
- 更多收集方式:通过Tracking功能采集HTML、H5、iOS和Android平台的数据;通过log4j-appender接入log4j日志;使用producer-lib进行高性能日志收集;收集unity3d日志
- 此外,如果以上功能并不能满足您的日志收集需求,您可通过Api自定义写入日志
日志的利用
- 根据应用的特点,选择使用实时消费还是日志索引
- 使用API、Storm、StreamCompute、Spark Streaming对日志进行实时分析处理
- 将日志投递到OSS、Table Store、MaxCompute 等存储类产品,用于存储以及后续分析利用
- 根据日志格式以及应用需求创建索引,便于各类人员通过日志关键字索引查看系统状态(除了支持全局索引外,还支持键值对的映射,可用指定字段值(int, double类型)的范围来对日志进行精确搜索)
- 根据应用特点从多种搜索方法中选取适用的搜索方法,快速定位问题
- 设置日志的自动报警规则,实现无人值守