【腾讯云日志服务CLS】Linux服务器使用腾讯云CLS日志服务初体验

hello,腾讯云的小伙伴们,我是不想赖床,一位拥有2年腾讯云服务使用体验的计算机大学生。我们在使用腾讯云服务器时,在各种业务开发部署过程中会产生各种日志,如果产生错误信息,我们还需要去服务器文档中查找日志然后再去解读日志并找到问题,这样就会浪费很多时间。

而腾讯云的CLS服务则为开发者提供了一种出色的采集存储检索转存投递等功能一站式日志服务日志分析解决方案。

下面我将通过将把CLS日志服务署到我的linux服务器(centos7.6)上给大家介绍一下我的使用体验。

先把此次可能用到的连接放在下面

  1. 腾讯云CLS日志服务控制台:https://console.cloud.tencent.com/cls/
  2. 腾讯云CLS日志服务产品体验地址:https://cloud.tencent.com/act/free?from=12639
  3. 腾讯云CLS日志服务开发文档:https://cloud.tencent.com/document/product/614
  4. 腾讯云CLS日志服务文章专栏:https://cloud.tencent.com/developer/column/90048

1.CLS是何方神圣?

日志服务(Cloud Log Service)是腾讯云的提供一站式日志数据解决方案。我们不需要关注服务器扩容缩容等资源问题,五分钟就可以快速接入,即可享受从日志采集日志存储日志内容搜索统计分析等全方位稳定可靠的日志服务。帮助您轻松解决业务问题定位,指标监控、安全审计等日志问题。大大降低日志运维门槛。

2.开通日志服务CLS

CLS服务开通网址:CLS服务官网

进入官网点击立即使用

进入控制台后点击立即开通

在开通CLS服务后第一步就是==创建日志主题==,我们需要设置日志主题名称日志集名称

分区数量分区自动分裂最大分裂数日志集操作日志保存时间这几个默认选择就可以,当然也可以根据自身需求进行调整。

3.安装 LogListener

LogListener 是腾讯云日志服务 CLS 所提供的日志采集客户端,其按照预设的采集策略实时上报日志数据。

需要注意的是:安装 LogListener 要求日志源机器的网络与日志服务的可用地域网络互通(腾讯云服务器 CVM 默认内网访问日志服务)。所以要注意开放端口

LogListener ==仅支持64位 Linux ==操作系统环境(暂不支持 Windows)

操作系统类别

确定可安装环境

CentOS(64位)

CentOS_6.8_64位、CentOS_6.9_64位、CentOS_7.2_64位、CentOS_7.3_64位、CentOS_7.4_64位、CentOS_7.5_64位、CentOS_7.6_64位、CentOS_8.0_64位

Ubuntu(64位)

Ubuntu Server_14.04.1_LTS_64位、Ubuntu Server_16.04.1_LTS_64位、Ubuntu Server_18.04.1_LTS_64位

Debian(64位)

Debian_8.2_64位、Debian_9.0_64位

openSUSE(64位)

openSUSE_42.3_64位

可以通过下面命令检查网络连通性,其中<region> 为日志服务所在地域简称

代码语言:txt
复制
telnet <region 简称>.cls.tencentyun.com 80

下面是部分地域的简称,内网域名和外网域名对照表

地域

域名简称

内网域名

外网域名

北京

ap-beijing

ap-beijing.cls.tencentyun.com

ap-beijing.cls.tencentcs.com

广州

ap-guangzhou

ap-guangzhou.cls.tencentyun.com

ap-guangzhou.cls.tencentcs.com

上海

ap-shanghai

ap-shanghai.cls.tencentyun.com

ap-shanghai.cls.tencentcs.com

成都

ap-chengdu

ap-chengdu.cls.tencentyun.com

ap-chengdu.cls.tencentcs.com

南京

ap-nanjing

ap-nanjing.cls.tencentyun.com

ap-nanjing.cls.tencentcs.com

