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

文库网站开发建设seochinaz查询

文库网站开发建设,seochinaz查询,南通电商网站建设,响应式企业展示型网站Prometheus和Grafana都是非常流行的开源监控工具#xff0c;可以协同使用来实现对各种应用程序、系统、网络和服务器等的监视和分析。 下面对Prometheus和Grafana进行简要介绍#xff1a; Prometheus Prometheus是一款开源、云原生的系统和服务监控工具#xff0c;它采用p…Prometheus和Grafana都是非常流行的开源监控工具可以协同使用来实现对各种应用程序、系统、网络和服务器等的监视和分析。 下面对Prometheus和Grafana进行简要介绍 Prometheus Prometheus是一款开源、云原生的系统和服务监控工具它采用pull模式的监控方式可以通过HTTP协议从各种Target中抓取metrics数据并存储到本地的时间序列数据库中。Prometheus提供了强大的查询语言PromQL来支持数据查询、聚合和图表绘制等操作。同时它还提供了Alertmanager组件来支持告警和通知功能可以通过配置规则实现各种复杂的告警条件和触发方式。 Grafana Grafana是一款开源的监控可视化和数据分析软件它支持将来自多个数据源的时间序列数据转换为丰富的图表和仪表板以实时监控和分析各种指标和性能指标。Grafana 的用户可以轻松创建和编辑仪表板、将不同数据源的指标数据组合到一起显示、应用多种过滤器和渲染选项来定制化仪表板的显示方式以及定义警报功能等从而实现根据需要快速了解应用程序的状态和性能指标以及进行数据分析。 通过将Prometheus和Grafana结合使用您可以有效地监控和管理各种应用程序和系统的状态和性能指标从而更好地掌握系统的运行状况并快速发现故障。 本人使用mac电脑安装Prometheus和Grafana下载可自行根据自己的环境进行思路才是最重要的。 安装Prometheus // 安装 brew install prometheus// 启动 brew services start prometheus 复制代码 默认端口为9090 重点 有了Prometheus后我们要思考一个问题就是数据从哪里来 要了解数据是程序push过来的还是Prometheus去拉取的很关键。 package com.example.demo.monitor;/*** author caozhixin* date 2023/4/8 13:10*/ import io.prometheus.client.Counter; import io.prometheus.client.Gauge; import io.prometheus.client.exporter.HTTPServer;import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Random;public class BankAccountSystem {// 存储每个银行账户的当前余额private static final MapString, Double accountBalances new HashMap();// 创建一个Counter指标来表示已经从每个账户取款的次数private static final Counter withdrawals Counter.build().name(bank_account_withdrawals_total).help(Total number of account withdrawals.).labelNames(account_number) // 为了方便查询使用名为account_number的标签分别标识每个账户的指标.register();// 创建一个Gauge指标来表示每个账户的当前余额private static final Gauge accountBalance Gauge.build().name(bank_account_balance).help(Current balance for each account.).labelNames(account_number) // 同样使用名为account_number的标签来标识每个账户的指标.register();public static void main(String[] args) throws IOException {// Start the HTTP server and expose metrics endpoint.// 启动一个HTTP服务器并暴露/metrics端点以便Prometheus从中获取指标数据HTTPServer server new HTTPServer(8080);Random random new Random();// 初始化10个不同的银行账户并对每个账户进行一次初始余额的设置for (int i 1; i 10; i) {String accountNumber ACCT i;double initialBalance random.nextDouble() * 100000;accountBalances.put(accountNumber, initialBalance);// 使用set方法将每个账户的初始余额设置为Gauge指标的值同时使用labelValues参数传递与之对应的account_number标签值accountBalance.labels(accountNumber).set(initialBalance);}// 模拟一些账户活动while (true) {try {Thread.sleep(5000); // 等待5秒钟} catch (InterruptedException e) {e.printStackTrace();}// 对于每个银行账户随机从中扣除一些资金并更新相应的指标数据for (Map.EntryString, Double entry : accountBalances.entrySet()) {String accountNumber entry.getKey();double currentBalance entry.getValue();double withdrawAmount random.nextDouble() * 100;if (withdrawAmount currentBalance) {withdrawAmount currentBalance; // 不能透支如果取款金额超过了当前余额那么就只能全部取出}currentBalance - withdrawAmount;accountBalances.put(accountNumber, currentBalance);withdrawals.labels(accountNumber).inc(); // 增加该账户的Counter指标值表示已经从这个账户中取过款accountBalance.labels(accountNumber).set(currentBalance); // 更新该账户的Gauge指标值表示当前余额}}} } 复制代码 在此示例中我们模拟了一个银行账户管理系统有10个不同的账户并使用MapString, Double来存储每个账户的当前余额。我们还创建了两个指标一个Counter bank_account_withdrawals_total表示已经从每个账户取款的次数带有一个名为account_number的标签一个Gauge bank_account_balance 表示每个账户的当前余额也带有一个account_number标签。 在无限循环中我们模拟了一些账户活动随机从每个账户中扣除一些资金并更新相应的指标数据。这样我们就可以通过Prometheus监视银行账户活动并生成警报。 我们可以从Java程序启动的8080看到对应的Prometheus格式数据 下一步就是我们怎样让Prometheus进程把这些数据抓取过去这一步很简单就是在prometheus.yml配置的安装后的文件路径自己找。 global:scrape_interval: 15sscrape_configs:- job_name: prometheusstatic_configs:- targets: [localhost:9090]- job_name: java_appmetrics_path: /my_metricsstatic_configs:- targets: [localhost:8080]复制代码 把这个java程序的Prometheus客户端端口配置上去即可。 这时候我们就可以到Prometheus的面板去看下是否有数据。 到目前为止我们已经完成了Prometheus把Java产生的业务数据导入啦。 接下来就是处理Grafana获取Prometheus数据。 // 安装 brew install grafana// 启动 brew services start grafana 复制代码 Grafana默认端口为3000 这个时候我们的思路就是怎样去获取Prometheus数据。 Grafana在页面上提供了配置数据源的交互。 支持的数据源很多按需配置。 这里我们直接把url配置上即可生产环境的话需要考虑的更多比如安全性之类的配置密钥证书。 数据源配置完了就剩下面板啦。 选择你想处理的指标和统计口径 也可以直接使用PromQL语句 round(sum by(account_number) (increase(bank_account_balance{jobjava_app}[$__rate_interval]))) 复制代码 到目前为止一个业务数据的监控就完成啦。大家可以照猫画虎走一个流程
http://www.yayakq.cn/news/1432/

