1. 程式人生 > >基於Prometheus和Grafana的監控平臺 - 環境搭建

基於Prometheus和Grafana的監控平臺 - 環境搭建

相關概念

微服務中的監控分根據作用領域分為三大類,Logging,Tracing,Metrics。

  • Logging - 用於記錄離散的事件。例如,應用程式的除錯資訊或錯誤資訊。它是我們診斷問題的依據。比如我們說的ELK就是基於Logging。

  • Metrics - 用於記錄可聚合的資料。例如,佇列的當前深度可被定義為一個度量值,在元素入隊或出隊時被更新;HTTP 請求個數可被定義為一個計數器,新請求到來時進行累。prometheus專注於Metrics領域。

  • Tracing - 用於記錄請求範圍內的資訊。例如,一次遠端方法呼叫的執行過程和耗時。它是我們排查系統性能問題的利器。最常用的有Skywalking,ping-point,zipkin。

今天我們主要聊聊Prometheus的監控,接下來我們瞭解下需要涉及的幾個關鍵元件。

Prometheus

Prometheus(中文名:普羅米修斯)是由SoundCloud開發的開源監控報警系統和時序列資料庫(TSDB). Prometheus使用Go語言開發, 是Google BorgMon監控系統的開源版本。

Prometheus的基本原理是通過HTTP協議週期性抓取被監控元件的狀態, 任意元件只要提供對應的HTTP介面就可以接入監控. 不需要任何SDK或者其他的整合過程。輸出被監控元件資訊的HTTP介面被叫做exporter,目前開發常用的元件大部分都有exporter可以直接使用, 比如Nginx、MySQL、Linux系統資訊、Mongo、ES等

exporter

prometheus可以理解為一個數據庫+資料抓取工具, 工具從各處抓來統一的資料, 放入prometheus這一個時間序列資料庫中. 那如何保證各處的資料格式是統一的呢?就是通過這個exporter. Exporter是一類資料採集元件的總稱. Exporter負責從目標處蒐集資料, 並將其轉化為Prometheus支援的格式, 它開放了一個http介面(以便Prometheus來抓取資料). 與傳統的資料採集元件不同的是, Exporter並不向中央伺服器傳送資料, 而是等待中央伺服器(如Prometheus等)主動前來抓取。https://github.com/prometheus 有很多寫好的exporter,可以直接下載使用。

Grafana

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

prometheus

使用如下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進行訪問,效果如下:

grafana

使用如下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,初次登陸需要修改密碼,修改密碼並登陸效果如下:

node_exporter

使用如下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安裝目錄,修改prometheus.yml檔案,增加監聽job server-192.168.249.129,完整配置如下:

# my global config
global:
  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 configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

rule_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,檢視監聽狀態。

grafana

  • 配置prometheus資料來源

  • 去官網尋找對應的錶盤,我們選擇node exporter監控看板

  • 在grafana中在匯入錶盤

  • 檢視監控效果

至此基於Prometheus的監控環境搭建完成,你也來動手試一下吧。

近期熱文

  • SpringBoot+Mysql8實現讀寫分離

  • Springboot2.x + ShardingSphere 實現分庫分表

  • 基於elasticsearch的自定義業務告警的設計思路

請關注個人公眾號:JAVA日知錄

相關推薦

基於PrometheusGrafana監控平臺 - 環境搭建

相關概念 微服務中的監控分根據作用領域分為三大類,Logging,Tracing,Metrics。 Logging - 用於記錄離散的事件。例如,應用程式的除錯資訊或錯誤資訊。它是我們診斷問題的依據。比如我們說的ELK就是基於Logging。 Metrics - 用於記錄可聚合的資料。例如,佇列的當前深度可

基於PrometheusGrafana監控平臺 - 運維告警

通過前面幾篇文章我們搭建好了監控環境並且監控了伺服器、資料庫、應用,運維人員可以實時瞭解當前被監控物件的執行情況,但是他們不可能時時坐在電腦邊上盯著DashBoard,這就需要一個告警功能,當伺服器或應用指標異常時傳送告警,通過郵件或者簡訊的形式告訴運維人員及時處理。 今天我們就來聊聊 基於Prometheu

基於PrometheusGrafana進行效能監控_Kubernetes中文社群

1、Prometheus介紹和架構 1.1 Prometheus介紹 Prometheus是一個開源的系統監視和警報工具包,自2012成立以來,許多公司和組織採用了Prometheus。它現在是一個獨立的開源專案,並獨立於任何公司維護。在2016年,Prometheus加入雲端計算基金會作為K

基於PrometheusGrafana打造業務監控看板

## 前言 業務監控對許許多多的場景都是十分有意義,業務監控看板可以讓我們比較直觀的看到當前業務的實時情況,然後運營人員可以根據這些情況及時對業務進行調整操作,避免業務出現大問題。 老黃曾經遇到過一次比較尷尬的“事故”。 其中一條業務線,服務著的其中一個商家,把大部分流量切到另外一個地方去了,而我們的運

使用 Prometheus Grafana 監控 Spark 應用

文章目錄 背景 實現 技術方案 採集資料寫入資料庫 dashboard 配置 效果 相關檔案 參考 背景 每個開發者都想了解自己任務執行時的狀態,便於調優及排錯,Spark 提供的

