做菜讲究火候,系统运维也讲时机。厨房里油烟机响不响、燃气灶火力稳不稳,得靠经验听;服务器跑没跑偏、程序有没有报错,就得看日志。现在越来越多团队开始用日志分析平台来盯系统状态,就像用智能锅定时提醒煮汤时间一样省心。
ELK Stack:老牌全能选手
ELK 是 Elasticsearch、Logstash、Kibana 的合称,江湖地位就像厨房里的三件套——刀、砧板、锅。Elasticsearch 负责存和搜日志,Logstash 搞数据采集和清洗,Kibana 做可视化面板。比如你部署了个网站,用户一提交表单就报错,用 Kibana 画个折线图,马上看出错误量在某分钟突增,再翻原始日志定位代码行。
它支持各种格式的日志输入,配置灵活。简单场景可以直接用 Filebeat 把日志文件传给 Elasticsearch:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/nginx/*.logSplunk:企业级大户人家的选择
如果你公司系统复杂,日志量动不动每天上TB,那可能得上 Splunk。这玩意儿像高端集成灶,功能全、界面 slick,还能写类 SQL 的搜索语句查日志。比如输入 source=login error | stats count by ip,就能揪出哪个IP在暴力试密码。
缺点是贵,小团队可能觉得“杀鸡用牛刀”。但它自带告警、仪表盘、权限管理,适合金融、医疗这类对合规要求高的行业。
Grafana Loki:轻量省钱新宠
不想搭 ELK 那么重?试试 Grafana 出品的 Loki。它专为日志设计,不索引全文,只存日志内容,靠标签(labels)来查,省存储又快。适合和 Prometheus 搭配用,一个监指标,一个看日志。
比如你在 Kubernetes 里跑服务,Pod 名叫 web-5d8s9,出了问题直接在 Grafana 里选这个实例标签,刷出它的所有日志,不用再登录服务器 grep。
阿里云SLS、腾讯云CLS:国内上云首选
很多公司用阿里云或腾讯云,那直接用它们的日志服务最方便。开通就行,不用自己维护集群。比如阿里云 SLS,创建个项目和日志库,几行命令把 Nginx 日志传上去,马上能出访问量趋势图、热门路径排行。
而且和云监控打通,比如检测到4xx错误率超过5%,自动发短信给你。就像电饭煲煮糊了会“滴滴”叫,系统出问题也能及时知道。
选哪个平台,其实跟做饭选锅类似:人少家常做,用普通不粘锅(Loki);宴客多菜齐上,得用大灶台(Splunk);喜欢自己搭,那就买全套厨具(ELK)。关键是根据团队规模、技术栈和预算来定,别盲目追新,也别死守老法子。