当前位置: 首页 > news >正文

django企业网站开发实例河南网站制作公司

django企业网站开发实例,河南网站制作公司,wordpress修改访问路径,杭州建设工程招标平台官网一、概念 1、什么是 APM 系统#xff1f; APM#xff08;Application Performance Management#xff09;即应用性能管理系统#xff0c;是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理#xff0c;主要指对企业的关键业务应用…一、概念 1、什么是 APM 系统 APMApplication Performance Management即应用性能管理系统是对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案。应用性能管理主要指对企业的关键业务应用进行监测、优化提高企业应用的可靠性和质量保证用户得到良好的服务降低总拥有成本。 APM 系统是可以帮助理解系统行为、用于分析性能问题的工具以便发生故障的时候能够快速定位和解决问题。 目前主流的产品都是借助 Google 的 Dapper 论文实现的以下是 Dapper 的翻译版本《Dapper大规模分布式系统的跟踪系统》 主流的 APM 系统 1. 日志ELK Stack ELK Stack 是一个流行的工具套件功能涵盖监控、日志和数据可视化。它由 ElasticSearch, Logstash, and Kibana 三部分组成。其中Elasticsearch 负责搜索和分析Logstash 是日志聚积器而 Kibana 则提供华丽的可视化仪表盘。 2. 指标Prometheus Prometheus 是一套开源的系统监控报警框架。它受启发于 Google 的 Brogmon 监控系统由工作在 SoundCloud 的前 google 员工在 2012 年创建作为社区开源项目进行开发并于 2015 年正式发布。 2016 年Prometheus 正式加入 Cloud Native Computing FoundationCNCF基金会的项目成为受欢迎度仅次于 Kubernetes 的项目。2017 年底发布了基于全新存储层的 2.0 版本能更好地与容器平台、云平台配合。 Prometheus 作为新一代的云原生监控系统目前已经有超过 650位贡献者参与到 Prometheus 的研发工作上并且超过 120项的第三方集成。 3. 链路追踪Skywalking 一个开源的可观测平台用于从服务和云原生基础设施收集分析、聚合及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统甚至横跨多个云平台。SkyWalking 更是一个现代化的应用程序性能监控Application Performance Monitoring系统, 尤其专为云原生、基于容器的分布式系统设计。 2、为什么使用 Skywalking 2.1、核心功能 服务、服务实例、端点(URI)指标分析根本原因分析。在运行时上分析由进程内代理和ebpf分析器支持的代码。业务拓扑图分析服务实例和端点(URI)依赖关系分析服务和端点检测速度慢性能优化分布式跟踪和上下文传播数据库访问指标。检测慢速数据库访问语句(包括SQL语句)消息队列性能和消耗延迟监视浏览器性能监控基础设施(虚拟机、网络、磁盘等)监控跨指标、跟踪和日志的协作告警 2.2 特点 java生态功能丰富社区活跃迭代迅速链路追踪、拓扑分析的能力强插件丰富探针无侵入。采用先进的流式拓扑分析设计多语言支持微内核 插件的架构存储、集群管理、使用插件集合都可以进行自由选择。为多种开源项目提供了插件为 Tomcat、 HttpClient、Spring、RabbitMQ、MySQL 等常见基础设施和组件提供了自动探针。优秀的可视化效果。 3、关键概念 SkyWalking 为 服务(service), 服务实例(service instance), 以及 端点(endpoint) 提供了可观测能力。服务(Service), 实例(Instance) 以及 端点(Endpoint) 等概念在如今随处可见 服务 表示对请求提供相同行为的一组工作负载。 在使用打点代理或 SDK 的时候,你可以定义服务的名字SkyWalking 还可以使用在 Istio 等平台中定义的名称。服务实例 上述的一组工作负载中的每一个工作负载称为一个实例。就像 Kubernetes 中的 pods 一样服务实例未必就是操作系统上的一个进程。但当你在使用打点代理的时候一个服务实例实际就是操作系统上的一个真实进程。端点 对于特定服务所接收的请求路径, 如 HTTP 的 URI 路径和 gRPC 服务的类名 方法签名。 4、架构 组件 探针Agent Agent 运行在各个服务实例中负责采集服务实例的 Trace 及 Metrics 信息数据然后通过 HTTP/gRPC 方式上报给 SkyWalking 服务端 服务端OAP OAP SkyWalking 服务端 分析引擎(Analysis Core) 接收上报的数据进行流式分析最终将分析结果写入到存储中 查询引擎(Query Core) 响应 UI 界面的查询请求将数据查询出来返回给界面展示 存储Storage 通过开放的插件化的接口存放 SkyWalking 数据. 你可以选择一个既有的存储系统, 如 ElasticSearch, H2 或 MySQL 集群(Sharding-Sphere 管理),也可以选择自己实现一个存储系统. 当然, 我们非常欢迎你贡献新的存储系统实现。 用户界面UI 一个基于接口高度定制化的Web系统用户可以可视化查看和管理 SkyWalking 数据。 5、设计目标 保持可观测性 不管目标系统如何部署, SkyWalking 总要提供一种方案或集成方式来保持对目标系统的观测, 基于此, SkyWalking 提供了数种运行时探针。 拓扑结构 拓扑结构, 性能指标和追踪一体化. 理解分布式系统的第一步是通过观察其拓扑结构图. 拓扑图可以将复杂的系统在一张简单的图里面进行可视化展现. 基于拓扑图运维支撑系统相关人员需要更多关于服务/实例/端点/调用的性能指标. 链路追踪(trace)作为详细的日志, 对于此种性能指标来说很有意义, 如你想知道什么时候端点延时变得很长, 想了解最慢的链路并找出原因. 因此你可以看到, 这些需求都是从大局到细节的, 都缺一不可. SkyWalking 集成并提供了一系列特性来使得这些需求成为可能, 并且使之易于理解. 轻量级 有两个方面需要保持轻量级. (1) 探针, 我们通常依赖于网络传输框架, 如 gRPC. 在这种情况下, 探针就应该尽可能小, 防止依赖库冲突以及虚拟机的负载压力(例如 JVM 永久代内存占用压力). (2) 作为一个观测平台, 在你的整个项目环境中只是次要系统, 因此我们使用自己的轻量级框架来构建后端核心服务. 所以你不需要部署并维护大数据相关的平台, SkyWalking 在技术栈方面应该足够简单。 可插拔 SkyWalking 核心团队提供了许多默认实现, 但这肯定是不够的, 也不可能适用于每一种场景, 因此我们提供了大量的特性来支持可插拔功能。 可移植 二、快速入门 1、部署 OAP 服务 1.1 下载安装包 找到SkyWalking 下载页面 1下载 Foundations 中的 SkyWalking APM选择 Distribution 版本下载Source 为源码版本 2)在 Agents 中下载你需要的 Agent这里我们下载 Java Agent 同样也选择 Distribution 版本 SkyWalking APM下载地址 Java Agent下载地址 Elasticsearch下载地址 1.2 修改配置文件并启动服务 1解压 apache-skywalking-apm-9.3.0.tar.gz 并修改 config/applications.yml 文件 找到 storage selector 将其修改 ${SW_STORAGE:elasticsearch} 根据自己需求决定是否修改命名空间、es连接地址、用户名密码等 2进入 bin 目录选择启动脚本运行 startup.sh会先后启动 OAP 服务与 UI 服务 oapService.sh单独启动 OAP 服务第一次启动需初始化数据因此可能会比较慢 webappService.sh单独启动 UI 服务 任意服务检查是否启动成功看 /logs 下面的日志文件即可 1.3 Skywalking UI 可视化 配置文件skywalking_home/webapp/application.yml 文件 可以修改启动端口与 oap 服务地址 启动命令skywalking_home/bin/webappService.sh 文件 检查是否启动成功skywalking_home/logs/ 查看日志是否有报错信息 1.4 基于 Agent 监控 SpringBoot 应用 三种方式 1通过修改 agent/config/agent.config 文件来配置探针 2通过提前编写命令行启动脚本可以为每一个服务指定专属的 agent 探针配置 创建startup.sh脚本 #!/bin/bash # SkyWalking Agent 启动脚本 export SW_AGENT_NAMEskywalking-demo # 探针名称一般指定为监控应用的名称 export SW_AGENT_COLLECTOR_BACKEND_SERVICES127.0.0.1:11800 # Collector 地址指向到 OAP 服务 export SW_AGENT_SPAN_LIMIT1000 # 配置链路的最大 Span 数量默认为 300 export JAVA_AGENT-javaagent:探针 jar 的位置 java $JAVA_AGENT -jar skywalking-demo-1.0.0-SNAPSHOT.jar # 启动程序3IDE 开发工具 通过 idea 启动配置中添加如下 jvm 参数 -javaagent:/Users/wzc/devtools/skyWalking/skywalking-agent/skywalking-agent.jar # Agent本地jar包路径 -DSW_AGENT_NAMEskywalking-demo # 自定义Agent探针名称 -DSW_AGENT_COLLECTOR_BACKEND_SERVICES8.140.50.3:11800 # OAP服务端地址1.5 搭建并使用案例 OAP服务端 # 解压skywalking-apm tar -zxvf apache-skywalking-apm-9.3.0.tar.gz# 启动 bin/startup.sh # 查看日志 tail -f -n200 logs/oap.log tail -f -n200 logs/skywalking-oap-server.log # 修改默认访问页面端口为18080 vi webapp/application.yml serverPort: ${SW_SERVER_PORT:-18080}# 重启webappService bin/webappService.sh tail -f -n200 logs/skywalking-webapp.log # 访问可视化UI页面 http://ip:18686Agent端基于idea配置探针在vm中添加下面配置参数 -javaagent:/Users/wzc/devtools/skyWalking/skywalking-agent/skywalking-agent.jar # Agent本地jar包路径 -DSW_AGENT_NAMEskywalking-demo # 自定义Agent探针名称 -DSW_AGENT_COLLECTOR_BACKEND_SERVICES192.168.100.101:11800 # OAP服务端地址二、实战进阶 1、安装ElasticSearch ElasticSearch安装 #解压 tar -zxvf elasticsearch-7.17.0-linux-aarch64.tar.gz /usr/local/elasticsearch-7.17.0# 创建所属组和所属用户 [rootk8s-node1 local]# groupadd elasticsearch [rootk8s-node1 local]# useradd elasticsearch -g elasticsearch [rootk8s-node1 local]# passwd elasticsearch [rootk8s-node1 local]# chown -R elasticsearch:elasticsearch elasticsearch-7.17.0/ [rootk8s-node1 local]# su elasticsearch# 虚拟机改小一点内存大小。生产环境下官方建议小于机器内存的一半 vi config/jvm.options -Xms1g -Xmx1g# 启动 bin/elasticsearch -d# 测试 curl http://localhost:92002、SkyWalking持久化存储 方式一Elasticsearch 启动一个 ES 服务sw9 以后的版本配置 es 无需区分 elasticsearch 和 elasticsearch7统一支持 6,7,8 三个版本 # 修改数据源 vi config/application.yml storage:selector: ${SW_STORAGE:elasticsearch}方式二MySQL 修改 application.yml 中 storage 部分的内容 storage:selector: ${SW_STORAGE:mysql}mysql:properties:jdbcUrl: ${SW_JDBC_URL: jdbc:mysql://localhost:3306/skywalking}dataSource.user: ${SW_DATA_SOURCE_USER: root}dataSource.password ${SW_DATA_SOURCE_PASSWORD: admin}# 默认是不直接支持 mysql 的需要将 mysql 数据库驱动包拷贝到 oap-libs 目录下才可以3、微服务项目链路追踪 Spring Cloud 为每一个微服务启动时设置探针参数即可 PSSkyWalking 默认针对 Spring Cloud 应用不追踪网关服务若要追踪网关需要将 agent/optional-plugins 下的 gateway 插件和 webflux 插件拷贝到 agent/plugins 目录下 4、日志采集 打印日志时引入链路追踪 id将日志上报到 OAP 服务端进行存储 1、引入依赖 dependencygroupIdorg.apache.skywalking/groupIdartifactIdapm-toolkit-logback-1.x/artifactIdversion8.14.0/version /dependency2、Logback 配置 configuration scantrue scanPeriod 5 secondsappender nameSTDOUT classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutPattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n/Pattern/layout/encoder/appenderappender nameASYNC classch.qos.logback.classic.AsyncAppenderdiscardingThreshold0/discardingThresholdqueueSize1024/queueSizeneverBlocktrue/neverBlockappender-ref refSTDOUT//appenderroot levelINFOappender-ref refASYNC//root/configuration 3、gRPC 导出日志 通过 gRPC reporter 可以将日志数据导出到 OAP 服务可以直接在 SkyWalking UI 界面看到服务的日志信息 # 只需要在 Logback 配置文件中加入如下配置即可 appender namegrpc-log classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutPattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n/Pattern/layout/encoder/appender5、告警通知 通过 alarm-setting.yml 文件配置规则 1、告警规则 metrics-name指标名称也是 OAL 脚本中的指标名。可以配置告警的指标有服务、实例、端点、服务关系、实例关系、端点关系。只支持 long, double, int 类型。 op操作符 threshold阈值 period告警规则多久被检查一次是一个时间窗口 count在一个时间窗口内满足 op 超过阈值的次数达到 count 值就会触发告警 slience-period在时间 N 中触发报警后在 N silence-period 这段时间内不告警 message告警时通知的消息 2、Webhook 配置 webhooks 在触发告警时会自动调用该接口 接口 PostMapping(/notify) public void alertingNotify(RequestBody ListAlarmMessage messages) {log.info([告警通知] 告警消息{}, JSON.toJSONString(messages)); }模型对象 ToString Getter Setter public class AlarmMessage {private int scopeId;private String name;private String id0;private String id1;private String alarmMessage;private long startTime;private String ruleName; }3、告警通知到钉钉 # 增加如下规则以及配置可以实现将告警消息通知到钉钉机器人 dingtalkHooks:textTemplate: |-{msgtype: text,text: {content: Apache SkyWalking Alarm: \n %s.}} webhooks:- url: https://oapi.dingtalk.com/robot/send?access_tokendummy_tokensecret: dummysecret
http://wiki.neutronadmin.com/news/48391/

