文档中心 日志服务 快速入门 五分钟入门指南

五分钟入门指南

最近更新时间:2019-09-06 16:08:23

概述

日志服务是集日志采集、日志存储、日志检索分析于一体的平台化服务。通过日志服务,可以将分散的日志汇聚起来进行集中式存储管理,并进行检索分析,也可以将数据集中收集后投递到 COS 等云产品进一步分析。

为了帮助用户快速入门日志服务,本文将演示使用日志服务的基本功能,演示包括:

  • 如何使用 LogListener 采集日志
  • 如何检索日志
  • 如何投递日志

操作步骤

1. 服务开通

首先,您需要在腾讯云官网申请开通 日志服务

2. 下载安装 LogListener

LogListener 是日志服务的采集客户端,通过 LogListener 可实现快速无侵入式的把日志数据采集到日志服务中来,具体安装步骤如下。

2.1 判断网络是否可达

安装 LogListener 要求日志源机器的网络与日志服务的可用地域网络互通(腾讯云服务器 CVM 默认内网访问日志服务)。
您可以执行以下命令检查网络连通性,其中<region> 为日志服务所在地域简称,具体地域信息请参阅 可用地域 文档。

telnet <region>.cls.myqcloud.com 80

2.2 查看(或创建)密钥对

登录腾讯云账号 访问管理,查看(或创建)密钥对,并确认密钥状态为启用。

2.3 安装 LogListener

本文演示日志采集的环境搭建在云服务器 CentOS 7.2(64位)环境上。
下载 Loglistener 安装包 ,解压安装包后进入目录/loglistener/tools,以管理员身份执行以下安装命令,详细安装步骤请参阅 LogListener 安装指南

./install.sh [SecretId] [SecretKey] [region] 

安装之后您可执行命令./p.sh查看是否安装成功,若显示以下进程则表示 LogListener 已安装成功。

3. 创建日志集和日志主题

日志服务区分地域,为了降低网络延迟,尽可能选择与服务邻近的服务地域创建日志资源(支持地域详见 地域列表)。日志资源管理主要分为日志集和日志主题,一个日志集表示一个项目,一个日志主题表示一类服务,单个日志集可以包含多个日志主题。

3.1 创建日志集

登录 日志服务控制台 ,在左侧导航栏单击【日志集管理】,进入日志集管理页面。在页面顶部选择合适的地域,单击【创建日志集】,开始创建日志集。
例如创建一个名为cls_project的日志集,创建好的日志集将会出现在日志集列表中。

3.2 创建日志主题

单击“日志集名称”,进入到日志主题管理页面。单击【新增日志主题】,开始创建日志主题,例如创建一个名为 nginx_access 的日志主题,创建好的日志主题将会出现在日志主题列表中。

4. 创建机器组

日志服务使用 机器组 来统一管理一组日志源机器。
登录 日志服务控制台 后,在左侧导航栏单击【机器组管理】,进入到机器组管理页面。在页面顶部选择合适的地域,单击【创建机器组】开始创建,一个机器组可以填入多个机器 IP 地址(每行一个 IP 地址),若是腾讯云服务器 CVM,直接填写内网 IP 地址即可,更多信息请参考 机器组管理

创建好机器组后,单击机器组列表中的【查看】,检查 LogListener 与服务端的连接状态,若状态正常,则表示客户端 LogListener 已成功连接到日志服务。若显示异常,请参考 机器组异常 文档进行排查。
image

5. 配置 LogListener

登录 日志服务控制台 后,在左侧导航栏单击【日志集管理】,然后依次进入到对应的日志集和日志主题管理界面,在日志集管理页面,单击【采集配置】,为该日志主题指定采集路径、解析模式、绑定机器组(这里仅说明如何使用 LogListener 采集日志,更多信息参考 采集方式)。

5.1 配置采集路径

采集路径需要匹配机器上日志文件的绝对路径,填写参数有两个:目录前缀和日志文件名,填写格式为 [目录前缀表达式]/**/[文件名表达式] ,LogListener 会按照 [目录前缀表达式] 匹配所有符合规则的公共前缀路径,并监听这些目录(包含子层目录)下所有符合 [文件名表达式] 规则的日志文件,参数详细说明如下:

