利用切片做网站背景图片,网站设计谈判,哪些网站的网站怎么做的,电商网站设计公司只选亿企邦#x1f4e2; 大家好#xff0c;我是 【战神刘玉栋】#xff0c;有10多年的研发经验#xff0c;致力于前后端技术栈的知识沉淀和传播。 #x1f497; #x1f33b; 近期刚转战 CSDN#xff0c;会严格把控文章质量#xff0c;绝不滥竽充数#xff0c;如需交流#xff… 大家好我是 【战神刘玉栋】有10多年的研发经验致力于前后端技术栈的知识沉淀和传播。 近期刚转战 CSDN会严格把控文章质量绝不滥竽充数如需交流欢迎留言评论。 文章目录 写在前面的话Rancher K8S服务管理Nacos注册配置中心SB Admin健康检查KibanaES面板Prometheus业务资源监控Grafana资源监控看板Zipkin链路追踪Skywalking链路追踪Kafka消息中间件总结陈词 写在前面的话
笔者所在公司下文简称“公司”开发采用前后端分离模式后端技术栈SpringCloud前端技术栈Vue/Nuxt。 由于整体涉及较多前端和后端服务因此才采用K8S进行容器编排部署同时为保障各项服务更好的运维监测也配套了诸多中间件。 本篇博文鉴于此背景挑选几个较为常见的中间件简单加以分享说明期望与君共勉。 Rancher K8S服务管理
【技术简介】 公司采用Kubernetes作为微服务部署方案Kubernetes 简称 K8S是一个开源的容器编排平台旨在简化容器化应用程序的部署、管理和自动化运维。 而Rancher 是一个完整的容器管理平台它提供了对Kubernetes等多种容器编排引擎的支持同时提供了额外的功能和工具用于简化容器集群的部署、管理和运维。
【能做什么】 简单理解Rancher是可视化操控K8S服务部署的管理页面下面就介绍一下Rancher的常用操作操作包含但不限于查看服务状态、查看容器日志和执行命令行、服务的启动停止等。 这些操作可以理解为把传统的Centos服务器上做的一些操作可视化了对开发人员更加友好。
【实操执行命令查看日志】
【实操重新部署应用】 重新部署应用一般用于业务出错时或者刚发布后业务无法访问时使用。
【增加应用副本】 当grafna上面的pods内存使用率过高是可以增加对应应用的副本数 注意增加副本可以随时增加但是减少副本要等没什么业务的时候再减少。 【查看容器日志 - 命令行方式】
进入装有kubectl的k8s节点服务器以查看收费后端容器日志为例它的容器名称为onelink-micro-charge一般和项目名、镜像名是一致的所属namespace为onelink不同环境的namespace可能不一样这个要和运维确认先查看pod列表
kubectl get pod -n onelink | grep onelink-micro-charge选择其中一个pod查看日志
# 最常用
# 从最近100行开始持续监控容器日志
kubectl logs -f --tail100 onelink-micro-charge-6cd766567f-ngptx -n onelink# 查看容器的全量日志
kubectl logs onelink-micro-charge-6cd766567f-ngptx -n onelink# 持续监控容器的全量日志
kubectl logs -f onelink-micro-charge-6cd766567f-ngptx -n onelink# 查看最近1小时的容器日志
kubectl logs --since1h onelink-micro-charge-7ccb64db88-7wss5 -n onelink# 查看2022-09-09 14:04:40之后的容器日志这个时间是UTC时间
kubectl logs --since-time2022-09-09T14:04:4000:00 onelink-micro-charge-7ccb64db88-7wss5 -n onelink【查看容器日志 - Rancher方式】
进入所在项目 查看pod列表 查看pod日志 Nacos注册配置中心
【技术简介】 公司由于后端技术栈为SpringCloudAlibaba因此采用Nacos作为注册中心和配置中心经常需要和 Nacos后台界面打交道上去看服务注册状态和常见配置信息等等。
【Nacos 能做什么】 注册中心能查看健康服务实例情况进行服务的上线/下线。 配置中心能查看当前的配置情况并支持做出相应的调整。 Nacos操作太简单了傻瓜式的具体不展开了有使用的开发基本可以理解。 Tips可以比对实例数是否跟K8S的PODS数不一致如果不一致可能是开发调试程序注册上来了。 SB Admin健康检查
【技术简介】 Spring Boot Admin 是一个用于监控和管理 Spring Boot 应用程序的开源项目。它提供了一个直观的 Web 界面用于监控多个 Spring Boot 应用程序的运行状态、健康状况、配置信息等并提供了一些管理功能如日志查看、应用程序重启等。 Spring Boot Admin 是建立在 Spring Boot Actuator 基础之上的它利用 Actuator 提供的监控和管理功能并在此基础上提供了更加直观和友好的界面帮助用户更方便地监控和管理 Spring Boot 应用程序。因此Spring Boot Admin 可以看作是 Actuator 的一个扩展和增强。 Spring Boot Admin 是一个非常实用的工具可以帮助开发团队更好地监控和管理 Spring Boot 应用程序提高应用程序的稳定性和可靠性。
【SB Admin 能做什么】
实时监控Spring Boot Admin 可以实时监控多个 Spring Boot 应用程序的运行状态和性能指标如内存使用情况、线程数、GC 日志等。
健康检查Spring Boot Admin 可以检查每个应用程序的健康状况并提供可视化的健康报告帮助用户快速识别出问题所在。
配置管理Spring Boot Admin 可以查看和修改每个应用程序的配置信息包括环境变量、配置文件等方便用户动态调整应用程序的配置。
日志查看Spring Boot Admin 可以查看每个应用程序的日志文件支持实时日志输出和搜索功能方便用户快速定位和解决问题。
事件通知Spring Boot Admin 支持事件通知机制当应用程序出现异常或状态变化时可以通过邮件、Slack 等方式通知管理员。
多租户支持Spring Boot Admin 支持多租户模式可以为不同的用户或团队提供独立的监控和管理界面。换通俗一点的话来说可以全局监控服务健康情况也可以查看单个服务的健康详情更多用法参考网上资料即可。
【展示效果】
【拓展 - 如何代码自定义指标】 1、实质是运行在监控服务的如下图所示 2、应用的监控指标扩展信息可以通过实现InfoContributor自定义如下图 Tips更多用法参考网上资料即可。 KibanaES面板
【技术简介】 Kibana是一个开源的数据可视化工具用于实时分析和可视化大规模数据集。它是 Elastic Stack 中的一个组件主要用于展示和分析 Elasticsearch 中的数据。 公司虽然单独开发了日志查阅界面用于查阅ES日志数据但毕竟编码阶段考虑有限。此时就可以直接使用Kibana中应用日志界面能看到的日志数据这边能看到更全利用的更好。
【Kibana 能做什么】 Kibana 能用在挺多地方包含但不限于如下 1、Discover 数据探索 – 快速检索ES索引数据比应用日志更灵活 2、Dev Tools 开发工具 - 手动写JSON查询 3、Visualize 可视化 – 导出最慢的N个接口 4、Dashboard 仪表盘 – 用的较少 下面附上两个功能截图这块可以实操一下先不展开介绍有需要另行补充。 Prometheus业务资源监控
【技术描述】 Prometheus 是一个开源的系统监控和报警工具包专为可靠性和可扩展性设计适用于动态的云原生环境。它最初由 SoundCloud 开发并于 2012 年开源。作为云原生计算基金会CNCF的重要项目之一Prometheus 在现代微服务和分布式系统中得到了广泛应用。
【实战运用】 笔者所在公司采用Prometheus监控所有服务、还包含各个中间件的状态。 框架层面也封装了自定义指标例如数据库和HTTP请求相关指标更多指标来源于各SpringBoot服务的/actuator/prometheus接口。 当生产环境遇到服务指标异常的时候可以打开Prometheus查看相应的指标信息。更复杂的指标推荐使用Grafana看板查看仪表盘。
【示例效果 - 查询自定义指标】 利用Prometheus排查收费服务的连接数。 Grafana资源监控看板
【技术描述】 1、将Prometheus的采集指标数据可视化展示出来 2、可以添加网上现场的模板库参考Grafana官网文档库也可以自己做一些看板
【查看仪表盘】 Zipkin链路追踪
【技术简介】 Zipkin 是一个开源的分布式跟踪系统用于收集、存储、搜索和可视化跨多个服务的跟踪数据。 Zipkin 主要负责收集整合所有服务生成的跟踪信息提供全局视图和跨服务的调用链分析功能。 Zipkin 接收由 Sleuth 生成的跟踪数据并将这些数据存储在后端存储系统中如 Elasticsearch、MySQL 等并提供了一个用户界面用于查询和可视化这些数据。 参考《企业实战分享 · Sleuth Zipkin 实现链路追踪》
【实战运用】 笔者所在公司将日志数据采集后统一存储在ES中并自研日志查询页面如下图 通过点击对应请求日志的链路追踪操作按钮可以跳转到Zipkin的展示页如下图 Skywalking链路追踪
【技术简介】 Apache SkyWalking 是一个开源的应用性能监控和分布式追踪系统主要用于监控、追踪和诊断分布式系统中的应用程序。它支持云原生、微服务和容器化环境帮助开发者和运维人员对系统的性能和行为进行全面的监控和分析。 Tips和Zipkin同为链路追踪产品。 【实战说明】 笔者所在公司其中的运维部门采用的链路追踪产品可以通过在服务器上安装Agent的方式从整体层面监控全局日志可覆盖所有产品线。 效果如下图 Kafka消息中间件
【技术简介】 Kafka是一个开源的分布式事件流平台Event Streaming Platform被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。 笔者所在公司采用Kafka开发了消息中心基于事件驱动机制管理系统内部消息交互本板块涉及内容较多后续另起专题介绍暂不展开。
【监控插件效果】
【自研监控页面】 总结陈词
上文简单介绍了几款公司当前在使用的运维中间件帮助大家学习。 作为普通开发人员可以不用熟悉全部的中间件但至少应该知道什么场景需要使用什么工具。 当然如果作为对技术有热情的可以单独一个个深入了解这里仅仅抛砖引玉。 后续会逐步分享企业实际开发中的实战经验有需要交流的可以联系博主。