日志服务(Cloud Log Service
,CLS
)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。?
一个常见的应用场景就是采集Nginx
访问日志。正常运维自然是SSH
登录到云主机上去查看访问日志,而接入CLS
之后就在腾讯云控制台就可以看到日志了,可以使用Lucene
的语法进行搜索,其实也就相当于ES
的采集LOG
那套东西,只不过腾讯云都给封装好了,对于部分云产品已经接入了可以直接在对应的云产品出打开开关,其他云产品比如内网的云主机可以使用LogListener
采集端,至于最后保本也提供有API
的采集方式
首先在控制台开通日志服务,然后快速接入
LogListener
,参照https://cloud.tencent.com/document/product/614/17414LogListener
暂仅支持Linux
,于是这里拿一台CentOS
进行演示
LogListener
[root@CentOS ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [root@CentOS ~]# 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 --2021-05-06 21:37:59-- https://loglistener-1254077820.cos.ap-shanghai.myqcloud.com/loglistener-linux-x64-2.5.6.tar.gz Resolving loglistener-1254077820.cos.ap-shanghai.myqcloud.com (loglistener-1254077820.cos.ap-shanghai.myqcloud.com)... 119.28.38.63, 119.28.39.146, 119.28.206.40, ... Connecting to loglistener-1254077820.cos.ap-shanghai.myqcloud.com (loglistener-1254077820.cos.ap-shanghai.myqcloud.com)|119.28.38.63|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3808347 (3.6M) [application/x-gzip] Saving to: 'loglistener-linux-x64-2.5.6.tar.gz' 100%[================================================>] 3,808,347 525KB/s in 8.2s 2021-05-06 21:38:09 (452 KB/s) - 'loglistener-linux-x64-2.5.6.tar.gz' saved [3808347/3808347] loglistener-2.5.6/ loglistener-2.5.6/version.txt loglistener-2.5.6/bin/ loglistener-2.5.6/bin/loglistener loglistener-2.5.6/bin/gethostip loglistener-2.5.6/bin/loglisteneru loglistener-2.5.6/bin/getmd5 loglistener-2.5.6/bin/getmac loglistener-2.5.6/bin/check loglistener-2.5.6/bin/loglistenerm loglistener-2.5.6/bin/check_net loglistener-2.5.6/bin/check_key loglistener-2.5.6/bin/loglistener.2.5.6 loglistener-2.5.6/bin/getip loglistener-2.5.6/update/ loglistener-2.5.6/update/update.data.temple loglistener-2.5.6/etc/ loglistener-2.5.6/etc/loglistener.conf.temple loglistener-2.5.6/tools/ loglistener-2.5.6/tools/loglistenerd.service loglistener-2.5.6/tools/loglistenerd.temple loglistener-2.5.6/tools/loglistener.sh loglistener-2.5.6/tools/update.py [OK] check dependencies ok [RESULT] install loglistener success,use './loglistener.sh init' to init loglistener's config [root@CentOS tools]# cd /usr/local/ [root@CentOS local]# cd loglistener/tools -bash: cd: loglistener/tools: No such file or directory [root@CentOS local]# ll total 76 drwxr-xr-x 2 root root 4096 Nov 28 20:11 bin drwxr-xr-x 6 root root 4096 Jan 11 2020 curl drwxr-xr-x 4 root root 4096 Nov 28 20:11 etc drwxr-xr-x 2 root root 4096 Apr 11 2018 games drwxr-xr-x 6 root root 4096 Sep 24 2020 include drwxr-xr-x 7 root root 4096 Nov 28 19:40 lib drwxr-xr-x 2 root root 4096 Sep 24 2020 lib64 drwxr-xr-x 3 root root 4096 Nov 28 2019 libexec drwxr-xr-x 6 root root 4096 Jan 11 2020 libiconv drwxr-xr-x 8 root root 4096 May 6 21:38 loglistener-2.5.6 drwxr-xr-x 3 root root 4096 Jan 11 2020 man drwxr-xr-x 3 root root 4096 Feb 17 2020 n drwxr-xr-x 11 root root 4096 Oct 12 2019 nginx drwxr-xr-x 9 root root 4096 Jan 11 2020 openssl drwxr-xr-x 6 root root 4096 Mar 7 2020 python3 drwxr-xr-x 2 root root 4096 Nov 28 2019 sbin drwxr-xr-x 11 root root 4096 Sep 24 2020 share drwxr-xr-x 2 root root 4096 Apr 11 2018 src drwxr-xr-x 16 root root 4096 May 6 19:59 v2-ui [root@CentOS local]# cd loglistener-2.5.6/tools/ [root@CentOS tools]# ll total 88 -rwxr-xr-x 1 root root 20550 Apr 23 22:08 loglistener.sh -rw-r--r-- 1 root root 224 Apr 23 22:08 loglistenerd.service -rwxr-xr-x 1 root root 9346 Apr 23 22:08 loglistenerd.temple -rw-r--r-- 1 root root 47020 Apr 23 22:08 update.py
LogListener
其中的参数说明如下,这里指定了机器标识并使用了外网访问,如果是云主机则推荐使用默认的内网访问
LogListener
点击查看可以看到具体的机器状态为正常
这里使用的是BT
面板:
nginx_access.log
Nginx
配置直接把配置文件里写的粘贴过来会自动生成正则表达式,可以拿一条日志才测试切割是否正确
其实对于ES
就是index
的类型配置
通过以上步骤就完整的创建完一个日志主题了,来总览看一下(可以跳过这部分图
索引生效一般有60s延迟
没错,可能是ES
的refresh_interval
被设置成了60s
先不输入任何搜索词,可以看到历史日志全当成集中在一个时间段范围索引进来了
然后后续的新日志基本上和Nginx
记录的时间相差没有太多,这里应该是访问日志从云主机上传到CLS
网络请求的耗时
使用精确搜索举例
http_user_agent: "DNSPod-Monitor/2.0"
其他的搜索方法还有很多,可以用Lucene
的语法,参照:https://cloud.tencent.com/document/product/614/47044
然后,来使用ES
强大的聚合查询能力,比如绘制状态码饼图
分析语法示例:
* | select status, count(*) as count group by status
事先触发一次404
的访问,可以看到很快就能检索到了
自己手里只有几台云主机,平常拿SSH
或者运维面板去查看日志。但是如果再增加一个数量级的话,显然这不是一件现实的事情,势必需要一套日志采集的系统,常用的ELK
套件自然是一种选择,对比腾讯云的CLS
可参考下图
并且CLS
也提供了日志投递,并且也支持当做grafana
的数据源……
最后就是文中所说的时间戳的问题了,对于Nginx
这种日志中带时间戳的文本日志,存入CLS
之后自己更关注的是日志的生成时间,而不是采集Agent
存入CLS
的时间,这样历史数据就也能使用常规思维进行数据处理和分析了
云服务器 最便宜多少钱一台? 云服务器 的价格主要由配置决定,配置越低,价格也...
SAP CEO孟鼎铭(Bill McDermott) 钛媒体注:6月20日,全球首席执行官委员会第七届...
通过使用弹性伸缩所提供的接口,您可以完整的使用弹性伸缩的所有功能,例如创建...
经过六十余年的发展,人工智能(AI)及 机器学习(ML)已经成为新一轮产业变革的...
“智慧校园”建设着眼于未来校园IT规划 无论是教学、科研 还是决策、管理 都可以...
买 高防服务器 哪里便宜?高防服务器的价格,是根据服务器防护能力和服务器配置...
客户简介 大姨吗问世于2012年,是一款以经期健康为核心,关爱女性健康的手机应用...
近期,阿里云数据安全中心通过中国信通院数据安全产品能力验证测试,数据脱敏、...
阿里云智慧校园解决方案让教育教学全场景数据贯通 用人工智能使师生减负增效 促...
两周前,很多人在网上看了微软全球技术大会Ignite 2021,看到了很多亮眼的技术,...