字段 说明
目录前缀 日志文件前缀目录结构,仅支持通配符 * 和 ? ,* 表示匹配多个任意字符,? 表示匹配单个任意字符
/**/ 表示当前目录以及所有子目录
文件名 日志文件名,仅支持通配符 * 和 ? ,* 表示匹配多个任意字符,? 表示匹配单个任意字符

例如待采集文件的绝对路径是/cls/logs/access.log,则采集路径填写的目录前缀是/cls/logs,日志文件名填写access.log,如下图所示:
image

5.2 绑定机器组

选择预先创建好的机器组,将当前日志主题与机器组关联起来后,LogListener 将按照所配置的规则监听采集机器组上的日志文件(一个日志主题可以绑定多个机器组,但一个日志文件只能上报到一个日志主题)。

5.3 配置解析模式

日志服务提供多种日志解析模式(例如单行全文、分隔符、JSON、完全正则等模式),本文以分隔符格式日志为例进行说明(详情参考 分隔符格式),示例日志样例如下:

Tue Jan 22 14:49:45 2019;download;success;194;a31f28ad59434528660c9076517dc23b
  • 选择提取模式
    本文以分隔符格式日志举例,所以在“键值提取模式”配置项中选择分隔符,并且选择分号作为日志分隔符。
  • 输入日志样例并抽取键值对
    在日志样例框中输入一条完整的日志,确认后将自动抽取键值对(key-value),然后为每组键值对定义唯一的键名称(key)。
    在本示例中,日志被解析成Tue Jan 22 14:49:45 2019downloadsuccess194a31f28ad59434528660c9076517dc23b 五个字段,依次为每个字段定义键名称(key):timeactionstatussizehashcode,这样 LogListener 将按照所定义的结构化格式进行数据采集。

6. 检索日志

6.1 配置索引

日志服务的检索分析功能主要基于分词索引,目前提供两种索引类型:全文索引和键值索引,在日志主题的索引配置页进行索引管理(可以同时开启两种索引)。

索引类型 说明
全文索引 将整条日志按分词符拆分成多个分词,然后基于分词进行关键词查询
键值索引 将整条日志按格式拆分成多个键值对(key-value),然后基于键值对进行字段查询

本章节以键值索引为例说明配置方法,在日志集管理页面,单击【索引配置】进入到索引管理页面,选择编辑键值索引,然后将需要进行检索分析的字段(键名key)配置到键值索引中,并每个字段的键值索引指定数据类型,目前支持longdoubletext等数据类型,其中text类型可以指定分词符(分词符将字符串切分成多个分词)。在上述例子中,为timeactionstatussizehashcode设置键值索引,其中size设置为long类型。

开启索引后,新写入的数据将会按照所配置规则建立索引,索引会持久化存储一段时间(根据您所配置的存储周期而定),只有建立索引的部分才能进行日志查询分析。所以,修改索引规则或关闭索引仅对新写入的数据生效,未过期的历史数据仍可被检索

6.2 检索日志

登录 日志服务控制台 后,在左侧导航栏单击【日志检索】,进入到日志检索页。
选择检索的时间范围和日志主题,然后在输入框填写检索语法(语法支持关键词检索、模糊检索、范围检索等方式,详情参考 语法规则),最后单击【搜索】,即可检索日志。

  • 示例一:查询失败的日志
    检索语句:status:fail
  • 示例二:查询下载文件大小超过300K的日志
    检索语句:action:download and size>300

7. 投递日志到 COS

日志服务可以将数据投递到对象存储 COS 中,一方面可以实现低成本长时间日志存储,另一方面可以进行离线日志大数据分析。

若要开启日志投递,需要在创建 COS 存储桶 后,登录 日志服务控制台,在日志集管理页面,单击【投递配置】进入到投递配置页面,接着单击【添加投递配置】创建投递任务。
日志服务目前支持 CSV 格式JSON 格式 投递方式,创建好投递任务后,日志服务异步地将数据投递到目标存储桶中,您可以在控制台右侧导航栏的“投递任务管理”中查看数据投递情况。