使用PrometheusGrafana監控服務

Prometheus是一個開源的監控服務,可以用來採集服務的狀態資料,Grafana是一個開源的分析和監控軟體,我最近在配置這些服務來對我們現有的服務以及機器進行監控。這篇文章記錄了配置Prometheus和Grafana的步驟,以便以後查閱使用,本文使用的伺服器是CentOS 7。 安裝Pro

ELK 日誌監控平臺環境搭建及使用說明

1. ELK概述 ELK,也就是Elasticsearch、Logstash、Kibana三者的結合,是一套開源的分散式日誌管理方案. Elasticsearch:負責日誌儲存、檢索和分析 LogStash:負責日誌的收集、處理 Kibana:負責日

基於 Arduino IoT 雲平臺搭建物聯網系統

來看 需要 padding .... nal maker post 分層結構 car 在這篇文章中,我們將介紹如何搭建一款監測土壤水分的物聯網系統,用於在土壤幹燥時發出警報,提醒用戶。本項目使用了IoT 雲平臺來管理警報系統,同時存儲來自傳感器的數據。眾所周知,物聯網是當今

prometheus+grafana 監控生產環境機器的系統資訊、redis、mongodb以及jvm

介紹:       為了更好的對生產環境的一些中介軟體和作業系統的執行情況進行視覺化的展示,近期瞭解了下prometheus加上grafana來實現這種效果,由於prometheus是新出來的開源專案,所以,監控的外掛還不是很多,但是對基本的一些需求能夠滿足。     Prometheus 是源於 Googl

搭建telegraf、influxdb、grafana監控平臺監控docker容器

安裝influxdb influxdb是一個時序資料庫,非常適合用來記錄監控資訊。 拉取映象 docker pull tutum/influxdb 啟動映象 docker run -d -p 8083:8083 -p 8086:808

Prometheus+Grafana監控報警系統搭建

1.基本概念 Prometheus 架構圖 工作流程:通過exporters從資料來源主動拉取資料(metrics),儲存到時序資料庫(TSDB)中,可以通過HTTP Server訪問,同時可以發起報警,對於資料庫中的時序資料,提供P

Grafana+Prometheus打造springboot監控平臺

1. 環境 springboot 1.5.4 Grafana 5.2.3 Prometheus 2.3.2 jdk 1.8 2.為springboot新增endpoint 在專案pom.xml中新增如下依賴 <dependency> &l

incubator-dolphinscheduler 如何在不寫任何新程式碼的情況下,能快速接入到prometheusgrafana中進行監控

一、prometheus和grafana 簡介 prometheus是由谷歌研發的一款開源的監控軟體,目前已經貢獻給了apache 基金會託管。   監控通常分為白盒監控和黑盒監控之分。   白盒監控:通過監控內部的執行狀態及指標判斷可能會發生的問題,從而做出預判或對其進行優化。   黑盒監控:監控系統或服

基於maven來Spring MVC的環境搭建遇到“坑”

nbsp 操作 應該 sdn 8.0 環境 art href 環境搭建 1、註解配置路徑問題; 在web.xml中配置spring mvc 路徑時,   應該配置如下:classpath:classpath:spring-* 2、jdk版本和Spring MVC版本不一致問

基於Z-Stack的ZigBee開發環境搭建

一、硬體環境 CC2530開發板 除錯工具:CC Debugger或SmartRF04EB ZigBee USB Dongle:用於抓包 二、軟體環境 2.1 Z-Stack 下載及安裝 Z-Stack下載路徑連結 下載HA協議棧 進入

chap0x01 基於VirtualBox的網路攻防基礎環境搭建例項講解

chap0x01 基於VirtualBox的網路攻防基礎環境搭建例項講解 節點: Victim、Gateway、Attacker 實驗環境: Victim: kali-linux-2018.3-amd64.iso Gateway: kali-linux-2018.3-a

esp8266~入坑sdk 3.0 IDF框架linux交叉編譯環境搭建

一、交叉編譯環境搭建步驟 1、安裝virtualbox、ubuntu虛擬機器共享windows資料夾,注!virtualbox最好裝在C盤,不然安裝虛擬工具經常會失敗。 2、新建共享目錄,掛載共享目錄到虛擬機器中 sudo mount -t vboxsf share /mn

基於TCPSocket的Linux環境下簡易聊天工具設計

主要實現一個Linux下的區域網聊天工具的設計。 該設計主要分為兩部分,客戶端部分和伺服器端部分。 執行伺服器端程式可以和任意一個運行了的客戶端程式的進行通訊,通訊內容能夠通過終端顯示出來。兩個部分都使用C語言,利用vim編輯器,通過tcp,套介面程式設計實現

Dubbo剖析-監控平臺搭建與使用

一、前言 dubbo-monitor主要用來統計服務的呼叫次調和呼叫時間的監控中心,服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心,監控中心則使用資料繪製圖表來顯示。 二、dubbo-monitor-simple的搭建 在服務提供方和消費方需要配置

ChainDesk:基於ethereum的五種鏈環境搭建方式

ChainDesk:基於ethereum的五種鏈環境搭建方式 第一章:<<基於ethereum的五種鏈環境搭建方式>>介紹 http://www.chaindesk.cn/witbook/7/41?20190105meiti 第二章:前期環境 http://w