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

在本地搭建wordpress优化怎么做

在本地搭建wordpress,优化怎么做,太原seo关键词排名优化,php 手机网站 上传图片1. Micrometer简介Micrometer为Java平台上的性能数据收集提供了一个通用的API#xff0c;它提供了多种度量指标类型#xff08;Timers、Guauges、Counters等#xff09;#xff0c;同时支持接入不同的监控系统#xff0c;例如Influxdb、Graphite、Prometheus等。可以通过M…1. Micrometer简介Micrometer为Java平台上的性能数据收集提供了一个通用的API它提供了多种度量指标类型Timers、Guauges、Counters等同时支持接入不同的监控系统例如Influxdb、Graphite、Prometheus等。可以通过Micrometer收集Java性能数据配合Prometheus监控系统实时获取数据并最终在Grafana上展示出来从而很容易实现应用的监控。Micrometer中有两个最核心的概念分别是计量器Meter和计量器注册表MeterRegistry。计量器用来收集不同类型的性能指标信息Micrometer提供了如下几种不同类型的计量器计数器Counter: 表示收集的数据是按照某个趋势增加减少一直变化的也是最常用的一种计量器例如接口请求总数、请求错误总数、队列数量变化等。计量仪Gauge: 表示搜集的瞬时的数据可以任意变化的例如常用的CPU Load、Memory使用量、Network使用量、实时在线人数统计等计时器Timer: 用来记录事件的持续时间这个用的比较少。分布概要Distribution summary: 用来记录事件的分布情况表示一段时间范围内对数据进行采样可以用于统计网络请求平均延迟、请求延迟占比等。springboot集成Micrometerpom.xml依赖project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.olive/groupIdartifactIdprometheus-demo/artifactIdversion0.0.1-SNAPSHOT/versionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.7.RELEASE/versionrelativePath //parentpropertiesjava.version1.8/java.versionproject.build.sourceEncodingUTF-8/project.build.sourceEncodingproject.reporting.outputEncodingUTF-8/project.reporting.outputEncodingspring-boot.version2.3.7.RELEASE/spring-boot.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependency!-- Micrometer Prometheus registry  --dependencygroupIdio.micrometer/groupIdartifactIdmicrometer-registry-prometheus/artifactId/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement /projectapplication.yml配置#添加以下配置用于暴露指标 management:endpoints:web:exposure:# 所有端点都对外暴露可访问到include: *metrics:tags:application: ${spring.application.name}spring:application:name: prometheus-demomanagement.endpoints.web.exposure.include配置为开启Actuator服务因为Spring Boot Actuator会自动配置一个URL为/actuator/Prometheus的HTTP服务来供Prometheus抓取数据不过默认该服务是关闭的该配置将打开所有的Actuator服务。management.metrics.tags.application配置会将该工程应用名称添加到计量器注册表的tag中去方便后边 Prometheus 根据应用名称来区分不同的服务。springboot启动引导类package com.olive;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}注册MeterRegistryCustomizer其实引入了依赖通过Actuator暴露你需要暴露的端点之后对应的Micrometer就会自动配置。但是为了方便监控建议我们对应用服务配置一些特殊的tag来更加准确的描述我们的监控实例package com.olive.config;import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import io.micrometer.core.instrument.MeterRegistry;Configuration public class MicrometerConfig {Value(${spring.application.name})private String applicationName;Beanpublic MeterRegistryCustomizer configurer(MeterRegistry meterRegistry) {return registry - meterRegistry.config().commonTags(application, applicationName, instance, applicationName  _instance);}}以上的tag组合可以更好的来标识你的应用特别在集群当中。定义测试接口package com.olive.controller;import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;RestController public class TestController {Logger logger  LoggerFactory.getLogger(TestController.class);GetMapping(/test)public String test() {logger.info(test);return ok;}GetMapping(/)public String home() {logger.info(home);return ok;} }启动服务并访问http://localhost:8080/actuator/prometheus访问以下接口http://localhost:8080/ http://localhost:8080/test再次访问http://localhost:8080/actuator/prometheus安全措施如果上述请求接口不做任何安全限制安全隐患显而易见。实际上Spring Boot也提供了安全限制功能。比如要禁用/env接口则可设置如下endpoint:env:enabled: false另外也可以引入spring-boot-starter-security依赖dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId /dependency在application.properties中开启security功能配置访问权限验证这时再访问actuator功能时就会弹出登录窗口需要输入账号密码验证后才允许访问。spring:security:user:name: adminpassword: abc321为了只对actuator功能做权限验证其他应用接口不做认证需要可以重新定制下SpringSecurity。import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.util.StringUtils;Configuration EnableWebSecurity public class ActuatorSecurityConfig extends WebSecurityConfigurerAdapter {Autowiredprivate Environment env;Overrideprotected void configure(HttpSecurity security) throws Exception {String monitorBasePath  env.getProperty(management.endpoints.web.base-path);String contextPath  env.getProperty(server.servlet.context-path);if(contextPathnull) {contextPath  ;}if(contextPath.endsWith(/)) {contextPath  contextPath.substring(0, contextPath.length()-1);}if (!StringUtils.isEmpty(monitorBasePath)) {if(!monitorBasePath.startsWith(/)) {monitorBasePath  /  monitorBasePath;}contextPath  contextPath  monitorBasePath  /prometheus;}else {contextPath  contextPath  /actuator/prometheus;}security.csrf().disable();security.authorizeRequests().antMatchers(contextPath, monitorBasePath  /prometheus).authenticated().anyRequest().permitAll().and().httpBasic();} }management.endpoints.web.base-path与server.servlet.context-path对应配置再次访问此时需要进行权限验证。最终配置#添加以下配置用于暴露指标 management:endpoints:web:exposure:include: *# actuator的访问路径替换默认/actuatorbase-path: /monitormetrics:tags:application: ${spring.application.name}server:#新开监控端口不和应用用同一个端口    port: 9595spring:application:name: prometheus-demosecurity:user:password: 123456name: adminserver:port: 8090servlet:context-path: /prometheus-demo
http://www.w-s-a.com/news/149630/

