大数据产品日志服务问题排查思路

阴转多云转晴 2019-07-09

大数据 服务器 日志 日志服务 配置 集群 容器 Logtail 正则表达式 索引 MaxCompute

1.使用Nginx配置要和服务器的的Nginx的配置一致。
2.数据投递到maxCompute丢失,考虑下日志服务中是否包含了/,会被maxCompute丢弃
3.需要把group by order by的字段设置成索引。
4.默认查询的时候,分钟级别数据一定是严格有序的。但是一分钟内,多个s级别数据不一定有序。如果有严格要求,可以使用排序语句
5.分词符包含的符号不允许再查询时整体查找(并且不建议使用中文符号作为分词符,如【】)。
6.count_if(x)/count()出来是整型的,需要0.1变成double
7.通过rsync复制的日志可能会采集重复。
8.K8S集群采集日志阿里云的NAS文件系统管理 挂载到容器需要将logtail也挂载到这个nas
9.where ip = "192.168.0.1"报错,需改成单引号
10.json格式的数据key必须是英文,gbk的话搜索中文时也有可能返回不符合条件的数据
11.同一时刻运行的SQL并发最大为15
12.logstore和RDS关联查询仅支持,北京、青岛、杭州。可以把日志服务迁移到青岛,RDS可以在上海
13.想要查询必须添加字段为索引字段或者开启了全文索引
14.跨region访问日志服务只能走公网入口,会有一定的延迟,建议使用全球加速。全球加速不会影响现有业务
15.ip_to_country(ip,'en')和ip_to_country_code(ip) 结果一样,语义不一样,一个是英文国家名,一个是国家编码
16.日志服务不支持删除日志数据(可以设置日志保存时间),也不支持Quick BI,一个文件只能被一个Logtail采集
17.直接搜索和* and 字段:关键字。直接搜索是全文检索,另一个是字段检索。
18.投递到OSS,如果需要删除OSS的日志,需要进行OSS的设置,设置生效要过了当天的12:00
19.现搜索的__time__不准确,可查询服务器的时区是否是UTC
20.不支持使用代码中的方法获取sql的结果数量,如果想要获取sql结果数量,可以在SQL外层嵌套count(1)获取行数
21.K8S容器,一个物理机上的所有容器对应一个logtail容器。
22.internal-alert-history 不可删除
23.自定义域名在全球加速中遇到。
24.索引包含中文生效以后之前的数据不会再生效,并且可以进行拆分查找。
25.split log lines fail:please check log_begin_regex 需查看行首正则表达式
26.web Tracking 默认支持https
27.目前日志服务查询时间范围指定,确实只支持精确到分,不支持精确到秒的,即使以前支持配置精确到秒,实际上还是有分钟级别的误差的
28.from后面只能加log,如果想使用count(*)可以使用group by
29.SDK支持跨logstore查询,界面不支持。
30.livetail除非集群或者docker,否则只能采集单台机器的日志
31.查询的索引显示null,是文本文档的格式,不支持,建议使用文本的索引来实现。
32.目前只支持中国地图,世界地图,高德地图。
33.换行符,定位不到,不支持,换行符也无法高亮显示
34.投递到maxCompute报权限问题。ODPS-0420095: Access Denied - Authorization Failed [4019], You have NO privilege 'odps:Describe' on {acs:odps:*:projects//tables/}.
应该是因为默认添加的权限丢失,在MaxCompute上运行下面三个命令重新添加一下权限,ODPS_PROJECT_NAME ODPS_TABLE_NAME替换成自己的项目名和表名
ADD USER aliyun$shennong_open@aliyun.com;
GRANT Read, List ON PROJECT ODPS_PROJECT_NAME TO USER aliyun$shennong_open@aliyun.com;
GRANT Describe, Alter, Update ON TABLE ODPS_TABLE_NAME TO USER aliyun$shennong_open@aliyun.com;

35.ListTopics 接口后续不再维护了,可能出现topic获取不全的情况
36.目前默认project下的logstore和shard限制都是200,正常情况都是够用的,尽量都建议合并同类日志使用相同logstore
37.jmespath.exceptions.UnknownFunctionError: Unknown function: map()
需要升级python版本到3.6 重新安装客户端测试一下,多半是版本兼容性的问题。
38.服务端5分钟内至多收到一次通知,每个机器人每分钟最多发送20条。
39.导出日志如果只有100条的话建议加上limit N 这里N取一个足够大的值,比如100000
40.目前还不支持使用代码中的方法获取sql的结果数量,如果想要获取sql结果数量,可以在SQL外层嵌套count(1)获取行数
41.日志服务一直显示"服务开通中,请稍等1分钟后进行重试",如果确认主账号绑定了ak,可以考虑是否开通了日志服务,开通地址:https://common-buy.aliyun.com/?commodityCode=sls#/open
42.sls告警多条告警的时候只能告警出来一条。
43.关键词过滤只有30个,超出的需要加到where条件里
44.分词符是ASCII码的,不能加上中文的【】您需要为该字段打开包含中的选项,去掉分词符中的【】,点击查询时关键字中会自动带上 【】,就可以查询出结果了
45.date_parse(substr(time,1,19),'%Y-%m-%d %T')用于配置2011-11-11 11:11:11.111
46.app_info.json文件ip相同。查询时候通过这个IP进行搜索会同时过滤出这几台的日志,其他基本无影响。IP是相同的吗?不影响采集,查询时候不能通过__source__ 进行过滤
47.告警包含source和路径。- [Context] ${Results[0].FireResult.__source__}和- [Context] ${Results[0].FireResult.__tag__:__path__}
48.判断null可以使用: length("result.data.token") = 0
49.getLogs方法 目前SQL分析返回的字段长度不能超过2K;关键字过滤返回字段长度不超过10K,没办法改变这个限制的。
50.dataworks投递日志时字段: time 用 C_LogTime;__source__ 用 C_Source;__topic__ 用 C_Topic;tag字段,使用冒号后面的字段
51.日志服务订阅仪表盘权限:CreateJob。project级别的
修改,取消,查看等: CreateJob、UpdateJob、GetJob、ListJobs、DeleteJob
52.关闭统计功能之后写入的数据没办法通过SQL查询,返回的就是null,可以通过select * from log where进行过滤
53.控制台分享内嵌进自建网站iframe里,默认不支持设置黑色主题,如果是浏览器直接添加?theme=dark,iframe中需要增加sls_iframe=true

登录 后评论
下一篇
corcosa
16963人浏览
2019-10-08
相关推荐
Oracle故障排查思路
1346人浏览
2018-09-11 15:16:19
分析网络超时问题的最佳实践
2162人浏览
2019-05-13 14:04:02
如何快速处理线上故障
917人浏览
2017-05-15 10:12:00
捣蛋SQL导致实例iops 100%
3573人浏览
2016-05-18 16:42:06
线上PHP问题排查思路与实践
3391人浏览
2016-04-12 17:39:04
Mysql 高负载排查思路
685人浏览
2017-11-22 00:57:00
Mysql 高负载排查思路
713人浏览
2017-11-22 17:09:00
RocketMQ问题排查思路
329人浏览
2019-07-09 08:44:53
0
0
0
480