概览

概览:提供监控资源总体概况,包括展示资源概览、当前创建资源的规模统计,以及近7天用量统计,可以实时了解自己资源的使用情况。

1、 资源概览:当前账户下资源的使用操作情况。

名称 详解
日志数量 当前平台存储日志总数
删除日志数量 日志超设置的保存期限后,将被自动删除,此处统计近30天的删除日志总数
查询次数 当前平台近30天查询总数,即:检索分析-日志搜索总数
存储量 即日志存储量,根据日志数据所占用的存储空间大小进行计算

2、 资源统计:展示当前所创建的日志组、日志流、分区数、正常心跳机器数与机器总数。 image-20210415210504010

3、 近7天用量规模统计:提供最近7天日志数量统计图、删除日志数量统计图、查询次数统计图以及存储量的数据统计图。 image-20210415210504010

日志管理

日志分组:日志组是日志服务的项目管理单元,用于区分不同项目的日志。一个日志组对应一个项目或应用,建议将不同项目和不同产品的日志,使用不同的日志组进行管理。例如,某公司有两种业务:电商业务、支付业务,每种业务可以创建一个日志组。每个日志组下又可创建多个日志流用来管理不同类型的应用或服务。

日志管理列表

操作步骤

1、 登录云日志。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【日志管理】,进入【日志管理】页面。

image-20210415210504010

创建日志组

操作步骤

1、 点击“创建日志组”按钮,进入【创建日志组】页面。

2、 填写日志组名称:1-100个字符,由中英文、数字组成,只能包含特殊字符中的 "." , ""或"-",不能以特殊字符中的 "." ," ","-"开头或结尾。

3、 选择日志存储时间:日志存储时间范围为1~90天,超出存储时间的日志将会被自动删除。

4、 点击“确认”按钮,创建完毕。

image-20210415210504010

编辑日志组

操作步骤

1、 点击“编辑”按钮,进入【编辑日志组】页面,可重新选择日志存储时间。

2、 点击“确认”按钮,编辑完毕。

image-20210415210504010

删除日志组

操作步骤

1、 点击“删除”按钮,页面弹出【删除日志组】弹框,删除日志组。

2、 点击“确认”按钮,删除日志组,删除后不能回退,请谨慎操作。

image-20210415210504010

查看日志组详情

操作步骤

1、 点击“日志组”名称,进入单个【日志组】页面。该日志分组由当前日志组基本信息,访问域名和日志流列表组成。在该页面可以创建、查看【日志流】。

image-20210415210504010

创建日志流

操作步骤

1、 点击“创建日志流”按钮,进入【创建日志流】页面。注意:单个日志流写入速率最大不能超过5MB/S,超过此规格可能导致日志丢失。

2、 填写日志流名称:1-100个字符,由中英文、数字组成,只能包含特殊字符中的 "." , ""或"-",不能以特殊字符中的 "." ," ","-"开头或结尾。

3、 选择日志流分区数:分区数最少为一个,最多可以选择64个。

4、 选择完毕后点击“确认”按钮,创建完毕。

image-20210415210504010

删除日志流

操作步骤

1、 点击“删除”按钮。页面弹出“删除日志流”弹框,删除日志流。

2、 点击“确认”按钮,删除日志流,日志流删除后,日志流关联的配置及日志也将被同时删除,请谨慎操作。

image-20210415210504010

查看日志流详情

操作步骤

点击“日志流”名称,进入单个【日志流】页面。该日志流分组由【基础配置】、【采集配置】、【索引配置】、【投递至oss】以及【投递至kafka】组成,默认进入【采集配置】页面。

  • 基础配置:展示当前日志组下日志流的详情。

image-20210415210504010

  • 编辑采集配置:点击主机接入旁的按钮可以选择开启采集状态。并设置当前要采集的服务类型、采集的路径、想要采集的机器组、以及配置想要提取的模式。

image-20210415210504010

  • 投递至oss:点击投递至oss进入【投递至oss页面】,可查看该日志流下所创建的oss投递任务。

image-20210415210504010

-- 创建投递任务:点击创建投递任务按钮可以在右侧弹出页面进行oss投递任务信息填写。

1、投递任务名称:1-100个字符,由中英文、数字组成,只能包含特殊字符中的".",""或"-",不能以特殊字符中的".",""或"-"开头或结尾。

