hello,腾讯云的小伙伴们,我是不想赖床,一位拥有2年腾讯云服务使用体验的计算机大学生。我们在使用腾讯云服务器时,在各种业务开发部署过程中会产生各种日志,如果产生错误信息,我们还需要去服务器文档中查找日志然后再去解读日志并找到问题,这样就会浪费很多时间。
而腾讯云的CLS服务则为开发者提供了一种出色的采集、存储、检索、转存,投递等功能一站式日志服务日志分析解决方案。
下面我将通过将把CLS日志服务署到我的linux服务器(centos7.6)上给大家介绍一下我的使用体验。
先把此次可能用到的连接放在下面
- 腾讯云CLS日志服务控制台:https://console.cloud.tencent.com/cls/
- 腾讯云CLS日志服务产品体验地址:https://cloud.tencent.com/act/free?from=12639
- 腾讯云CLS日志服务开发文档:https://cloud.tencent.com/document/product/614
- 腾讯云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.myzijiebao.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密钥查询
在这里应该可以看到SecretId
和SecretKey
,需要记录下来,后面用得到
如果大家这里没有密钥的话,点击新建一个就可以
3.3初始化 LogListener
在loglistener/tools
路径下,以 root 权限执行 LogListener 初始化命令(默认使用内网方式访问服务),初始化命令如下:
./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的报警消息。
通过这些信息,我不需要守在电脑前就能收到报警信息,并对问题进行及时处理,最主要的是CLS还可以对问题进行位置定位,为我们开发者节约了大量时间,提高了开发维护效率。
在使用CLS之前,我用的腾讯云的产品除了有基本的云服务器外,还有云开发cloudbase平台,serverless应用腾讯云的SCF函数,lighthouse轻量应用服务器等等应用,并在上面部署了很多应用,也录制过一些视频。
上面列举的几个例子都可部署应用,在使用过程中,我发现serverless应用的日志分析最详细和直观,可视化和其它的日志信息也最为详细。
原来是serverless应用在调用云函数时,CLS日志服务已经默认接入CFS,CLS通过将采集到的日志作为参数传递来调用 SCF 云函数,函数代码可以对其进行数据加工处理、分析。非常直观和上手方便。
在SCF函数中我们还可以通过编写函数来配置CLS的告警策略,可见CLS的应用还是非常广泛的
10 给CLS服务的几个小建议
- 建议CLS日志服务多多宣传自己的产品,酒香也怕巷子深,扩大宣传和影响力,多多举办一些活动,征文活动或者视频征稿,让更多人参与进来
- 除了CLS的官方SDK文档外,希望多一些CLS部署教程,有利于小白和开发者快速入门,比较CLS日志服务虽然使用体验还不错,但是上手还是有一点门槛
- 日志告警策略希望可以让开发者自己设置告警信息接收时间段
- 增加对云开发cloudbase等其它腾讯云产品和腾讯云产品的日志部署管理服务的接入
- 在此给CLS日志服务打分,如果满分是10分的话,可以给到9分,继续加油! 希望腾讯云CLS日志服务越来越好!也希望越来越多的小伙伴加入CLS日志专栏中,一起助力CLS成长~