相关文章:

  • php网站建设考试网站建设专有名词
  • 教育网站安全建设方案全国电子网站建设
  • 上海优质网站seo有哪些廊坊视频优化价格
  • 企业建设一个自己的网站多少钱wordpress登陆账号
  • 清润邯郸网站局域网视频网站搭建
  • 绍兴优秀做网站的巩义网站建设费用多少
  • 网站建设的费用结构包括提供app开发公司报价
  • 肇庆城乡建设网站一级域名网站怎样收费的
  • 北京模板网站开发公司wordpress 无广告视频网站
  • 做h5比较好的网站一般淘宝网站做几个月赚钱
  • 网站网站制作开发需要哪些技术清廉企业建设
  • 宁波建设商城网站wordpress页面创建
  • 网站添加验证码网站织梦模板
  • 设计专业新手网站建设银行网站查询
  • 南京模板建站定制网站前程无忧网广州网站建设分类岗位
  • 酒店定房网站开发网站制作 知乎
  • 泸州网站建设报价网上购物系统流程图
  • 免费源代码网站html做的小网站
  • 内蒙古工程建设招投标中心网站怎样做国外能看到的网站
  • 沈阳 教育 公司 网站建设网站跟域名是什么关系
  • 派点网站建设视频网站开发的论文
  • 网站建设需求网网站推广工具有
  • 国内优秀的网站wordpress移除后台部分页面
  • 网站的制作建站人wordpress安装第二步
  • 重庆建网站公司自己建网站做外贸
  • 网站安全狗中小企业网络拓扑图绘制
  • 有什么网站可以做设计赚钱网络营销策略的制定
  • 做外贸哪里网站比较好企业做网站需要租服务器吗
  • 免费单页网站在线制作10m网站空间
  • 桂林dj网站网站内容分析