2、目录前缀:1-254个字符(不能以英文句号.开头或结尾,不能包含\:^*?"<>|),例如:目录前缀是/data/cls。

3、分区格式:自动生成文件存储目录,分区格式为/%Y/%m/%d/%H/,分别以/开头结尾。例如,填写分区格式为/%Y/%m/%d/%H/,目录前缀是/data/cls,2021年2月3日4时生成的目录/data/cls/2021/02/03/04/。

4、投递文件大小:文件大小上限,支持100MB-256MB,大于该上限,则剩余部 分重新生成新文件投递。

5、点击确定按钮,创建投递任务成功。

image-20210415210504010

-- 修改投递任务:点击“修改任务”按钮,右侧弹出修改投递任务页面。

点击“确认”按钮,修改投递任务成功。

image-20210415210504010

-- 关闭投递任务:点击“关闭”按钮,弹出关闭投递任务页面。

1、关闭投递后,日志将停止向oss中投递!

2、点击“确定”按钮,关闭投递任务成功。

image-20210415210504010

-- 开启投递任务:点击“开启”按钮,弹出开启投递任务页面。

1、开启投递后,日志将定时向oss中投递!

2、点击“确定”按钮,开启投递任务成功。

image-20210415210504010

-- 删除投递任务:点击“删除”按钮,弹出删除投递任务页面。

1、删除投递任务后,新写入数据将停止投递至oss!

2、点击“确定”按钮,删除投递任务成功。

image-20210415210504010

  • 投递至kafka:展示当前日志组下日志流的投递kafka配置详情。

image-20210415210504010

  • 编辑投递至kafka配置:点击投递至kafka旁的按钮可以选择开启投递状态。并设置当前要投递的kafka类型、kafka实例、主题、投递数据格式、以及投递日志字段。

1、开启投递后新写入的日志数据将会被投递。

2、当kafka类型为第三方时:只支持不鉴权的kafka实例,IP地址为IPv4格式,多个IP端口使用英文逗号间隔,例如:172.164.20.35:9092,172.164.20.38:9092。

3、当投递数据格式为原始数据时:投递日志字段默认仅有__message字段。

4、点击提交,投递至kafka配置成功。

image-20210415210504010

日志采集配置示例

1、 单行全文:

单行全文日志是指一条日志仅包含一行的内容,在采集的时候,将使用换行符\n来作为一条日志的结束符。日志数据本身不再进行日志结构化处理,也不会提取日志字段,日志属性的时间项由日志采集的时间决定。

假设日志原始数据为:

   Tue Jan 25 22:08:18 CST 2020 GET /online/sample HTTP/1.1

日志最终被云日志处理为:

   Tue Jan 25 22:08:18 CST 2020 GET /online/sample HTTP/1.1

2、 多行全文:

多行全文日志是指一条完整的日志数据跨占多行(例如 Java 程序日志)。在这种情况下,以换行符\n为日志的结束标识符就显得有些不合理,为了能让日志系统明确区分开每条日志,采用首行正则的方式进行匹配,当某行日志匹配上预先设置的正则表达式,就认为是一条日志的开头,而下一个行首出现作为该条日志的结束标识符。

多行全文的日志数据本身不再进行日志结构化处理,也不会提取日志字段,日志属性的时间项由日志采集的时间决定。
假设日志原始数据为:

   10.20.20.10 - - [Tue Jan 22 14:24:03 CST 2019 +0800] GET /online/sample HTTP/1.1 127.0.0.1 200 628 35 http://127.0.0.1/group/1
   Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0 0.310 0.310

日志最终被云日志处理为:

   10.20.20.10 - - [Tue Jan 22 14:24:03 CST 2019 +0800] GET /online/sample HTTP/1.1 127.0.0.1 200 628 35 http://127.0.0.1/group/1\nMozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0 0.310 0.310

3、 完全正则格式(单行):

单行-完全正则模式适用于日志文本中每行内容为一条原始日志,且每条日志可按正则表达式提取为多个 key-value 键值的日志解析模式。 配置单行-完全正则模式时,需要先输入日志样例,再自定义正则表达式。配置完成后,系统将根据正则表达式中的捕获组提取对应的 key-value。 如下内容将详细介绍如何采集单行-完全正则模式日志。

假设日志原始数据为:

   10.0.0.0 GET /index.html 15824 0.043

配置的正则表达式为:

   %{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}

日志最终被云日志处理为:

BASE10NUM : 15824,0.043
IPV4 : 10.0.0.0
URIPATH : /index.html
__file_path : /root/cls/smd.log
__host_ip : 172.31.1.184,fe80::f816:3eff:fe1f:ad8
__message : 10.0.0.0 GET /index.html 15824 0.043
__source : ecs
bytes : 15824
client : 10.0.0.0
duration : 0.043
method : GET
request : /index.html
timestamp : 2021-07-29T08:09:31.225Z

4、 完全正则格式(多行):

多行-完全正则模式适用于日志文本中一条完整的日志数据跨占多行(例如 Java 程序日志),可按正则表达式提取为多个 key-value 键值的日志解析模式。 配置多行-完全正则模式时,需要先输入日志样例,再自定义正则表达式。配置完成后,系统将根据正则表达式中的捕获组提取对应的 key-value。

如下内容将详细介绍如何如何采集多行-完全正则模式日志。

假设日志原始数据为:

2015-08-24 11:49:10,389#normal#as
at com.example.myproject.Author.getBookIds(Author.java:38)
10.0.0.0 GET /index.html 15824 0.043

配置的行首正则表达式为:

^[0-9]{4}-[0-9]{2}-[0-9]{2}

只解析“10.0.0.0 GET /index.html 15824 0.043”内容配置的正则表达式为:

%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}

日志最终被云日志处理为:


BASE10NUM : 15824,0.043
IPV4 : 10.0.0.0
URIPATH : /index.html
__file_path : /root/cls/smd.log
__host_ip : 172.31.1.184,fe80::f816:3eff:fe1f:ad8
__message : 2015-08-24 11:49:10,389#normal#as at com.example.myproject.Author.getBookIds(Author.java:38) 10.0.0.0 GET /index.html 15824 0.043
__source : ecs
bytes : 15824
client : 10.0.0.0
duration : 0.043
method : GET
request : /index.html
timestamp : 2021-07-29T07:34:30.742Z

5、 JSON 格式:

JSON 格式日志会自动提取首层的 key 作为对应字段名,首层的 value 作为对应的字段值,以该方式将整条日志进行结构化处理,每条完整的日志以换行符\n为结束标识符。

假设日志原始数据为:

{"remote_ip":"10.135.46.111","time_local":"22/Jan/2019:19:19:34 +0800","body_sent":23,"responsetime":0.232,"upstreamtime":"0.232","upstreamhost":"unix:/tmp/php-cgi.sock","http_host":"127.0.0.1","method":"POST","url":"/event/dispatch","request":"POST /event/dispatch HTTP/1.1","xff":"-","referer":"http://127.0.0.1/my/course/4","agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0","response_code":"200"}

日志最终被云日志处理为:

agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0
body_sent: 23
http_host: 127.0.0.1
method: POST
referer: http://127.0.0.1/my/course/4
remote_ip: 10.135.46.111
request: POST /event/dispatch HTTP/1.1
response_code: 200
responsetime: 0.232
time_local: 22/Jan/2019:19:19:34 +0800
upstreamhost: unix:/tmp/php-cgi.sock
upstreamtime: 0.232
url: /event/dispatch
xff: -

6、 分隔符格式:

分隔符日志是指一条日志数据可以根据指定的分隔符将整条日志进行结构化处理,每条完整的日志以换行符\n为结束标识符。日志服务在进行分隔符格式日志处理时,需要为每个分开的字段定义唯一的 key。

假设日志原始数据为:

10.20.20.10 - ::: [Tue Jan 22 14:49:45 CST 2019 +0800] ::: GET /online/sample HTTP/1.1 ::: 127.0.0.1 ::: 200 ::: 647 ::: 35 ::: http://127.0.0.1/

当日志解析的分隔符指定为:::,该条日志会被分割成八个字段,并为这八个字段定义唯一的 key,如下所示

IP: 10.20.20.10 -
bytes: 35
host: 127.0.0.1
length: 647
referer: http://127.0.0.1/
request: GET /online/sample HTTP/1.1
status: 200
time: [Tue Jan 22 14:49:45 CST 2019 +0800]
  • 索引配置:展示索引的配置以及索引数据。

image-20210415210504010

机器组管理

机器组是一组需要采集日志的机器列表,日志服务通过机器组来管理所有需要通过 logAgent 采集日志的服务器。一个机器组可以包含多台机器,通常情况下,一类服务应用程序会部署在多台机器上,并且这些机器的日志采集配置相同,可以将其归于同一个机器组,并将该机器组关联到对应的日志流。一个日志流可以关联多个机器组,一个机器组也可被关联到多个日志流。

查看机器组列表

操作步骤

1、 登录云日志。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【机器组管理】,进入【机器组管理】页面。

image-20210415210504010

新建机器组

操作步骤

1、 点击“创建机器组”按钮,弹出【新建机器组】弹框。

2、 填写名称:1-100个字符,由中英文、数字组成,只能包含特殊字符中的 "." , ""或"-",不能以特殊字符中的 "." ," ","-"开头或结尾且名称不能与其他机器组的名称重复。

3、 填写IP地址:目前只支持当前项目组所在区域的云服务器,请填写内网IP(ipv4)即可,一行一个IP地址,且不可重复,同一机器组中不允许同时存在Windows与Linux云服务器,最多设置200个内网IP。

4、 配置机器标签:1-100个字符,由中英文、数字组成,英文支持大小写,多个标签一行展示一个,且不可重复,同一机器组中不允许同时存在Windows与Linux云服务器,最多设置50个标签。

5、 点击“确认”按钮,添加完毕。

注:同一机器组中不允许同时存在ip地址和机器标签。

ip:

image-20210415210504010

机器标签:

image-20210415210504010

安装logAgent

​ 具体安装卸载方式详情请参考【logAgent安装卸载】。以下为页面安装操作方式。

操作步骤

1、 点击“如何安装logAgent”按钮,进入【安装logAgent】页面。

2、 安装的主机类型分为本平台云主机和第三方主机两种类型,安装系统分为Linux和Windows两个版本。

  • 云主机Linux系统】安装方式如图所示:

image-20210415210504010

  • 云主机Windows系统】安装方式如图所示:

image-20210415210504010

  • 第三方主机Linux系统】安装方式如图所示:

image-20210415210504010

  • 第三方主机Windows系统】安装方式如图所示:

image-20210415210504010

查看机器组

机器组与日志服务系统之间采用心跳机制保持连接,成功安装过 logAgent 的机器组会定时向日志服务发送心跳。

若状态显示为正常,则说明服务器可以与日志服务正常通信。

操作步骤

1、 点击“查看机器组”按钮,进入“查看机器组”页面。

2、 弹窗展示当前机器组的IP地址和机器标签以及IP的状态和机器标签的状态,当有IP状态为异常或机器标签状态为异常时点击排查异常可以打开异常说明文档,参考文档进行逐步排查。

ip:

image-20210415210504010

机器标签:

image-20210415210504010

编辑机器组

操作步骤

1、 点击“编辑”按钮,弹出【编辑机器组】弹框。

2、 填写修改的名称:1-100个字符,由中英文、数字组成,只能包含特殊字符中的 "." , ""或"-",不能以特殊字符中的 "." ," ","-"开头或结尾且名称不能与其他机器组的名称重复。