重庆

ap-chongqing

ap-chongqing.cls.tencentyun.com

ap-chongqing.cls.tencentcs.com

中国香港

ap-hongkong

ap-hongkong.cls.tencentyun.com

ap-hongkong.cls.tencentcs.com

比如说我在北京,我的命令就是 telnet <region ap-beijing>.cls.tencentyun.com 80 下面不在重复叙述

LogListener 最新版本下载地址:LogListener 最新版地址

3.1 下载LogListener

以安装路径/usr/local/为例: 下载 LogListener 安装包并解压,解压路径为/usr/local/ ,解压完成后进入 LogListener 目录loglistener/tools,执行安装命令 。

我这里使用的是用finalshell登录腾讯云Linux服务器的终端,当然使用Putty,xshell等等都可以

该操作命令如下:

代码语言:txt
复制
wget https://loglistener-1254077820.cos.ap-shanghai.myqcloud.com/loglistener-linux-x64-2.5.6.tar.gz && tar -zxvf loglistener-linux-x64-2.5.6.tar.gz -C /usr/local && cd /usr/local/loglistener-2.5.6/tools && ./loglistener.sh install

出现最后一句绿色语句则代表安装成功

3.3查看云 API 密钥

腾讯云API密钥查询网址:腾讯云API密钥查询

在这里应该可以看到SecretIdSecretKey,需要记录下来,后面用得到

如果大家这里没有密钥的话,点击新建一个就可以

3.3初始化 LogListener

loglistener/tools路径下,以 root 权限执行 LogListener 初始化命令(默认使用内网方式访问服务),初始化命令如下:

代码语言:txt
复制
./loglistener.sh init -secretid AKIDPEtPyKabfW8Z3Uspdz83xxxxxxxxxxx -secretkey whHwQfjdLnzzCE1jIf09xxxxxxxxxxxx -region ap-xxxxxx

在下面图片的①处输入腾讯云API的secretid,在②处输入secretkey,在③处输入region(上面已经提醒)

3.4 外网访问服务域名

如果需要通过外网方式访问服务域名,需要显式设置网络参数internet,执行如下命令:

代码语言:txt
复制
./loglistener.sh init -secretid AKIDPEtPyKabfW8Z3Uspdz83xxxxxxxxxxxx -secretkey whHwQfjdLnzzCE1jIf0xxxxxxxxxxxx -region ap-xxxxxx -network internet

输入上面命令行后如果出现询问,输入y后回车即可

3.5 启动 LogListener

成功安装后,执行 LogListener 启动命令:

代码语言:txt
复制
/etc/init.d/loglistenerd start

出现第二行绿色字显示启动成功

其他命令参考腾讯云CLS官方文档CLS官方文档

在机器组管理中点击新建机器组

4.新建机器组

我们重现回到腾讯云CLS控制台

点击点击新建机器组

输入机器组名称IP地址

Ip地址可以在服务器实例中查看

回到CLS控制台找到新建的机器组点击查看

可以看到出现一个心跳异常,我们可以去配置心跳异常监控

在告警策略中配置心跳异常监控

在出发条件中选择手动配置

在告警对象中选择全部对象

其他选项默认就可,完成后点击完成

同时关联大量对象时会花费较长时间

在创建完成后我们可以看到下面界面

点击系统预设通知模板的查看详情

需要绑定一下邮箱

然后再邮箱中点击相应链接确认绑定

在CLS勾选机器组,点击下一步

5.采集配置

在采集配置中设置好采集路径

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

字段

说明

目录前缀

日志文件前缀目录结构,仅支持通配符 和 ? , 表示匹配多个任意字符,? 表示匹配单个任意字符

/**/

表示当前目录以及所有子目录

文件名

日志文件名,仅支持通配符 和 ? , 表示匹配多个任意字符,? 表示匹配单个任意字符

举个例子

在这里插入图片描述
设置好后点击下一步

6.索引配置

