中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

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

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

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

下面對(duì)Prometheus和Grafana進(jìn)行簡(jiǎn)要介紹:

  1. Prometheus

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

  1. Grafana

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

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

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

安裝Prometheus:

// 安裝
brew?install?prometheus// 啟動(dòng)
brew services start prometheus
復(fù)制代碼

默認(rèn)端口為9090:

重點(diǎn):

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

要了解數(shù)據(jù)是程序push過(guò)來(lái)的,還是Prometheus去拉取的,很關(guān)鍵。

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 {// 存儲(chǔ)每個(gè)銀行賬戶的當(dāng)前余額private static final Map<String, Double> accountBalances = new HashMap<>();// 創(chuàng)建一個(gè)Counter指標(biāo)來(lái)表示已經(jīng)從每個(gè)賬戶取款的次數(shù)private static final Counter withdrawals = Counter.build().name("bank_account_withdrawals_total").help("Total number of account withdrawals.").labelNames("account_number") // 為了方便查詢,使用名為"account_number"的標(biāo)簽分別標(biāo)識(shí)每個(gè)賬戶的指標(biāo).register();// 創(chuàng)建一個(gè)Gauge指標(biāo)來(lái)表示每個(gè)賬戶的當(dāng)前余額private static final Gauge accountBalance = Gauge.build().name("bank_account_balance").help("Current balance for each account.").labelNames("account_number") // 同樣使用名為"account_number"的標(biāo)簽來(lái)標(biāo)識(shí)每個(gè)賬戶的指標(biāo).register();public static void main(String[] args) throws IOException {// Start the HTTP server and expose metrics endpoint.// 啟動(dòng)一個(gè)HTTP服務(wù)器,并暴露/metrics端點(diǎn)以便Prometheus從中獲取指標(biāo)數(shù)據(jù)HTTPServer server = new HTTPServer(8080);Random random = new Random();// 初始化10個(gè)不同的銀行賬戶,并對(duì)每個(gè)賬戶進(jìn)行一次初始余額的設(shè)置for (int i = 1; i <= 10; i++) {String accountNumber = "ACCT" + i;double initialBalance = random.nextDouble() * 100000;accountBalances.put(accountNumber, initialBalance);// 使用set方法將每個(gè)賬戶的初始余額設(shè)置為Gauge指標(biāo)的值,同時(shí)使用"labelValues"參數(shù)傳遞與之對(duì)應(yīng)的"account_number"標(biāo)簽值accountBalance.labels(accountNumber).set(initialBalance);}// 模擬一些賬戶活動(dòng)while (true) {try {Thread.sleep(5000); // 等待5秒鐘} catch (InterruptedException e) {e.printStackTrace();}// 對(duì)于每個(gè)銀行賬戶,隨機(jī)從中扣除一些資金,并更新相應(yīng)的指標(biāo)數(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; // 不能透支,如果取款金額超過(guò)了當(dāng)前余額,那么就只能全部取出}currentBalance -= withdrawAmount;accountBalances.put(accountNumber, currentBalance);withdrawals.labels(accountNumber).inc(); // 增加該賬戶的Counter指標(biāo)值(表示已經(jīng)從這個(gè)賬戶中取過(guò)款)accountBalance.labels(accountNumber).set(currentBalance); // 更新該賬戶的Gauge指標(biāo)值(表示當(dāng)前余額)}}}
}
復(fù)制代碼

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

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

我們可以從Java程序啟動(dòng)的8080看到對(duì)應(yīng)的Prometheus格式數(shù)據(jù):

下一步就是我們?cè)鯓幼孭rometheus進(jìn)程把這些數(shù)據(jù)抓取過(guò)去,這一步很簡(jiǎn)單,就是在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']復(fù)制代碼

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

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

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

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

// 安裝
brew?install?grafana// 啟動(dòng)
brew?services?start?grafana
復(fù)制代碼

Grafana默認(rèn)端口為3000

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

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

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

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

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

選擇你想處理的指標(biāo)和統(tǒng)計(jì)口徑

也可以直接使用PromQL語(yǔ)句:

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

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

http://www.risenshineclean.com/news/41117.html

相關(guān)文章:

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