3、 填写修改的IP地址:目前只支持当前项目组所在区域的云服务器,请填写内网IP(ipv4)即可,一行一个IP地址,且不可重复,同一机器组中不允许同时存在Windows与Linux云服务器,最多设置200个内网IP。

4、 配置机器标签:1-100个字符,由中英文、数字组成,英文支持大小写,多个标签一行展示一个,且不可重复,同一机器组中不允许同时存在Windows与Linux云服务器,最多设置50个标签。

5、 点击“确认”按钮,添加完毕。

注:同一机器组中不允许同时存在ip地址和机器标签。。

ip:

image-20210415210504010

机器标签:

image-20210415210504010

删除机器组

操作步骤

1、 点击左“删除”按钮,弹出【删除机器组】弹框。

2、 点击“确认”按钮,删除机器组完毕。删除后将无法回退,请谨慎操作。

image-20210415210504010

服务产品日志查看

云日志产品提供指定服务产品的日志信息接入,可以快捷开通,查看产品的相关日志。

注意:未开启日志采集的服务产品实例日志会上传至公共日志流,保存时间为7天;开启后的服务产品实例日志会上传至对应创建的日志流中,保存时间可自由设定。

操作步骤

1、 登录日志服务。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【服务产品】,点击对接服务产品的对应名称, 进入【服务产品】页面。

开通日志

操作步骤

此处以ros产品实例开通日志为例:

1、 在【服务产品】页面上,选择单个示例,点击“开通日志”按钮。 image-20210415210504010

2、 在【开通日志】页面选择已创建的日志组或者创建新的日志组。 image-20210415210504010

3、 在【开通日志】页面选择已创建的日志流或者创建新的日志流。 image-20210415210504010

4、 点击“提交”按钮,开通服务产品的日志功能。

查看日志

操作步骤

此处以ros查看实例日志为例:

1、 在【服务产品】界面,点击单个服务产品实例所在行“查看日志”按钮,跳转至该实例的日志页面。

image-20210415210321492

2、 选择一定时间段的日志内容进行查看,通过下拉框选择该服务产品的多种类型日志切换进行查看。

image-20210415210321492

关闭日志

操作步骤

1、 在【服务产品】界面,点击单个服务产品实例所在行“关闭日志”按钮,在弹出的“关闭日志”弹框,点击“关闭”按钮,停用该实例的日志采集。

2、 停用后将不再采集该实例的日志信息。

image-20210415215454755

检索分析

检索分析服务提供了日志的SQL查询,分析功能,支持在云日志服务中实时分析日志数据,使用SQL语句查询分析日志结果。日志结果可由多种图表表示,方便对日志信息有更全面的认知。

操作步骤

1、 登录日志服务。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【检索分析】,进入【检索分析】页面。

日志搜索

操作步骤

1、 点击日志组和日志流的下拉框,选择要查看日志信息所属的日志组和日志流。

2、 可以选择一定时间间隔内产生的日志信息,也可以手动选择起止时间。开启“自动刷新”开关后,日志信息每60秒会自动刷新。

image-20210415210504010

3、 日志搜索语法规则、查询示例参考如下:

  • 语法规则
保留关键字 说明
AND 与逻辑操作符,此处只能大写,区分大小写。例如 level:ERROR AND pid:1234
OR 或逻辑操作符,此处只能大写,区分大小写。例如 level:ERROR OR level:WARNING
NOT 非逻辑操作符,此处只能大写,区分大小写。例如 level:ERROR NOT pid:1234
TO 范围 逻辑操作符,此处只能大写,区分大小写。例如 request_time:[0.1 TO 1.0]
"" 双引号,引用一个短语词组(短语当作一个整体词组),例如 name:"john Smith"
冒号,表示作用于的 key 字段,即键值检索,例如 level:ERROR
* 通配符查询,匹配零个、单个、多个字符,例如 host:www.test*.com
? 通配符查询,匹配单个字符,例如 host:www.te?t.com
() 分组操作符,控制逻辑运算优先级,例如 (ERROR OR WARNING) AND pid:1234
> 范围操作符,表示大于某个数值,例如 status:>400
>= 范围操作符,表示大于等于某个数值,例如 status:>=400
< 范围操作符,表示小于某个数值,例如 status:<400
<= 范围操作符,表示小于等于某个数值,例如 status:<=400
[] 范围操作符,包含边界值的范围,例如 age:[20 TO 30]
{} 范围操作符,不包含边界值的范围,例如 age:{20 TO 30}
或逻辑,类似 OR,例如 level:ERROR ‖ level:WARNING
&& 与逻辑,类似 AND,例如 level:ERROR && pid:1234
! 非逻辑,类似 NOT,例如 level:ERROR !pid:1234
/ 正则表达式标识符,/${regExp}/ , 例如 /[mb]oat/表示搜索包含 moat 或 boat 的结果
_exists_ _exists_:key,返回 key 不为空的值,例如 _exists_:userAgent 表示搜索 userAgent字段有值的结果
~ 相似搜索,例如 level:errro~,可以命中 level 为 error 关键字的结果
  • 特殊字符

& | : \ / + - ! ( ) { } [ ] ^ " ~ * ?

