成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Prometheus輕松實現(xiàn)集群監(jiān)控?

開發(fā) 前端
和 Zabbix 類似,Prometheus 也是一個近年比較火的開源監(jiān)控框架,和 Zabbix不同之處在于 Prometheus 相對更靈活點,模塊間比較解耦,比如告警模塊、代理模塊等等都可以選擇性配置。

 [[317817]]

1、Prometheus 對比 Zabbix

和 Zabbix 類似,Prometheus 也是一個近年比較火的開源監(jiān)控框架,和 Zabbix不同之處在于 Prometheus 相對更靈活點,模塊間比較解耦,比如告警模塊、代理模塊等等都可以選擇性配置。服務(wù)端和客戶端都是開箱即用,不需要進(jìn)行安裝。Zabbix則是一套安裝把所有東西都弄好,很龐大也很繁雜。

Zabbix 的客戶端 agent 可以比較方便的通過腳本來讀取機(jī)器內(nèi)數(shù)據(jù)庫、日志等文件來做上報。而 Prometheus 的上報客戶端則分為不同語言的SDK和不同用途的 exporter 兩種,比如如果你要監(jiān)控機(jī)器狀態(tài)、mysql性能等,有大量已經(jīng)成熟的 exporter 來直接開箱使用,通過http通信來對服務(wù)端提供信息上報(server去pull信息);

而如果你想要監(jiān)控自己的業(yè)務(wù)狀態(tài),那么針對各種語言都有官方或其他人寫好的 sdk 供你使用,都比較方便,不需要先把數(shù)據(jù)存入數(shù)據(jù)庫或日志再供 zabbix-agent 采集。

Zabbix 的客戶端更多是只做上報的事情,push 模式。而 Prometheus 則是客戶端本地也會存儲監(jiān)控數(shù)據(jù),服務(wù)端定時來拉取想要的數(shù)據(jù)。界面來說 zabbix 比較陳舊,而 prometheus 比較新且非常簡潔,簡潔到只能算一個測試和配置平臺。要想獲得良好的監(jiān)控體驗,搭配 Grafana 還是二者的必走之路。

2、安裝 Prometheus

Prometheus 有很多種安裝方式,可以在官網(wǎng)看到,這里只介紹下載安裝包解壓的方式,因為 Prometheus 是“開箱即用”的,也就是說解壓安裝包后就可以直接使用了,不需要再執(zhí)行安裝程序,很方便。

可以去 Prometheus 的官網(wǎng)下載頁面獲取最新版本的信息,比如現(xiàn)在的最新版本是2.7.2,那就下載相應(yīng)系統(tǒng)的安裝包,然后解壓

  1. $ wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz 
  2. $ tar xvfz prometheus-2.7.2.linux-amd64.tar.gz 

解壓后當(dāng)前目錄就會出現(xiàn)一個相應(yīng)的文件夾,進(jìn)入該文件夾,然后就可以直接運行Prometheus server了!

  1. $ cd prometheus-2.7.2.linux-amd64 
  2. // 查看版本 
  3. $ ./prometheus --version 
  4. // 運行server 
  5. $ ./prometheus --config.file=prometheus.yml 

命令中的 prometheus.yml 文件其實就是配置文件,也在當(dāng)前目錄下,在其中可以配置一些東西。

3、配置 Prometheus