关于索引配置,默认就好

关于索引配置,更多请参考腾讯云CLS官方文档:CLS官方文档

7.CLS服务使用

7.1 在CLS控制台查看信息

在概览数据中可以查看写流量索引流量存储量服务器请求次数

在资源统计中可以查看日志集主题分区异常机器心跳数

在流量统计中可以查看写流量索引流量内网读流量外网读流量

有小伙伴会有疑问了,这里的流量问啥是0,服务器没有开机? 当然不是,主要原因是因为CLS服务刚建立 信息统计大约有20分钟的延时

在概览下侧还可以通过json图进行可视化分析

7.2创建通知模板

当产生某种异常时,CLS可以通过短信和邮件等方式通知我们及时处理问题

创建完成后点击确认

可以看到已经创建好的通知模板

当我的服务器出现心跳异常时,我即刻在手机上收到了告警短信和邮箱通知

在这里插入图片描述
在这里插入图片描述
当监控警告恢复时,同样也会收到监控恢复消息,十分的便利

8.CLS初次使用体验

就我使用腾讯云CLS服务的体验来说,整体效果还是不错的,方便了开发者对于服务器日志的分析,可以加快我们对问题的解决速度,节约了大量时间。还可以对日志信息进行可视化分析。当出现问题时还可及时进行通知。

当然有一点缺点就是配置过程有些复杂,对新手不是很友好。整体评分给9分吧(10分制),所以还是很推荐大家使用的。

9. CLS使用一个月体验(2021年5月29日更新)

由于腾讯云官方举办CLS服务,我开始接触CLS,到现在使用时间也已经一个多月。之前也已经在腾讯云官方使用过两年的腾讯云产品,这次结合腾讯云的其它产品和CLS日志服务来说一下我的使用感受。

第一次使用CLS是用它来采集linux日志的,我的linxu服务器部署的是个人博客网站,平时PV访问量一般,但是偶尔访问量会过于大,时不时我就会在手机短信上和邮箱里收到CLS的报警消息。

11.jpg
22.jpg

通过这些信息,我不需要守在电脑前就能收到报警信息,并对问题进行及时处理,最主要的是CLS还可以对问题进行位置定位,为我们开发者节约了大量时间,提高了开发维护效率

在使用CLS之前,我用的腾讯云的产品除了有基本的云服务器外,还有云开发cloudbase平台,serverless应用腾讯云的SCF函数,lighthouse轻量应用服务器等等应用,并在上面部署了很多应用,也录制过一些视频。

上面列举的几个例子都可部署应用,在使用过程中,我发现serverless应用的日志分析最详细和直观,可视化和其它的日志信息也最为详细。

image.png
image.png
image.png

原来是serverless应用在调用云函数时,CLS日志服务已经默认接入CFS,CLS通过将采集到的日志作为参数传递来调用 SCF 云函数,函数代码可以对其进行数据加工处理、分析。非常直观和上手方便。

在SCF函数中我们还可以通过编写函数来配置CLS的告警策略,可见CLS的应用还是非常广泛的

10 给CLS服务的几个小建议

  1. 建议CLS日志服务多多宣传自己的产品,酒香也怕巷子深,扩大宣传和影响力,多多举办一些活动,征文活动或者视频征稿,让更多人参与进来
  2. 除了CLS的官方SDK文档外,希望多一些CLS部署教程,有利于小白和开发者快速入门,比较CLS日志服务虽然使用体验还不错,但是上手还是有一点门槛
  3. 日志告警策略希望可以让开发者自己设置告警信息接收时间段
  4. 增加对云开发cloudbase等其它腾讯云产品和腾讯云产品的日志部署管理服务的接入
  5. 在此给CLS日志服务打分,如果满分是10分的话,可以给到9分,继续加油! 希望腾讯云CLS日志服务越来越好!也希望越来越多的小伙伴加入CLS日志专栏中,一起助力CLS成长~