如果查询语句中带有特殊字符,请使用\进行转义查询,如查询语句中有 [,查询时请使用\[

  • 查询示例
检索场景 检索语句
包含术语error的消息 ERROR
字段类型包括error的消息 type: error
字段类型包括error或login 的消息 type:( error OR login)
字段类型包含确切短语2021/05/28 07:12:37 的消息 type : "2021/05/28 07:12:37"
具有字段类型的消息 _exists_:type
没有字段类型的消息 NOT _exists_:type
运算符AND、OR 和 NOT 区分大小写,并且必须全部大写 "error" AND NOT source:org
通配符,使用”?”替换单个字符或”*”替换零个或多个字符 type : apig*; type : apigatewa?
模糊性搜索 type : apigatewa~;erro~
数字字段支持范围查询。方括号包含边界值,大括号不包括,可以组合使用 pid : {24 TO 27};pid : [24 TO 27];pid : {24 TO 27]
数字字段使用>、<、>=、<=查询 pid : <=24;pid : >=24

图表分析

操作步骤

1、 点击“图表分析”按钮,进入【图表分析】页面。 image-20210415210504010 2、 在SQL查询条件框中选择对应时间,输入SQL语句,单击“执行查询”进行搜索,不输入SQL语句,默认按时间倒序查询前十条数据,为不影响查询速度与绘图效果,请结合使用limit对返回数据量进行限制

3、 根据SQL查询返回的数据,依照业务需求选择不同图表类型,呈现查询结果。目前支持表格、折线图、饼图、柱状图。 image-20210415210504010 image-20210415210504010 image-20210415210504010

SQL查询语法

CLS目前支持的SQL语句如下表所示。

语句 说明 示例
SELECT SELECT 语句用于从表中选取数据。 SELECT *
AS 为列名称(KEY)指定别名。 SELECT remote_addr AS "客户端IP", request_time AS "请求时间(单位:秒)"
GROUP BY 根据一个或多个列对结果集进行分组,经常与聚合函数一起使用,不与limit同时使用默认返回10条数据。 SELECT apiStagName, count(*) AS PV GROUP BY apiStagName
HAVING 对分组后的结果进行过滤 SELECT apiStagName, count() AS PV GROUP BY apiStagName HAVING count() >10
ORDER BY 用于根据指定的 KEY 对结果集进行排序。 SELECT status, COUNT(status) AS c GROUP BY status ORDER BY status DESC
LIMIT 用于限制由 SELECT 语句返回的数据数量。 SELECT status LIMIT 10
OFFSET 用于限制日志信息库中的起始查询位置。可以与LIMIT语句联合使用。 SELECT status OFFSET 10
WHERE 在WHERE子句中搜索列中的指定模式。 SELECT * WHERE resSize <= 158

CLS目前支持的聚合函数如下表所示。

语句 含义 示例 示例SQL
AVG(KEY) 计算 KEY 列的算数平均值。 计算请求平均响应时间。 SELECT AVG(reqSize)
COUNT(*) 表示所有的行数。 计算状态码大于200的所有请求数 。 SELECT COUNT(*) WHERE http_status > 200
COUNT(KEY) 计算某一KEY列非null的行数。 计算请求时间大于5.0秒的请求的个数。 SELECT COUNT(request_time) WHERE request_time > 5.0
COUNT(1) COUNT(1)等同于COUNT(*),表示所有的行数。 - -
MAX(KEY) 返回 KEY 列最大值。 计算请求时间最大值。 SELECT MAX(request_time) AS max_request_time
MIN(KEY) 返回 KEY 列最小值。 计算请求时间最小值。 SELECT MIN(request_time) AS min_request_time
SUM(KEY) 返回 KEY 列的和。 计算请求的总字节数。 SELECT SUM(body_bytes_sent) AS sum_bytes
注:

1、如果查询的字段是SQL保留字,请使用英文双引号括起来查询。常见的SQL保留字有all、insert、on、as、acs等;

2、where、group by、having 列名不支持使用别名;

3、没有group by分组的场景下不支持使用having过滤;

4、group by只允许使用一个条件进行分组;

5、order by只允许使用一个条件进行排序;

投递任务管理

投递任务管理支持新产生日志在存储到日志流同时,向oss桶中也以文件的形式进行存储,可设置投递字段和投递格式,方便于日志信息查看。

操作步骤

1、 登录日志服务。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【投递任务管理】——>【投递至oss】,进入【投递任务管理】页面。

image-20210415210504010

创建投递任务

操作步骤

1、点击“创建投递任务”按钮,弹出右侧创建投递任务页面。

2、投递任务名称:1-100个字符,由中英文、数字组成,只能包含特殊字符中的".",""或"-",不能以特殊字符中的".",""或"-"开头或结尾。

3、日志组名称:点击下拉框选择日志组。

4、日志流名称:点击下拉框选择日志流。

5、API秘钥:点击下拉框选择API秘钥。

6、oss存储桶:点击下拉框选择oss存储桶。

7、目录前缀:1-254个字符(不能以英文句号.开头或结尾,不能包含\:^*?"<>|),例如:目录前缀是/data/cls。

8、分区格式:自动生成文件存储目录,分区格式为/%Y/%m/%d/%H/,分别以/开头结尾。例如,填写分区格式为/%Y/%m/%d/%H/,目录前缀是/data/cls,2021年2月3日4时生成的目录/data/cls/2021/02/03/04/。

9、投递文件大小:文件大小上限,支持100MB-256MB,大于该上限,则剩余部 分重新生成新文件投递。

10、投递间隔时间:点击下拉框选择每次投递文件的间隔时间,分为5分钟,10分钟,15分钟。

11、投递格式,选择json或cvs为投递日志文件的格式。

12、投递日志字段,默认投递__message字段。

13、点击确定按钮,创建投递oss任务成功。

image-20210415210504010

修改投递任务

操作步骤

1、点击“修改任务”按钮,右侧弹出修改投递任务页面。

2、点击“确认”按钮,修改投递任务成功。

image-20210415210504010

开启投递任务

操作步骤

1、开启投递任务:点击“开启”按钮,弹出开启投递任务页面。

2、开启投递后,日志将定时向oss中投递!

3、点击“确定”按钮,开启投递任务成功。

image-20210415210504010

关闭投递任务

操作步骤

1、关闭投递任务:点击“关闭”按钮,弹出关闭投递任务页面。

2、关闭投递后,日志将停止向oss中投递

3、点击“确定”按钮,关闭投递任务成功。

image-20210415210504010

删除投递任务

操作步骤

1、点击“删除”按钮,弹出删除投递任务页面。

2、删除投递任务后,新写入数据将停止投递至oss!

3、点击“确定”按钮,删除投递任务成功。

image-20210415210504010

查看投递历史

操作步骤

1、点击id,进入该投递任务的投递历史详情页面。

2、该页面也包含修改任务,开启,关闭,删除按钮,可对投递任务进行更改(同上)。

image-20210415210504010

监控告警

​ 监控告警服务提供了监控日志数据的告警功能,通过灵活配置日志资源的告警策略,一旦日志资源发生异常符合告警条件时,系统会展示告警信息,以便及时排查资源或业务异常,迅速定位并处理故障。

查看告警策略

操作步骤

1、 登录日志服务。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【监控告警】>【告警策略】,进入【告警策略】页面。

image-20210415210504010

新建告警

操作步骤

1、 点击“创建告警”按钮,进入【创建告警】页面。

2、 填写规则信息

• 告警规则名称:1-50个字符,只能包含中英文、数字、下划线、中划线。

• 描述:1-100个字符,只能包含中英文、数字、下划线、中划线,非必填项。

image-20210415204550435

3、 填写告警内容

操作名称 详解
日志流 选择需要监控的日志组,以及日志组下的日志流
查询语句 1) :键值查询,表示对key的字段进行查询; 2) * 通配符查询,匹配零个、单个、多个字符; 3) () 分组操作符,控制逻辑运算优先级
查询时间范围 选择查询数据指标在1-500分钟/1-500小时时间范围内的日志记录
监控周期 选择监控数据指标在1-500分钟/1-500小时周期内的日志记录。
告警级别 根据告警的严重程度分为不同等级,可选择紧急、重要、次要。
告警通知 选择告警通知,便于在产生高警时进行通知。