相关文章:

  • 佛山企业网站制作韩国seocaso
  • 微信公司网站vue做社区网站
  • 蒙阴网站优化五核网站建设
  • 企业微商城网站建设wordpress新闻是哪个表
  • 重庆网站开发培训机构电商网站创办过程
  • 企业建网站得多少钱长沙财优化公司
  • 网站开发api平台扒完网站代码之后怎么做模板
  • PHP网站建设选择哪家好动画设计师月薪多少
  • 网站如何做市场推广网站开发主要步骤
  • 浏览器正能量网站网页文章导入wordpress
  • 江西中国建设银行网站首页永久免费自助建网站
  • 创建自己网站的步骤吸引人的微信软文
  • 网站建设与网页设计论述题软件开发公司在哪里
  • 二级网站建设方案模板亚马逊网站建设案例
  • 网站开发兼职团队门户网站如何制作
  • 高州市网站建设开发区招聘信息
  • 上海专业网站制作设计公司企业邮箱怎样注册
  • 网站建设在商标第几类网站建设 设计创意
  • 做一网站APP多少钱重庆中色十二冶金建设有限公司网站
  • 网上做效果图网站有哪些软件徐州泉山区建设局网站
  • 凯里网站制作网站篡改搜索引擎js
  • 如何使用凡科建设网站武安城乡建设网站
  • 网站建设网站及上传wordpress火车头发布
  • 有没有做网站的团队电脑版传奇网站
  • 建立企业网站公司医疗创意小产品设计
  • 深圳 做网站 车公庙免费的招标网有哪些
  • 网站在那里备案成都成华区网站建设
  • 做网站选哪家好搜索引擎优化的目标体系包括哪些
  • 做数据可视化的网站ppt2016是制作网页的软件
  • 济宁市建设工程质量监督站网站徐州网站优化推广