国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

咸陽市住房和城鄉(xiāng)建設規(guī)劃局網(wǎng)站武漢網(wǎng)站設計

咸陽市住房和城鄉(xiāng)建設規(guī)劃局網(wǎng)站,武漢網(wǎng)站設計,百度霸屏培訓,中企動力科技股份有限公司成都分公司Prometheus和Grafana都是非常流行的開源監(jiān)控工具,可以協(xié)同使用來實現(xiàn)對各種應用程序、系統(tǒng)、網(wǎng)絡和服務器等的監(jiān)視和分析。 下面對Prometheus和Grafana進行簡要介紹: Prometheus Prometheus是一款開源、云原生的系統(tǒng)和服務監(jiān)控工具,它采用p…

Prometheus和Grafana都是非常流行的開源監(jiān)控工具,可以協(xié)同使用來實現(xiàn)對各種應用程序、系統(tǒng)、網(wǎng)絡和服務器等的監(jiān)視和分析。

下面對Prometheus和Grafana進行簡要介紹:

  1. Prometheus

Prometheus是一款開源、云原生的系統(tǒng)和服務監(jiān)控工具,它采用pull模式的監(jiān)控方式,可以通過HTTP協(xié)議從各種Target中抓取metrics數(shù)據(jù),并存儲到本地的時間序列數(shù)據(jù)庫中。Prometheus提供了強大的查詢語言(PromQL)來支持數(shù)據(jù)查詢、聚合和圖表繪制等操作。同時,它還提供了Alertmanager組件來支持告警和通知功能,可以通過配置規(guī)則實現(xiàn)各種復雜的告警條件和觸發(fā)方式。

  1. Grafana

Grafana是一款開源的監(jiān)控可視化和數(shù)據(jù)分析軟件,它支持將來自多個數(shù)據(jù)源的時間序列數(shù)據(jù)轉換為豐富的圖表和儀表板,以實時監(jiān)控和分析各種指標和性能指標。Grafana 的用戶可以輕松創(chuàng)建和編輯儀表板、將不同數(shù)據(jù)源的指標數(shù)據(jù)組合到一起顯示、應用多種過濾器和渲染選項來定制化儀表板的顯示方式以及定義警報功能等,從而實現(xiàn)根據(jù)需要快速了解應用程序的狀態(tài)和性能指標以及進行數(shù)據(jù)分析。

通過將Prometheus和Grafana結合使用,您可以有效地監(jiān)控和管理各種應用程序和系統(tǒng)的狀態(tài)和性能指標,從而更好地掌握系統(tǒng)的運行狀況并快速發(fā)現(xiàn)故障。

本人使用mac電腦安裝Prometheus和Grafana,下載可自行根據(jù)自己的環(huán)境進行,思路才是最重要的。

安裝Prometheus:

// 安裝
brew?install?prometheus// 啟動
brew services start prometheus
復制代碼

默認端口為9090:

重點:

有了Prometheus后,我們要思考一個問題就是,數(shù)據(jù)從哪里來?

要了解數(shù)據(jù)是程序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 Map<String, Double> accountBalances = new HashMap<>();// 創(chuàng)建一個Counter指標來表示已經(jīng)從每個賬戶取款的次數(shù)private static final Counter withdrawals = Counter.build().name("bank_account_withdrawals_total").help("Total number of account withdrawals.").labelNames("account_number") // 為了方便查詢,使用名為"account_number"的標簽分別標識每個賬戶的指標.register();// 創(chuàng)建一個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從中獲取指標數(shù)據(jù)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"參數(shù)傳遞與之對應的"account_number"標簽值accountBalance.labels(accountNumber).set(initialBalance);}// 模擬一些賬戶活動while (true) {try {Thread.sleep(5000); // 等待5秒鐘} catch (InterruptedException e) {e.printStackTrace();}// 對于每個銀行賬戶,隨機從中扣除一些資金,并更新相應的指標數(shù)據(jù)for (Map.Entry<String, 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指標值(表示已經(jīng)從這個賬戶中取過款)accountBalance.labels(accountNumber).set(currentBalance); // 更新該賬戶的Gauge指標值(表示當前余額)}}}
}
復制代碼

在此示例中,我們模擬了一個銀行賬戶管理系統(tǒng),有10個不同的賬戶,并使用Map<String, Double>來存儲每個賬戶的當前余額。我們還創(chuàng)建了兩個指標:一個Counter bank_account_withdrawals_total表示已經(jīng)從每個賬戶取款的次數(shù),帶有一個名為account_number的標簽;一個Gauge bank_account_balance 表示每個賬戶的當前余額,也帶有一個account_number標簽。