上文說了,prometheus.yml 是配置文件,打開可以看到不多的幾十行文字,類似下面:

  1. $ cat prometheus.yml 
  2. # my global config 
  3. global
  4.   scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute
  5.   evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute
  6.   # scrape_timeout is set to the global default (10s). 
  7.  
  8. # Alertmanager configuration 
  9. alerting: 
  10.   alertmanagers: 
  11.   - static_configs: 
  12.     - targets: 
  13.       # - alertmanager:9093 
  14.  
  15. Load rules once and periodically evaluate them according to the global 'evaluation_interval'
  16. rule_files: 
  17.   # - "first_rules.yml" 
  18.   # - "second_rules.yml" 
  19.  
  20. # A scrape configuration containing exactly one endpoint to scrape: 
  21. # Here it's Prometheus itself. 
  22. scrape_configs: 
  23.   # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. 
  24.   - job_name: 'prometheus' 
  25.  
  26.     # metrics_path defaults to '/metrics' 
  27.     # scheme defaults to 'http'
  28.  
  29.     static_configs: 
  30.     - targets: ['localhost:9090'

其大致分為四部分:

  • global:全局配置,其中 scrape_interval 表示抓取一次數(shù)據(jù)的間隔時間,evaluation_interval 表示進(jìn)行告警規(guī)則檢測的間隔時間;
  • alerting:告警管理器(Alertmanager)的配置,目前還沒有安裝Alertmanager;
  • rule_files:告警規(guī)則有哪些;
  • scrape_configs:抓取監(jiān)控信息的目標(biāo)。一個 job_name 就是一個目標(biāo),其 targets 就是采集信息的 IP 和端口。這里默認(rèn)監(jiān)控了 Prometheus 自己,可以通過修改這里來修改 Prometheus 的監(jiān)控端口。

Prometheus 的每個 exporter 都會是一個目標(biāo),它們可以上報不同的監(jiān)控信息,比如機(jī)器狀態(tài),或者 mysql 性能等等,不同語言 sdk 也會是一個目標(biāo),它們會上報你自定義的業(yè)務(wù)監(jiān)控信息。

4、Prometheus 界面

運行后,在瀏覽器訪問[機(jī)器IP:端口]就可以查看 Prometheus 的界面了,這里的機(jī)器IP是你運行 Prometheus 的機(jī)器,端口是上面配置文件中配置的監(jiān)控自己的端口。打開后界面如下:

 

如果訪問不了,看看是不是端口沒有打開或者允許外網(wǎng)訪問。

界面非常簡單(所以我們還需要Grafana),上面標(biāo)簽欄中,Alerts是告警管理器,暫時還沒安裝。Graph是查看監(jiān)控項的圖表,也是訪問后的默認(rèn)頁面,Status中可以查看一些配置、監(jiān)控目標(biāo)、告警規(guī)則等。

在 Graph 頁面,由于我們默認(rèn)已經(jīng)監(jiān)控了 Prometheus 自己,所以已經(jīng)可以查看一些監(jiān)控圖表,比如在輸入框輸入“promhttp_metric_handler_requests_total”,執(zhí)行Execute,下面的小標(biāo)簽中切換到Graph就能看到“/metrics”訪問次數(shù)的折線圖。

5、添加機(jī)器狀態(tài)監(jiān)控

我們嘗試添加第一個監(jiān)控exporter——監(jiān)控當(dāng)前機(jī)器自身的狀態(tài),包括硬盤、CPU、流量等。因為Prometheus已經(jīng)有了很多現(xiàn)成的常用exporter,所以我們直接用其中的node_exporter。注意了,這里名字雖然叫node_exporter,但跟nodejs沒有任何關(guān)系,在Prometheus看來,一臺機(jī)器或者說一個節(jié)點就是一個node,所以該exporter是在上報當(dāng)前節(jié)點的狀態(tài)。node_exporter本身也是一個http服務(wù),可以供 prometheus server 調(diào)用(pull)來獲取監(jiān)控的信息,安裝方法同樣是下載安裝包后解壓直接運行:

  1. // 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接 
  2. $ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz 
  3. // 解壓 
  4. $ tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz 
  5. // 進(jìn)入解壓出的目錄 
  6. $ cd node_exporter-0.17.0.linux-amd64 
  7. // 運行監(jiān)控采集服務(wù) 
  8. $ ./node_exporter 

運行后可以看到在監(jiān)聽9100端口。這樣就可以采集了,現(xiàn)在先訪問試試能不能有沒有成功運行:這里也可以看出其實每個exporter本身都是一個http服務(wù),server端會定時來訪問獲取監(jiān)控信息。訪問成功的話,我們?nèi)rometheus的配置文件(prometheus.yml)中,加上這個target:

  1. scrape_configs: 
  2.   - job_name: 'prometheus' 
  3.     static_configs: 
  4.       - targets: ['localhost:9090'
  5.   - job_name: 'server' 
  6.     static_configs: 
  7.       - targets: ['localhost:9100'

可以看到,就是在 scrape_configs 模塊中加一個job,命好名,配置好監(jiān)聽的IP和端口即可,然后重新運行 prometheus,在標(biāo)簽欄的 Status → Targets 中可以看到多了一個:

如果新加的 target 的 status 是“UP”的話,就說明監(jiān)聽成功了。

此時去Graph中,輸入框輸入node可以發(fā)現(xiàn)有很多 node 開頭的監(jiān)控項了,都是和機(jī)器狀態(tài)有關(guān)的,可以自己執(zhí)行看一看。

安裝 Grafana

因為 Prometheus 的界面看起來非常簡單,所以我們還需要 Grafana 這個非常強(qiáng)大也是最常用的監(jiān)控展示框架。

我們還是用下載二進(jìn)制包的方式來進(jìn)行安裝,這種方式不需要你當(dāng)前的linux用戶擁有sudo權(quán)限,也不需要你知道 root 密碼。如果你有這些權(quán)限,那就使用 yum 等其他直接的安裝方式吧,安裝說明見 Grafana 的官方安裝頁面

我們直接下載并解壓:

  1. $wget [https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz](https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz) 
  2. $ tar -zxvf grafana-6.0.0.linux-amd64.tar.gz 
  3. 這個頁面給出的是最新版本的安裝命令,右上角可以選擇切換其他版本的安裝命令。 

解壓后會出現(xiàn) grafana-6.0.0 目錄,進(jìn)入該目錄,然后就可以運行 Grafana 了:

  1. $ cd grafana-6.0.0 
  2. // 啟動Grafana。$ ./bin/grafana-server web 

通過log信息可以看到Grafana默認(rèn)運行在3000端口,這個也可以通過配置文件進(jìn)行修改:創(chuàng)建名為 custom.ini 的配置文件,添加到 conf 文件夾,復(fù)制 conf/defaults.ini 中定義的所有設(shè)置,然后修改自己想要修改的。

在 Grafana 展示監(jiān)控信息

安裝并啟動Grafana后,瀏覽器輸入 IP:3000 來訪問Grafana,管理員賬號密碼默認(rèn)是admin/admin。首次登陸會讓你修改管理員密碼,然后就可以登錄查看了。

在界面左邊是一豎排選項,選擇設(shè)置圖標(biāo)中的Data Source,添加Prometheus的數(shù)據(jù)源,URL 就填上面你給 Prometheus Server 設(shè)置的ip+端口號就行了,如果沒改過且在本機(jī)運行的話,那就是 localhost:9090。

此時可以添加 dashboard,也就是監(jiān)控面板了,在剛配好的 Prometheus Data Source的設(shè)置中有一個標(biāo)簽就是 dashboard,我們導(dǎo)入 Prometheus 2.0 Stats 這個面板,就能看到我們Prometheus的一些基本監(jiān)控情況了,這其實就是導(dǎo)入了一個別人寫好的面板配置,并且連接我們自己 Prometheus 的監(jiān)控數(shù)據(jù)做展示。還記得我們上面還運行了一個 node exporter 吧,現(xiàn)在我們展現(xiàn)一下這個監(jiān)控信息,左邊豎排點擊加號圖標(biāo)中的 Import,來導(dǎo)入其他別人寫好的面板。在Grafana的官方面板頁面其實可以看到很多別人配置好的面板,我們找到自己想要的面板,比如這個node exporter 的:

復(fù)制右邊那個面板ID,然后在 Import 界面輸入ID,Load 后配置好數(shù)據(jù)源為我們的Prometheus,就可以出現(xiàn)我們自己機(jī)器的狀態(tài)監(jiān)控面板了,很炫酷吧。

這個面板需要安裝一個餅圖的插件(頁面上有說明),安裝 Grafana 插件的方法為:

  1. // 進(jìn)入Grafana/bin目錄 
  2. ./grafana-cli plugins install [插件名] 
  3. // 安裝成功后重啟Grafana 

面板中的每個圖都是可以編輯的,也可以設(shè)置告警,Grafana 告警支持多種方式,我們最常用的就是郵件和 webhook 了,所以其實不太需要用 Prometheus 的告警。

 

責(zé)任編輯:華軒 來源: 高效運維
相關(guān)推薦

2023-10-09 07:31:25

2021-07-01 11:29:45

KubernetesGrafana監(jiān)控

2011-08-22 15:09:37

nagios網(wǎng)絡(luò)監(jiān)控

2022-12-13 08:01:06

監(jiān)控黑盒集成

2022-05-19 08:21:02

vmalert監(jiān)控

2022-07-08 08:00:31

Prometheus監(jiān)控

2020-07-27 08:23:15

HadoopPrometheusZabbix

2022-05-12 08:01:26

vmagentprometheus

2023-12-27 18:05:13

2009-01-18 09:15:00

網(wǎng)絡(luò)管理遠(yuǎn)程監(jiān)控

2019-08-27 20:00:23

2025-01-10 00:00:00

Prometheus優(yōu)化Kubernetes

2021-03-26 11:24:20

網(wǎng)絡(luò)集群監(jiān)控

2023-09-12 07:11:33

Prometheus聚合告警GPT

2021-10-08 06:22:00

Prometheus 儀表化應(yīng)用運維

2021-03-26 20:37:14

Prometheus監(jiān)控指標(biāo)

2022-07-05 08:10:25

Kubernetes云原生

2022-05-18 08:32:05

服務(wù)監(jiān)控Prometheus開源

2024-02-06 17:57:06

Go語言任務(wù)

2023-12-27 08:47:41

PrometheusLinux架構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三 | 欧美视频二区 | 91热在线 | 日韩精品区 | 欧美一区二区三区在线播放 | 久热精品在线观看视频 | 国产成人亚洲精品自产在线 | 国产91在线播放精品91 | 在线看91 | 久久久久久久久久一区二区 | 黄a在线观看| 在线国产欧美 | 亚洲成人一区 | 日韩视频一级 | 欧美成人h版在线观看 | 中文字幕 视频一区 | 亚洲成人一区 | 狠狠插天天干 | 久热9| 国产真实乱对白精彩久久小说 | 亚洲视频二 | 日本一区二区在线视频 | 国产综合在线视频 | 久久久久久久久99 | 国产精品久久久久久久午夜 | 午夜久久久 | 一区二区三区免费看 | 91精品综合久久久久久五月天 | 国产精品免费视频一区 | 粉嫩一区二区三区四区公司1 | 中文字幕亚洲区 | 亚洲精品欧美 | 亚洲国产精品福利 | 毛片在线免费播放 | 极品的亚洲| 日本高清在线一区 | 99tv| 福利精品在线观看 | 久久美女视频 | 超碰成人免费 | 成人一区二区在线 |