先说个场景你肯定熟:半夜三点,监控电话响了,你 SSH 跳上第一台机器,grep;再跳第二台,grep;跳到第五台,忘了是哪台出的问题。等你在五台机器之间来回蹦跶的时候,老板在电话里的语气已经从"看看咋了"变成了"还没搞定?"。我以前就是这么熬的,直到把全套日志搬上了日志服务 SLS。这篇不讲入门安装,讲从采集到告警这条链路上,我花钱花时间换来的经验。
一、采集:一次配好,别让日志裸奔
SLS 的采集路子很全:LoongCollector 采集 agent、API、SDK、标准协议,还有云产品日志——主流云产品的日志基本都能一键接入,官方说法是覆盖 98% 以上常见数据源。我第一次迁的时候犯过傻,给二十台机器一台一台装 agent 改配置,后来才知道云产品日志在控制台点几下就完事,白白搭进去一个下午。
网络接入支持阿里云内网、公网、专线三种,我的选择是内网优先——日志量大的时候,公网流量费也是一笔钱。
二、查询:从"grep 五分钟"到"SQL 一秒钟"
日志采进来之后是 LogStore,查询直接写 SQL。官方的性能数字是每秒可查询千亿行日志、分析数十亿行,百万时间线秒级计算。我实测二十亿行级别的访问日志做聚合分析,秒级出结果——对比以前在机器上 grep 到天荒地老,这是质变。
两个进阶功能值得知道:跨 LogStore 查询(StoreView),多个日志库一起查,不用把数据倒来倒去;数据加工,入库前先清洗、提取字段、脱敏,别把原始脏日志直接全量存着,存得越乱,查得越慢,账单还越贵。
三、告警:这套链路里最值钱的一环
采集和查询是基本功,告警才是让你半夜能睡觉的东西。SLS 的告警是拿查询结果直接触发:查询结果超过阈值就报警,通知渠道该有的都有——短信、电话、钉钉、飞书、企业微信、Webhook、消息队列。我的配置是:一级告警(错误率突增)走电话 + 短信,二级告警(延迟变高)走钉钉。从此监控告警从"人盯着屏幕"变成"规则自动跑",这就是我从"跳五台机器"进化到"睡整觉"的关键一步。
顺带说个舒服的功能:数据看板可以免密分享到钉钉,产品经理自己想看数据就自己看,不用再来找你导出 Excel 了。
四、计费:三个我踩过的坑
按量计费模式下,费用主要出在写入流量、索引、查询、存储四块上,我踩过的坑按惨烈程度排:
坑一:索引全开,账单翻倍。 索引是要收费的,字段全建索引最省事也最贵。正确姿势是只给高频查询字段建索引,冷字段查询时再说——我有个服务图省事全量索引,一个月索引费比写入费还高,后来砍掉一半字段,查询照样跑。
坑二:原始日志全量长期存。 存储也是钱,放个一年半载比写入还贵。正确姿势是生命周期管理:热数据留 7~15 天,温数据转低频,冷数据定期投递到 OSS 归档。成本直接砍到脚踝。
坑三:不知道有免费额度。 新用户首次开通按数据写入量计费模式,首月有 50GB 免费写入量——我当年是闷头付费了小半年才知道,感觉亏了一个亿。
官方口径是 TCO 低于自建 50%,哈啰出行把 Kafka、ES、ClickHouse 三件套整体迁到 SLS,累积省了 30% 成本——有自建 ELK 的朋友可以对标这个数字算算账。
五、什么情况别用它
如果日志要存好几年而且基本不查(纯合规归档),直接投递 OSS 深度冷存更便宜;如果是强事务型业务日志分析,该用数据库还是用数据库。SLS 的甜区是"量大、要查、要告警"的可观测数据——Log、Metric、Trace 都归它管。
可靠性方面它也扛得住:三副本存储,SLA 99.99%,支持 HTTPS 加密传输和服务器端加密,敏感日志还能用 KMS 自带密钥(BYOK)加密。这套配置在等保检查里直接过关,省了我一轮解释。
如果你还在五台机器之间半夜蹦跶,可以去日志服务产品页开一个 LogStore 试试,先把最吵的那个服务的日志接进来,配两条告警规则,跑一周——我赌你会回来关掉那个三点响的监控电话。