10 分钟在K8s 中部署轻量级日志系统 Loki
转载至我的博客 https://www.infrastack.cn ,公众号:架构成长指南
Loki 是什么?
Loki是由Grafana Labs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用了分布式的架构,并且与Prometheus、Grafana密切集成,可以快速地处理大规模的日志数据。该项目受 Prometheus 启发
- Promtail是代理,负责收集日志并将其发送给 Loki 。
- Loki 是主服务器,负责存储日志和处理查询。
- Grafana则 用于 UI 展示。
与ELK相比优势在哪里?
ELK是大规模日志解决方案中的佼佼者说到Loki,免不了要拿来跟ELK做个对比
- 架构简单:Loki 则采用分布式架构、可以将日志存储在多个节点上,也可以存储在一个节点上,其中Promtail进行日志收集、Loki 负责存储查询、Grafana用于展现
- 存储更小:Loki使用了紧凑的索引和压缩算法,相比ES 可以减少不少存储空间
- 没有采集日志格式要求:提供了更大的灵活性以及在查询时格式化的选项
- 与 Prometheus、Grafana 和 K8s 原生集成:可以在单个用户界面中无缝切换查询指标、日志等数据
- 轻量级:相比ELK,Loki更加轻量级,因为它不需要一个单独的Elasticsearch集群来存储和索引日志数据
如何采集数据?
k8s 集群不提供日志收集的解决方案,一般来说有3 种方案来做日志收集:
- 在Node节点上运行一个 agent 来收集日志(DaemonSet 采集方式)
- 在 Pod 中包含一个 sidecar 容器来收集应用日志(sidecar 采集方式)
- 由应用程序将日志信息推送到采集后端(主动采集方式)
节点采集方式
日志系统会以DaemonSet 方式是在每个node 节点上部署一个agent,来采集这个节点上所有的日志,默认会收集k8s 下/var/log/pod 、/var/lib/docker/containers下的日志,对应用程序的要求就是开启控制台打印,否则会收集不到日志,比较适用于功能单一或业务不是很多的集群;
Sidecar采集方式
Sidecar 方式会在每一个Pod中部署一个 sidecar 容器,来进行当前容器的日志采集,有多少个 pod,就会有多少个Sidecar容器,因此Sidecar相对资源占用较多,但灵活性以及多租户隔离性较强,适合大型的 K8s 集群使用,因为除了占用资源多点,采集性能不会有影响
Loki的Pormtail同时支持以上两种方式,默认为节点采集方式,下面我们演示如何在k8s 中快速部署一个Loki日志分析系统
Loki 部署
添加仓库
helm repo add grafana https://grafana.github.io/helm-charts
下载仓库
helm pull grafana/loki-stack
解压包
解压完成以后,可以查看相关参数的使用
tar -xvf loki-stack-2.10.0.tgz
配置概览
此Chart不止包含了Loki 、promtail、grafana,还包括其他组件,但是默认未开启,只开启了Loki 、promtail,这里为了演示,也开启grafana配置,通过grafana.enabled=true指定,同时如果要指定相关子 chart 参数,根据子 chart 名称.参数进行指定,比如要指定的grafana 的admin 密码,可以用grafana.adminPassword=admin指定
启动
注意:启动示例没有对日志数据进行持久化处理,正式部署要进行持久化配置
loki-stack中Grafana 的密码获取比较复杂,所以直接通过参数指定
helm install loki ./loki-stack -n loki-stack \ --set grafana.enabled=true \ --set grafana.adminPassword=admin \ --create-namespace
以上启动完成以后,会收集/var/log/pod 、/var/lib/docker/containers日志信息,
查看启动pod,由于本人k8s 集群有 6 个node节点,所以部署了6 个promtail
Grafana访问
修改 Grafana 为 nodeport 访问方式
kubectl edit svc loki-grafana -n loki-stack
登录成功以后,访问Explore 功能,并点击Log browser按钮,会看到已经采集相关数据,并自动创建
app、component、container、namepsace、pod等多个维度的 labels
比如要查看 ingress 的日志,选择命名空间为ingress-nginx并点击 show logs
同时查询结果可以支持换行、日期排序等功能
以上默认的查询界面,使用起来可能没那么顺手,那么可以根据需求去定制不同的查询界面,在https://grafana.com/grafana/dashboards中输入 loki,可以下载感兴趣的Dashboard
loki卸载
helm uninstall loki -n loki-stack
总结
以上我们快速演示了如何在 k8s 中部署一个Loki,可以看到非常简单,由于Loki 对k8s友好支持,默认就可以采集到pod、namespace 等标签数据,不需要额外配置,但是要达到生产级可用,还需要对 Loki的数据进行持久化配置、同时要根据采集日志数据的大小做好采集速率调整、以及日志过期策略设置
Shadowrocket配置全攻略:从入门到精通的科学上网指南
在当今互联网环境下,科学上网已成为许多用户的刚需。作为iOS平台上广受欢迎的代理工具,Shadowrocket凭借其强大的功能和灵活的配置选项,赢得了大量用户的青睐。本文将为您提供一份详尽的Shadowrocket配置指南,从基础安装到高级设置,手把手教您掌握这款工具的使用技巧。
一、Shadowrocket简介与下载安装
Shadowrocket是一款专为iOS设备设计的代理工具,它支持多种代理协议,包括SS/SSR、V2Ray、Trojan等,能够帮助用户突破网络限制,访问全球互联网资源。
1.1 设备要求
要使用Shadowrocket,您需要:
- 一台运行iOS系统的iPhone或iPad
- 设备最好运行较新版本的iOS系统以获得最佳兼容性
- 虽然越狱设备可以更灵活地安装,但非越狱设备同样可以通过正规渠道使用
1.2 下载安装方法
目前,Shadowrocket在中国区App Store已经下架,用户可以通过以下途径获取:
- 切换至其他地区App Store:如美国、香港等地区的App Store仍可搜索下载
- 使用企业签名版:一些第三方平台提供企业签名的版本
- 通过TestFlight测试:官方偶尔会开放TestFlight测试名额
安装时需注意:从非官方渠道获取的应用可能存在安全风险,建议用户谨慎选择下载来源。
二、基础配置详解
成功安装Shadowrocket后,接下来就是关键的配置环节。正确的配置是确保代理正常工作的前提。
2.1 添加服务器配置
打开Shadowrocket应用,您将看到简洁的主界面。点击右下角的"+"按钮开始添加服务器:
手动输入配置:
- 类型:选择适合的协议(SS/SSR/V2Ray等)
- 服务器:填写服务器IP或域名
- 端口:输入服务商提供的端口号
- 密码/加密方式:根据服务商提供的信息填写
扫描二维码导入:
许多服务商提供二维码配置方式,只需点击"扫描"按钮即可快速导入导入配置文件:
如果您有现成的配置文件(.json或.conf格式),可以通过iTunes或AirDrop导入
2.2 连接与测试
配置完成后,返回主界面:
- 滑动顶部的开关启用代理
- 选择您刚添加的服务器
- 点击"连接"按钮建立链接
连接成功后,状态栏会显示VPN图标,您可以通过访问google.com等网站测试是否生效。
三、高级配置优化
为了让Shadowrocket发挥最佳性能,您还可以进行以下高级设置:
3.1 规则配置
Shadowrocket的强大之处在于其灵活的规则系统:
- 代理规则:指定哪些网站或IP走代理
- 直连规则:设置哪些国内网站直接连接
- 阻止规则:屏蔽广告或恶意网站
建议初学者可以导入现成的规则集,如"ConnersHua"或"ACL4SSR"等知名规则。
3.2 DNS设置
优化DNS可以显著提升访问速度:
- 进入设置 > DNS
- 启用"覆盖系统DNS"
- 添加可靠的DNS服务器,如:
- 1.1.1.1(Cloudflare)
- 8.8.8.8(Google)
- 119.29.29.29(DNSPod)
3.3 性能调优
- MTU设置:适当调整MTU值可以改善网络性能
- 路由模式:根据网络环境选择"全局"或"规则"模式
- UDP转发:游戏或视频通话建议开启
四、常见问题解决方案
即使按照指南配置,用户仍可能遇到各种问题。以下是几个典型问题及解决方法:
4.1 连接失败排查
- 检查服务器状态:确认服务器是否在线
- 验证配置信息:特别是密码和加密方式是否匹配
- 更换网络环境:尝试切换WiFi/4G网络
- 检查时间设置:确保设备时间与服务器时区一致
4.2 速度慢的优化
- 更换节点:选择地理位置更近或负载较低的服务器
- 调整加密方式:轻量级加密(如chacha20)可能提升速度
- 启用压缩:如果服务商支持,可以开启数据压缩
- 关闭IPv6:在设置中禁用IPv6可能改善兼容性
4.3 其他常见问题
- 应用闪退:尝试重启设备或重新安装应用
- 部分网站无法访问:检查规则配置,可能需要添加例外
- 电池消耗快:适当调整心跳间隔和后台刷新设置
五、安全使用建议
科学上网虽便利,但安全不容忽视:
- 选择可信服务商:避免使用来路不明的免费代理
- 定期更换密码:特别是共享账号的情况下
- 敏感操作谨慎:避免在代理环境下进行银行交易等敏感操作
- 关注软件更新:及时更新Shadowrocket以获取安全补丁
六、总结与点评
Shadowrocket作为iOS平台上的代理工具翘楚,其优势在于:
- 协议支持全面:几乎涵盖所有主流科学上网协议
- 配置灵活:从简单连接到高级规则都能满足
- 性能出色:经过优化的连接稳定且快速
- 界面友好:即使是新手也能快速上手
然而,使用这类工具也存在一定门槛。通过本文的详细指南,相信读者能够掌握Shadowrocket的配置精髓。需要强调的是,技术本身是中性的,关键在于如何使用。我们鼓励读者在遵守当地法律法规的前提下,合理使用这类工具获取知识、拓展视野。
最后提醒:网络环境复杂多变,保持学习心态,及时关注相关技术动态,才能更好地驾驭这些工具,让互联网真正成为获取信息的自由之窗而非束缚之墙。
版权声明:
作者: freeclashnode
链接: https://www.freeclashnode.com/news/article-3164.htm
来源: FreeClashNode
文章版权归作者所有,未经允许请勿转载。
热门文章
- 6月27日|18.9M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 6月23日|21.1M/S,Clash(小猫咪)/Shadowrocket(小火箭)/V2ray免费节点订阅链接每天更新
- 6月28日|22.2M/S,V2ray/Clash(小猫咪)/Shadowrocket(小火箭)免费节点订阅链接每天更新
- 6月26日|23M/S,Clash(小猫咪)/V2ray/SSR免费节点订阅链接每天更新
- 6月22日|18.4M/S,V2ray/Shadowrocket(小火箭)/Clash(小猫咪)免费节点订阅链接每天更新
- 6月24日|19.8M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 7月1日|21.7M/S,Clash(小猫咪)/V2ray/Shadowrocket(小火箭)免费节点订阅链接每天更新
- 6月29日|20.9M/S,Shadowrocket(小火箭)/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 7月2日|20.9M/S,Clash(小猫咪)/SSR/V2ray免费节点订阅链接每天更新
- 6月30日|22.7M/S,Clash(小猫咪)/Shadowrocket(小火箭)/V2ray免费节点订阅链接每天更新
最新文章
- 7月17日|22M/S,Shadowrocket(小火箭)/Clash(小猫咪)/V2ray免费节点订阅链接每天更新
- 7月16日|20.3M/S,SSR/Clash(小猫咪)/V2ray免费节点订阅链接每天更新
- 7月15日|22.9M/S,Clash(小猫咪)/SSR/V2ray免费节点订阅链接每天更新
- 7月14日|22.8M/S,Clash(小猫咪)/V2ray/SSR免费节点订阅链接每天更新
- 7月13日|19.9M/S,Clash(小猫咪)/Shadowrocket(小火箭)/V2ray免费节点订阅链接每天更新
- 7月12日|22.3M/S,Clash(小猫咪)/V2ray/Shadowrocket(小火箭)免费节点订阅链接每天更新
- 7月11日|21.4M/S,Clash(小猫咪)/V2ray/Shadowrocket(小火箭)免费节点订阅链接每天更新
- 7月10日|21.6M/S,V2ray/Shadowrocket(小火箭)/Clash(小猫咪)免费节点订阅链接每天更新
- 7月9日|19.6M/S,SSR/V2ray/Clash(小猫咪)免费节点订阅链接每天更新
- 7月8日|22.1M/S,Shadowrocket(小火箭)/Clash(小猫咪)/V2ray免费节点订阅链接每天更新