毕业设计网站开发类题目c2c网站有哪些平台

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

毕业设计网站开发类题目,c2c网站有哪些平台,网站项目建设的必要性,站点建错了网页能打开吗一、背景 SpringBoot的应用监控方案比较多#xff0c;SpringBootPrometheusGrafana是目前比较常用的方案之一。它们三者之间的关系大概如下图#xff1a; 关系图 二、开发SpringBoot应用 首先#xff0c;创建一个SpringBoot项目#xff0c;pom文件如下#xff1a; …一、背景 SpringBoot的应用监控方案比较多SpringBootPrometheusGrafana是目前比较常用的方案之一。它们三者之间的关系大概如下图 关系图 二、开发SpringBoot应用 首先创建一个SpringBoot项目pom文件如下 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!– https://mvnrepository.com/artifact/io.prometheus/simpleclient_spring_boot –dependencygroupIdio.prometheus/groupIdartifactIdsimpleclient_spring_boot/artifactIdversion0.8.1/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-security/artifactId/dependency 注意 这里的SpringBoot版本是1.5.7.RELEASE之所以不用最新的2.X是因为最新的simpleclient_spring_boot只支持1.5.X不确定2.X版本的能否支持。 MonitorDemoApplication启动类增加注解 package cn.sp; import io.prometheus.client.spring.boot.EnablePrometheusEndpoint; import io.prometheus.client.spring.boot.EnableSpringBootMetricsCollector; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; EnablePrometheusEndpoint EnableSpringBootMetricsCollector SpringBootApplication public class MonitorDemoApplication { public static void main(String[] args) { SpringApplication.run(MonitorDemoApplication.class, args); } }  配置文件application.yml server: port: 8848 spring: application: name: monitor-demo security: user: name: admin password: 1234 basic: enabled: true # 安全路径列表逗号分隔此处只针对/admin路径进行认证 path: /admin # actuator暴露接口的前缀 management: context-path: /admin # actuator暴露接口使用的端口为了和api接口使用的端口进行分离 port: 8888 security: enabled: true roles: SUPERUSER  测试代码TestController RequestMapping(/heap/test)RestControllerpublic class TestController {public static final MapString, Object map new ConcurrentHashMap();RequestMapping()public String testHeapUsed() {for (int i 0; i 10000000; i) {map.put(i , new Object());}return ok;}} 这里的逻辑就是在请求这个接口后创建大量对象保存到map中增加堆内存使用量方便后面测试邮件报警。 启动项目后可以在IDEA中看到有很多Endpoints如图 enter description here 开始我的IDEA是不显示这个Endpoints后来发现是我使用的idea版本太老了,还是2017.1的 而这个需要 idea2017.2版本以上才能看到。 后来只好重新下载安装弄了好久。。。。 启动完毕访问http://localhost:8888/admin/prometheus就可以看到服务暴露的那些监控指标了。 监控指标 注意 由于开启了安全认证所以访问这个URL的需要提示输入账号/密码如果提示404请检查下你的请求地址是否正确如果不设置management.context-path则默认地址是http://ip:port/prometheus 三、安装Prometheus 下载地址点击这里本文下载的是Windows版本prometheus-2.17.2.windows-amd64.tar.gz。 解压后修改prometheus.yml文件配置数据采集的目标信息。 scrape_configs: # The job name is added as a label jobjob_name to any timeseries scraped from this config. # - job_name: prometheus # metrics_path defaults to /metrics # scheme defaults to http. # static_configs: # - targets: [localhost:9090] - job_name: monitor-demo scrape_interval: 5s # 刮取的时间间隔 scrape_timeout: 5s  metrics_path: /admin/prometheus scheme: http  basic_auth: #认证信息 username: admin password: 1234 static_configs: - targets: - 127.0.0.1:8888 #此处填写 Spring Boot 应用的 IP 端口号  更多配置信息请查看官方文档。 现在可以启动Prometheus了命令行输入prometheus.exe –config.fileprometheus.yml 访问http://localhost:9090/targets查看Spring Boot采集状态是否正常。 采集目标信息 四、安装Grafana 下载地址点击这里本文用到的是Windows版本grafana-6.3.3.windows-amd64.zip。 解压后运行bin目录下的grafana-server.exe启动游览器访问http://localhost:3000即可看到登录页面默认账号密码是admin/admin。 现在开始创建自己的可视化监控面板。1.设置数据源 2. 创建一个Dashboard enter description here

  1. 填写采集的指标点 注意 这里的指标点不能随便填必须是已有的可以在 Prometheus看到。 采集指标 4.选择图表样式 5.填写标题描述 最后点击右上角的保存输入Dashboad的名称即可。 结果展示 Tips: 这里的图表布局是可以用鼠标拖动的 五、添加邮件报警 在实际项目中当监控的某的个指标超过阈值比如CPU使用率过高希望监控系统自动通过短信、钉钉和邮件等方式报警及时通知运维人员Grafana就支持该功能。 第一步 点击[Alerting]——[Notification channels]添加通知通道 创建通道 编辑 这里的Type有很多选项包括webhook、钉钉等这里以邮件为例。 第二步 邮箱配置 Grafana默认使用conf目录下defaults.ini作为配置文件运行根据官方的建议我们不要更改defaults.ini而是在同级目录下新建一个配置文件custom.ini。 以腾讯企业邮箱为例配置如下 #################################### SMTP / Emailing #####################[smtp]enabled truehost smtp.exmail.qq.com:465user xxxxininin.com# If the password contains # or ; you have to wrap it with triple quotes. Ex #password;password XXXcert_file key_file skip_verify truefrom_address xxxxininin.comfrom_name Grafanaehlo_identity ininin.com 然后需要重启Grafana命令grafana-server.exe -configE:\file\grafana-6.3.3\conf\custom.ini 第三步 为指标添加alert 配置预警规则 配置通知方式和信息 Evaluate every 表示检测评率这里为了测试效果改为1秒 For 如果警报规则配置了For并且查询违反了配置的阈值那么它将首先从OK变为Pending。从OK到Pending Grafana不会发送任何通知。一旦警报规则的触发时间超过持续时间它将更改为Alerting并发送警报通知。 Conditions when 表示什么时间of 表示条件is above 表示触发值 同时设置了is above后会有一条红线。 If no data or all values are null 如果没有数据或所有值都为空这里选择触发报警 If execution error or timeout 如果执行错误或超时这里选择触发报警 注意 下一次触发比如10秒后它不会再次触发防止报警风暴产生 第四步 测试 请求http://localhost:8848/heap/test接口后内存升高大于设置的阈值然后就收到报警邮件。 报警邮件 这里图片没有显示出来搞不懂为什么。 六、总结 这套监控功能还是挺强大的就是Prometheus的表达式有点多。