4、 点击“提交”按钮,创建告警规则完毕。

启用告警策略

操作步骤

1、 在【告警策略】页面,点击单个告警规则所在行“启用”按钮,在弹出的“启用告警策略”弹框,点击“确认”按钮,启用该告警策略。

2、 启用告警策略后,当监控数据指标触发设定的指定字段时对应的日志组以及日志流就会出现告警信息。

image-20210415215536781

停用告警策略

操作步骤

1、 在【告警策略】界面,点击单个告警策略所在行“停用”按钮,在弹出的“停用告警策略”弹框,点击“确认”按钮,停用该告警策略。

2、 停用后将不再计算指标是否触发关键字,不再触发警告。

image-20210415215454755

查看告警策略详情

操作步骤

1、 点击“名称”,跳转至【告警策略详情】页面。

2、 告警信息:展示当前名称的告警基本信息

image-20210415210321492

修改告警策略

操作步骤

1、 在【告警策略】界面,点击单个告警规则所在行“更多”按钮,选择“编辑”选项。

2、 与创建步骤相同

image-20210415215725967

删除告警策略

操作步骤

1、 在【告警策略】页面上,选择单个告警策略所在行,点击“更多”按钮,选择“删除”选项,删除告警规则。

2、 删除后将无法回退,请谨慎操作。

image-20210415210504010

告警历史

告警历史告警信息,方便管理、回溯和查看告警记录,以对业务的运行状态了然于心。

操作步骤

1、 登录云日志。

2、 在控制台顶部导航栏选择区域。

3、 点击左侧菜单栏中【监控告警】>【告警历史】,进入【告警历史】页面。

4、 点击“告警策略”名称,跳转至【监控告警】>【告警策略】>【告警策略详情】页面。

5、 可自定义查看不同时间段的告警历史,当不选择时间时默认展示最近七天的历史记录。

6、 可按告警策略的名称查询该名称下的告警历史,当不选择时默认展示全部规则的告警记录。 image-20210415215827333

采集器安装卸载

​ logAgent 是一款日志采集工具,它整合了log4net结构,简化了配置等操作。直接引用此类库即可进行日志操作,配合log4net可进行日志的输出。

安装logAgent

1、 本平台云主机Linux系统安装:

• 步骤一、复制logAgent安装命令。

X86架构:

   wget http://log.myinspurcloud.com/cls/agent/logAgent.tar.gz && tar -zxvf logAgent.tar.gz -C /usr/local && cd /usr/local/logAgent && ./start.sh

arm架构:

   wget http://log.myinspurcloud.com/cls/agent/logAgent-arm.tar.gz && tar -zxvf logAgent-arm.tar.gz -C /usr/local && cd /usr/local/logAgent && ./start.sh