在無限循環(huán)中,我們模擬了一些賬戶活動,隨機從每個賬戶中扣除一些資金,并更新相應的指標數(shù)據(jù)。這樣,我們就可以通過Prometheus監(jiān)視銀行賬戶活動并生成警報。

我們可以從Java程序啟動的8080看到對應的Prometheus格式數(shù)據(jù):

下一步就是我們怎樣讓Prometheus進程把這些數(shù)據(jù)抓取過去,這一步很簡單,就是在prometheus.yml配置的(安裝后的文件路徑自己找)。

global:scrape_interval: 15sscrape_configs:- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]- job_name: 'java_app'metrics_path: '/my_metrics'static_configs:- targets: ['localhost:8080']復制代碼

把這個java程序的Prometheus客戶端端口配置上去即可。

這時候我們就可以到Prometheus的面板去看下是否有數(shù)據(jù)。

到目前為止,我們已經(jīng)完成了Prometheus把Java產(chǎn)生的業(yè)務數(shù)據(jù)導入啦。

接下來就是處理Grafana獲取Prometheus數(shù)據(jù)。

// 安裝
brew?install?grafana// 啟動
brew?services?start?grafana
復制代碼

Grafana默認端口為3000

這個時候,我們的思路就是怎樣去獲取Prometheus數(shù)據(jù)。

Grafana在頁面上提供了配置數(shù)據(jù)源的交互。

支持的數(shù)據(jù)源很多,按需配置。

這里我們直接把url配置上即可,生產(chǎn)環(huán)境的話,需要考慮的更多,比如安全性之類的,配置密鑰證書。

數(shù)據(jù)源配置完了,就剩下面板啦。

選擇你想處理的指標和統(tǒng)計口徑

也可以直接使用PromQL語句:

round(sum by(account_number) (increase(bank_account_balance{job="java_app"}[$__rate_interval])))
復制代碼

到目前為止,一個業(yè)務數(shù)據(jù)的監(jiān)控就完成啦。大家可以照貓畫虎走一個流程!!

http://aloenet.com.cn/news/41117.html

相關文章:

  • 張店易寶網(wǎng)站建設百度分公司
  • 濟南做網(wǎng)站公司xywlcn網(wǎng)站搜索引擎優(yōu)化報告
  • 手表網(wǎng)站制作照片網(wǎng)絡營銷的核心
  • 購物網(wǎng)站排行nba季后賽最新排名
  • 做返利網(wǎng)站能賺錢aso排名優(yōu)化
  • 做的比較好的官方網(wǎng)站上海百度推廣方案
  • 珠海做網(wǎng)站哪家專業(yè)seo sem論壇
  • 如何做網(wǎng)站的搜索欄網(wǎng)絡營銷的推廣方法有哪些
  • 自己搭建服務器做網(wǎng)站91手機用哪個瀏覽器
  • 網(wǎng)站優(yōu)化主旨百度廣告推廣收費標準
  • 武漢專業(yè)網(wǎng)站建設zz51上海網(wǎng)站制作開發(fā)
  • 競網(wǎng)做的網(wǎng)站交換鏈接營銷成功案例
  • 做網(wǎng)站與考研學技術包分配的培訓機構
  • WordPress方糖無錫網(wǎng)站建設優(yōu)化公司
  • 專業(yè)的團隊網(wǎng)站建設引擎搜索入口
  • 室內(nèi)裝修設計圖紙seo快速軟件
  • 外國人做外貿(mào)都會瀏覽哪些網(wǎng)站焊工培訓內(nèi)容有哪些
  • 網(wǎng)站建設常用代碼營銷策劃36計
  • 直播視頻網(wǎng)站如何做網(wǎng)站策劃
  • 佛山專業(yè)做企業(yè)網(wǎng)站上海今天最新發(fā)布會
  • 吉 360 網(wǎng)站建設如何做好精準營銷
  • 網(wǎng)站客服工作內(nèi)容重慶網(wǎng)站建設哪家好
  • 凡客專賣店網(wǎng)站優(yōu)化入門
  • 安徽國貿(mào)集團網(wǎng)站建設沈陽網(wǎng)站推廣優(yōu)化
  • 合肥專業(yè)做網(wǎng)站的互聯(lián)網(wǎng)域名注冊查詢
  • 做網(wǎng)站拍攝照片用什么佳能相機好網(wǎng)站優(yōu)化課程培訓
  • 哪個網(wǎng)站可以做社工試題網(wǎng)絡服務器
  • 湖北住房和城鄉(xiāng)建設委員會網(wǎng)站東莞市民最新疫情
  • 三門峽集團網(wǎng)站建設愛站網(wǎng)關鍵詞查詢工具
  • 有沒有人與動物做的電影網(wǎng)站自己做網(wǎng)站怎么做