您好,登錄后才能下訂單哦!
怎么實現基于Prometheus 和Grafana的監控平臺的環境搭建,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
微服務中的監控分根據作用領域分為三大類,Logging,Tracing,Metrics。
Logging - 用于記錄離散的事件。例如,應用程序的調試信息或錯誤信息。它是我們診斷問題的依據。比如我們說的ELK就是基于Logging。
Metrics - 用于記錄可聚合的數據。例如,隊列的當前深度可被定義為一個度量值,在元素入隊或出隊時被更新;HTTP 請求個數可被定義為一個計數器,新請求到來時進行累。prometheus專注于Metrics領域。
Tracing - 用于記錄請求范圍內的信息。例如,一次遠程方法調用的執行過程和耗時。它是我們排查系統性能問題的利器。最常用的有Skywalking,ping-point,zipkin。
今天我們主要聊聊Prometheus的監控,接下來我們了解下需要涉及的幾個關鍵組件。
Prometheus(中文名:普羅米修斯)是由SoundCloud開發的開源監控報警系統和時序列數據庫(TSDB). Prometheus使用Go語言開發, 是Google BorgMon監控系統的開源版本。
Prometheus的基本原理是通過HTTP協議周期性抓取被監控組件的狀態, 任意組件只要提供對應的HTTP接口就可以接入監控. 不需要任何SDK或者其他的集成過程。輸出被監控組件信息的HTTP接口被叫做exporter,目前開發常用的組件大部分都有exporter可以直接使用, 比如Nginx、MySQL、Linux系統信息、Mongo、ES等
prometheus可以理解為一個數據庫+數據抓取工具, 工具從各處抓來統一的數據, 放入prometheus這一個時間序列數據庫中. 那如何保證各處的數據格式是統一的呢?就是通過這個exporter. Exporter是一類數據采集組件的總稱. Exporter負責從目標處搜集數據, 并將其轉化為Prometheus支持的格式, 它開放了一個http接口(以便Prometheus來抓取數據). 與傳統的數據采集組件不同的是, Exporter并不向中央服務器發送數據, 而是等待中央服務器(如Prometheus等)主動前來抓取。https://github.com/prometheus 有很多寫好的exporter,可以直接下載使用。
Grafana是一個圖形化工具, 它可以從很多種數據源(例如Prometheus)中讀取數據信息, 使用很漂亮的圖表來展示數據, 并且有很多開源的dashborad可以使用,可以快速地搭建起一個非常精美的監控平臺。它與Prometheus的關系就類似于Kibana與ElasticSearch。
在開始配置之前請下載以下幾個軟件(直接從github或者grafana官網下載太慢了,簡直是龜速而且容易下載失敗,建議使用迅雷下載)。
prometheus
grafana
node_exporter
準備兩臺服務器,一臺用作安裝prometheus和grafana,一臺用作放置exporter組件。建立應用文件夾,將相關軟件上傳至服務器。
192.168.249.131 prometheus,grafana
192.168.249.129 exporter
使用如下shell命令進行安裝并啟動
tar zxvf prometheus-2.13.1.linux-amd64.tar.gz mv prometheus-2.13.1.linux-amd64 prometheus cd prometheus nohup ./prometheus &
啟動完成后,用瀏覽器打開 http://192.168.249.131:9090
進行訪問,效果如下:
使用如下shell命令進行安裝并啟動
tar grafana-6.4.3.linux-amd64.tar.gz cd grafana-6.4.3 nohup ./grafana-server &
啟動完成后,用瀏覽器打開 http://192.168.249.131:3000
進行訪問,默認賬號密碼為admin/admin,初次登陸需要修改密碼,修改密碼并登陸效果如下:
使用如下shell命令進行安裝并啟動
tar zxvf node_exporter-0.18.1.linux-amd64.tar.gz mv node_exporter-0.18.1.linux-amd64 node_exporter nohup ./node_exporter &
node exporter默認使用9100端口,可以使用--web.listen-address=":9200"
指定端口號。啟動完成后,用瀏覽器打開 http://192.168.249.129:9100/
進行訪問,顯示效果如下:
進入prometheus安裝目錄,修改 prometheus.yml
文件,增加監聽job server-192.168.249.129
,完整配置如下:
# my global configglobal: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093rule_files: # - "first_rules.yml" # - "second_rules.yml"scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: '192.168.249.129' static_configs: - targets: ['192.168.249.129:9100']
配置完成后重啟prometheus,查看監聽狀態。
配置prometheus數據源
去官網尋找對應的表盤,我們選擇node exporter監控看板
在grafana中在導入表盤
查看監控效果
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。