• 步骤二、使用PuTTY等远程登录工具,以root用户登录待安装主机,执行复制到的命令。当显示“logAgent is starting”时,表示安装成功。

• 若安装失败,请参考 卸载logAgent 章节,卸载后重新安装。

• 运行 ./status.sh 可查看logAgent的运行状态。

2、 本平台云主机Windows系统安装:

• 步骤一、在虚机中通过http://log.myinspurcloud.com/cls/agent/logAgent.exe,下载logAgent安装包。

• 步骤二 、安装到C:\Program Files下

• 步骤三、以管理员身份打开Powershell窗口,进入到C:\Program Files\logAgent目录下,执行以下命令:

   .\install-service-logAgent.ps1

   Start-Service logAgent

• 备注:

1. 执行.\install-service-logAgent.ps1命令时提示禁止执行脚本,则先运行set-ExecutionPolicy UnRestricted

2. 执行Start-Service logAgent命令,没有报错,则表示安装成功。

3、 第三方主机Linux系统安装:

• 步骤一、购买一台本平台云主机(ecs),并且挂上弹性公网IP(eip),作为跳板机,在安装logAgent页面的第三方主机,linux系统下EIP地址输入框中输入挂载的eip。

   EIP地址必填,用于自动生成下面命令行,可直接复制命令行使用

• 步骤二 、以root用户登录本平台ecs

已有SSH秘钥,执行以下命令,其中{eip}为用户该虚机挂载的EIP。

      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys && \
      chmod 600 ~/.ssh/authorized_keys && \
      echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \
      echo '@reboot root sleep 1;ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip} > /dev/null 2>&1' >> /etc/crontab && \
      ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip}

~/.ssh/id_rsa.pub 为公钥路径

无SSH秘钥,执行以下命令,其中{eip}为用户该虚机挂载的EIP

   ssh-keygen -f ~/.ssh/id_rsa -t rsa -N '' && \
   cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys && \
   chmod 600 ~/.ssh/authorized_keys && \
   echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \
   echo '@reboot root sleep 1;ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip} > /dev/null 2>&1' >> /etc/crontab && \
   ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip}

• 步骤三、运行 netstat -lnp | grep ssh 命令查看80,2283与2279端口端口是否被侦听。

• 步骤四、防火墙设置:开启firewalld的80,2283与2279端口,如果没有防火墙,跳过此步骤。

命令如下:

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=2279/tcp --permanent
    firewall-cmd --zone=public --add-port=2283/tcp --permanent

执行完毕后重启firewalld

    firewall-cmd --reload

检查是否开启80,2279,2283端口

    firewall-cmd --list-ports

成功开启后提示:80/tcp 2279/tcp 2283/tcp

• 步骤五、在购买的ecs虚机对应安全组的入规则中添加TCP协议的80,2283与2279端口准入,并配置准入IP为待采集日志机器IP。

• 步骤六、以root用户登录第三方自有主机,并执行以下命令:

X86架构,其中{eip}为用户购买的本平台虚机挂载EIP;

    sed -i '1 i\{eip} log.myinspurcloud.com' /etc/hosts && sed -i '1 i\{eip} pushgateway.myinspurcloud.com' /etc/hosts && wget http://log.myinspurcloud.com/cls/agent/logAgent.tar.gz && tar -zxvf logAgent.tar.gz -C /usr/local && cd /usr/local/logAgent && echo '@reboot root sleep 5;/usr/local/logAgent/start.sh >/dev/null 2>&1' >> /etc/crontab && ./start.sh

ARM架构,其中{eip}为用户购买的本平台虚机挂载EIP;

    sed -i '1 i\{eip} log.myinspurcloud.com' /etc/hosts && sed -i '1 i\{eip} pushgateway.myinspurcloud.com' /etc/hosts && wget http://log.myinspurcloud.com/cls/agent/logAgent-arm.tar.gz && tar -zxvf logAgent-arm.tar.gz -C /usr/local && cd /usr/local/logAgent && echo '@reboot root sleep 5;/usr/local/logAgent/start.sh >/dev/null 2>&1' >> /etc/crontab && ./start.sh

• 步骤七、以标签形式接入云日志。

用户进入自有虚机的/usr/local/logAgent目录下,执行./stop.sh

在logAgent.yml中的path下填入

    reload.nodeLabel:
    reload.account:

在reload.nodeLabel中填入标签,支持多个标签,多个标签之间以英文逗号间隔

在reload.account中填入用户名,如果是子用户,则填写父用户名.子用户名

执行./start.sh 启动logAgent

执行./status.sh 查看logAgent状态

4、 第三方主机Windows系统安装:

• 步骤一、购买一台本平台云主机(ecs),并且挂上弹性公网IP(eip),作为跳板机,在安装logAgent页面的第三方主机,Windows系统下EIP地址输入框中输入挂载的eip。

   EIP地址必填,用于自动生成下面命令行,可直接复制命令行使用

• 步骤二 、以root用户登录本平台ecs

已有SSH秘钥,执行以下命令,其中{eip}为用户该虚机挂载的EIP。

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys && \
    chmod 600 ~/.ssh/authorized_keys && \
    echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \
    echo '@reboot root sleep 1;ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip} > /dev/null 2>&1' >> /etc/crontab && \
    ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip}

~/.ssh/id_rsa.pub 为公钥路径