相关文章:

  • 国外做的好的医疗网站阿里云wordpress root
  • 现在网站建设用到哪些技术wordpress右侧悬浮搜索菜单
  • 容县网站开发上海装修网站大全
  • 微企免费网站建设微信h5的制作方法
  • 免得做网站智能建设网站
  • 循化网站建设公司济宁建设工程信息网站
  • 网站建设及 维护电子产品外贸交易平台
  • 微网站免费开发平台手机优化助手怎么删除
  • 北京网站建设公司司文创产品设计作品欣赏
  • 网站撤销备案个人怎么注册公司需要多少钱
  • 网站专题页面设计欣赏wordpress网站如何app
  • 自己做的视频可以传别的网站去吗广州商务网站建设电话
  • 提供网站建设服务菜谱分享网站开发开题报告
  • 怎么制作网站布局erp软件开发
  • 外国做袜子的网站ueditor wordpress 4.5
  • HTML怎么做网站目录青岛做网站价格
  • 哪个市文化和旅游网站做的好大网站
  • 查询网站中国摄影展览网首页
  • 外贸网站建设 广州企业网站的域名是该企业的
  • 响水哪家专业做网站怎样查网站的注册地点
  • 企业做网站公司怎么样天琥设计培训学校官网
  • 芒市网站建设公司青岛有没有做网站的
  • 做网站文字编辑累吗用源码做自己的网站
  • 网站建设风景课程设计报告深圳网站设计比较好的公司有哪些
  • 网站页面优化分析网站代理浏览器一
  • 企业网站建站系统网站宣传需要多少钱
  • 做h5页面网站有哪些域名多少钱一年
  • 深圳中高端网站建设怎么样网站建设服务器 几核
  • 腾讯云域名备案需要提供网站建设方案书怎么建立一个公众号
  • 网站建设公司哪家好智搜宝微信公众号被收费299