无SSH秘钥,执行以下命令,其中{eip}为用户该虚机挂载的EIP

    ssh-keygen -f ~/.ssh/id_rsa -t rsa -N '' && \
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys && \
    chmod 600 ~/.ssh/authorized_keys && \
    echo "StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \
    echo '@reboot root sleep 1;ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip} > /dev/null 2>&1' >> /etc/crontab && \
    ssh -f -N -g -L 80:log.myinspurcloud.com:80 -L 2283:log.myinspurcloud.com:2283 -L 2279:pushgateway.myinspurcloud.com:2279 {eip}

• 步骤三、运行 netstat -lnp | grep ssh 命令查看80,2283与2279端口端口是否被侦听。

• 步骤四、防火墙设置:开启firewalld的80,2283与2279端口,如果没有防火墙,跳过此步骤。

命令如下:

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    firewall-cmd --zone=public --add-port=2279/tcp --permanent
    firewall-cmd --zone=public --add-port=2283/tcp --permanent

执行完毕后重启firewalld

    firewall-cmd --reload

检查是否开启80,2279,2283端口

    firewall-cmd --list-ports

成功开启后提示:80/tcp 2279/tcp 2283/tcp

• 步骤五、在购买的ecs虚机对应安全组的入规则中添加TCP协议的80,2283与2279端口准入,并配置准入IP为待采集日志机器IP。

• 步骤六、第三方自有主机修改C:\Windows\System32\drivers\etc\hosts,在末尾处添加:

    {eip} log.myinspurcloud.com pushgateway.myinspurcloud.com

• 步骤七、安装windows版agent:

在虚机中通过http://log.myinspurcloud.com/cls/agent/logAgent.exe,下载logAgent安装包

安装到C:\Program Files下

用管理员身份打开Powershell窗口,进入C:\Program Files\logAgent目录下, 执行以下命令:

     .\install-service-logAgent.ps1

      Start-Service logAgent

• 备注:

1. 执行.\install-service-logAgent.ps1命令时提示禁止执行脚本,则先运行set-ExecutionPolicy UnRestricted

2. 执行Start-Service logAgent命令,没有报错,则表示安装成功。

• 步骤八、以标签形式接入云日志:

打开Powershell窗口,进入C:\Program Files\logAgent目录下,执行命令:

    Stop-Service logAgent

在C:\Program Files\logAgent\logAgent.yml中的path下填入

    reload.nodeLabel:
    reload.account:

在reload.nodeLabel中填入标签,支持多个标签,多个标签之间以英文逗号间隔

在reload.account中填入用户名,如果是子用户,则填写父用户名.子用户名

执行 Start-Service logAgent

卸载logAgent

​ 说明:卸载logAgent不会删除对应目录的文件,请根据实际情况自行删除。

1、 Linux系统卸载:

• 步骤一、关闭logAgent 打开本地Agent安装目录进入/usr/local/logAgent目录,在当前路径下输入停止命令:

   ./stop.sh

• 步骤二、命令执行完毕后再删除logAgent文件夹即可完全卸载

   rm -rf /usr/local/logAgent

注:第三方机器需要修改/etc/hosts文件,将log.myinspurcloud.com域名与pushgateway.myinspurcloud.com域名配置删除

2、 Windows系统卸载:

• 步骤一、关闭logAgent

   Stop-Service logAgent

• 步骤二、在logAgent安装目录下使用cmd窗口运行

   .\uninstall-service-logAgent.ps1

• 步骤三、运行完毕后删除logAgent文件夹即可完全卸载

注:第三方机器需要修改hosts文件,将log.myinspurcloud.com域名与pushgateway.myinspurcloud.com域名配置删除

机器组状态异常问题

配置机器组时,可能会出现所安装的 logAgent 状态异常。一旦状态异常,则 logAgent 与日志服务后端连接中断,将导致 logAgent 无法正常上传日志,异常状态如图:

ip:

image-20210415210504010

机器标签:

image-20210415210504010

常见问题

1、 logAgent 安装问题:

可能在安装过程中出现问题,导致logAgent无法正常上传日志,此时可以参考logAgent安装卸载文档,卸载后重新安装。

2、 logAgent 状态检查:

查看logAgent 运行状态,当运行状态出现异常时可重新启动logAgent 或卸载logAgent 后重新进行安装。

• Linux系统:查看logAgent运行状态,进入Agent安装目录/usr/local/logAgent下,在当前文件夹下执行命令:

   ./status.sh

• Windows系统:Windows系统打开任务管理器可以直接查看logAgent进程当没有进程运行时,logAgent 则为运行异常。

3、 logAgent网络异常:

​ Linux系统 与 Windows系统都可以通过ping域名的方式检查当前网络是否通畅。

   ping log.myinspurcloud.com

4、 检查机器组 IP 配置:

打开 ECS 服务查看当前服务的内网IP,检查机器组所添加的 IP 地址是否与ECS 服务的内网IP一致。

5、 开启与关闭logAgent: 如果需要在采集端手动开启与关闭logAgent,则使用下面命令或操作。

• Linux系统:

进入Agent安装目录/usr/local/logAgent下

开启logAgent, 执行下面命令:

   ./start.sh

关闭logAgent, 执行下面命令:

   ./stop.sh

• Windows系统:

右击此电脑,打开管理菜单,在服务中找到logAgent服务,进行启动或停止操作即可。