Grafana監控系統之Prometheus+Grafana監控系統搭建
導航
- Grafana監控系統之Prometheus+Grafana監控系統搭建
- 一. 概述
- 二. Grafana監控系統之Prometheus+Grafana監控系統搭建
- 三. Grafana監控系統之搭建其他服務器監控系統
- 3.1 前述
- 3.2 安裝Prometheus
- 3.3 啓動Prometheus
- 3.4 配置Prometheus:
- 3.5 添加機器狀態監控
- 3.6 配置Prometheus.yml文件
- 3.7 配置Grafana
- 3.8 配置可視化界面
- 3.9 查看效果
- 四. Grafana監控系統之郵件報警
- 五. Grafana監控系統之搭建MySQL監控系統
- 六. Grafana監控系統之開放API
- 七. Grafana監控系統之監控RabbitMQ
- 八. Grafana監控系統之監控Redis
- 8.1 下載並解壓
- 8.2 啓動 Redis_exporter
- 8.3 配置Prometheus.yml
- 8.4 檢查Redis狀態
- 8.5 配置Grafana的數據源
- 8.6 配置展示面板
- 8.7 直接查看,展示效果圖如下:
- 九.Grafana監控系統之監控TiDB
一. 概述
1.1 Grafana介紹
Grafana是一個跨平臺的開源的度量分析和可視化工具,可以通過將採集的數據查詢然後可視化的展示,並及時通知。它主要有以下六大特點:
-
展示方式:快速靈活的客戶端圖表,面板插件有許多不同方式的可視化指標和日誌,官方庫中具有豐富的儀表盤插件,比如熱圖、折線圖、圖表等多種展示方式;
-
數據源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;
-
通知提醒:以可視方式定義最重要指標的警報規則,Grafana將不斷計算併發送通知,在數據達到閾值時通過Slack、PagerDuty等獲得通知;
-
混合展示:在同一圖表中混合使用不同的數據源,可以基於每個查詢指定數據源,甚至自定義數據源;
-
註釋:使用來自不同數據源的豐富事件註釋圖表,將鼠標懸停在事件上會顯示完整的事件元數據和標記;
-
過濾器:Ad-hoc過濾器允許動態創建新的鍵/值過濾器,這些過濾器會自動應用於使用該數據源的所有查詢。
簡單來講,它是一個多用途的監控工具,同時通過郵件等方式進行有效的預警通知,豐富的直觀的可視化界面,多種數據源配置是其優點所在;
1.2 Prometheus對比Zabbix
-
和Zabbix類似,Prometheus也是一個近年比較火的開源監控框架,和Zabbix不同之處在於Prometheus相對更靈活點,模塊間比較解耦,比如告警模塊、代理模塊等等都可以選擇性配置。服務端和客戶端都是開箱即用,不需要進行安裝。zabbix則是一套安裝把所有東西都弄好,很龐大也很繁雜。
-
zabbix的客戶端agent可以比較方便的通過腳本來讀取機器內數據庫、日誌等文件來做上報。而Prometheus的上報客戶端則分爲不同語言的SDK和不同用途的exporter兩種,比如如果你要監控機器狀態、mysql性能等,有大量已經成熟的exporter來直接開箱使用,通過http通信來對服務端提供信息上報(server去pull信息);而如果你想要監控自己的業務狀態,那麼針對各種語言都有官方或其他人寫好的sdk供你使用,都比較方便,不需要先把數據存入數據庫或日誌再供zabbix-agent採集。
-
zabbix的客戶端更多是隻做上報的事情,push模式。而Prometheus則是客戶端本地也會存儲監控數據,服務端定時來拉取想要的數據。
-
界面來說zabbix比較陳舊,而prometheus比較新且非常簡潔,簡潔到只能算一個測試和配置平臺。要想獲得良好的監控體驗,搭配Grafana還是二者的必走之路。
1.3 Grafana結構圖
1.4 通俗講
- Prometheus作爲一箇中間點,而Grafana作爲可視化展示,後面的exporter作爲監控,exporter將需要獲取的數據獲取並連接到Prometheus,而Prometheus連接到Grafana,直觀展示被監控者狀態;
二. Grafana監控系統之Prometheus+Grafana監控系統搭建
2.1 安裝Prometheus
- 下載並解壓
wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
- 運行Prometheus server
cd prometheus-2.7.2.linux-amd64
./prometheus --config.file=prometheus.yml
- 配置Prometheus
- 在Prometheus.yml中有配置文件,我們可以對其進行配置,當然第一次安裝也可以不管;
$ cat prometheus.yml
# 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
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
其大致可分爲四部分:
- global:全局配置,其中scrape_interval表示抓取一次數據的間隔時間,evaluation_interval表示進行告警規則檢測的間隔時間;
- alerting:告警管理器(Alertmanager)的配置,目前還沒有安裝Alertmanager;
- rule_files:告警規則有哪些;
- scrape_configs:抓取監控信息的目標。一個job_name就是一個目標,其targets就是採集信息的IP和端口。這裏默認監控了Prometheus自己,可以通過修改這裏來修改Prometheus的監控端口。Prometheus的每個exporter都會是一個目標,它們可以上報不同的監控信息,比如機器狀態,或者mysql性能等等,不同語言sdk也會是一個目標,它們會上報你自定義的業務監控信息。
- 訪問prometheus
- 輸入: “ip地址”+":9090" 在瀏覽器中進行訪問,如果出現可視化界面說明成功;
示例: 186.163.15.42:9090 直接在自己電腦中訪問
如果訪問不了,請檢查防火牆是否開啓9090端口
2.2 添加機器狀態監控(監控服務器CPU,硬盤,網絡等狀態)
- 下載且解壓並運行
// 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接
wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// 解壓
tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// 進入解壓出的目錄
cd node_exporter-0.17.0.linux-amd64
// 運行監控採集服務
./node_exporter
-
監聽9100端口
- 本Centos中訪問:
curl http://localhost:9100/metrics
- 電腦瀏覽器中訪問:
ip地址:9100
如果訪問有內容顯示則成功
啓動服務的時候可使用nohup後臺啓動,如果是直接圖中所示內容啓動則重開連接
- 去Prometheus的配置文件中加上這個exporter的地址
- 先回到根目錄
- 本Centos中訪問:
cd ~
- 進入prometheus
cd prometheus-2.7.2.linux-amd64/
- 編輯配置文件prometheus.yml
vim prometheus.yml
沒有vim可以下載或者使用vi也可以
- 添加target:
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'server'
static_configs:
- targets: ['localhost:9100']
2.3 安裝Grafana
- 下載並解壓Grafana
wget https://dl.grafana.com/oss/release/grafana-6.0.0.linux-amd64.tar.gz
tar -zxvf grafana-6.0.0.linux-amd64.tar.gz
這個頁面給出的是最新版本的安裝命令,右上角可以選擇切換其他版本的安裝命令。解壓後會出現 grafana-6.0.0 目錄,進入該目錄,然後就可以運行Grafana了;
-
安裝插件
- 進入Grafana服務器的該Grafana的lib目錄下,然後輸入以下命令更新插件:
./grafana-cli plugins install grafana-piechart-panel
- 進入Grafana服務器的該Grafana的lib目錄下,然後輸入以下命令更新插件:
-
運行Grafana
cd grafana-6.0.0
// 啓動Grafana。
./bin/grafana-server web
- 在Grafana展示監控信息
-
安裝並啓動Grafana後,瀏覽器輸入 IP:3000 來訪問Grafana,管理員賬號密碼默認是admin/admin。首次登陸會讓你修改管理員密碼,然後就可以登錄查看了。
-
添加數據源
-
選擇Prometheus
-
先輸入名稱,然後填入http://ip+9090然後直接點Save&Test,成功後則直接點擊Dashboards選擇展示面板
-
點擊導入,可一個也可以全部導入
-
選擇左側邊欄的 + 號,點擊Imput, 在Grafana.com Dashboard中輸入: 8919
也可以自己選擇官方展示面板,鏈接: https://grafana.com/dashboards
- 輸入號碼後點擊確定,然後再prometheus選擇對應的Prometheus,點擊Import即可
-
- 查看效果
-
左邊側欄選擇方塊,點擊Manage,然後點擊剛剛創建的,即可成功展示!
-
展示效果如圖所示:
-
三. Grafana監控系統之搭建其他服務器監控系統
3.1 前述
-
這次的教程是配置其他服務器的監控系統,所以假設上面的已經做好了
-
監控系統的Prometheus類似於一個註冊中心,我們可以只需要配置一個Prometheus,而在其他服務器,只需要安裝node_exporter,它們的數據流轉就是通過exporter採集數據信息,然後告訴prometheus它的位置;而Prometheus則存儲exporter的信息供Grafana詢問;Grafana則負責信息的展示;所以可以只配置一個Prometheus,而其他服務器或者本機的服務器的exporter只需要在這一個Promethes中給出它的job_name,targets地址等信息即可;
-
這裏介紹了又重新下載了一個Prometheus的方式,不下載的話可直接跳過從教程: 3.5 添加機器狀態監控 開始
3.2 安裝Prometheus
- 連接需要被安裝的服務器,安裝Prometheus:
$ wget https://github.com/prometheus/prometheus/releases/download/v2.7.2/prometheus-2.7.2.linux-amd64.tar.gz
$ tar xvfz prometheus-2.7.2.linux-amd64.tar.gz
3.3 啓動Prometheus
// 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// 解壓
$ tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// 進入解壓出的目錄
$ cd node_exporter-0.17.0.linux-amd64
// 運行監控採集服務
$ ./node_exporter
3.4 配置Prometheus:
$ cat prometheus.yml
# 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
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
如無其他特殊需求可不做改變;
3.5 添加機器狀態監控
// 下載最新版本,可以在github的release中對最新版本右鍵獲取下載鏈接
$ wget https://github.com/prometheus/node_exporter/releases/download/v0.17.0/node_exporter-0.17.0.linux-amd64.tar.gz
// 解壓
$ tar xvfz node_exporter-0.17.0.linux-amd64.tar.gz
// 進入解壓出的目錄
$ cd node_exporter-0.17.0.linux-amd64
// 運行監控採集服務
$ ./node_exporter
可使用後臺運行進程命令啓動也可以;訪問:http://ip:9100/metrics即可驗證,如果有對應界面則配置成功
3.6 配置Prometheus.yml文件
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'server'
static_configs:
- targets: ['localhost:9100']
如果prometheus不在本服務器,則將server下的targets中的localhost改爲對應的ip地址;
重新啓動一下
3.7 配置Grafana
- 進入Grafana服務器的該Grafana的lib目錄下,然後輸入以下命令更新插件:
./grafana-cli plugins install grafana-piechart-panel
更新插件後重新啓動服務
3.8 配置可視化界面
- 添加數據源
- 選擇Prometheus
- 先輸入名稱,然後填入http://ip+9090然後直接點Save&Test,成功後則直接點擊Dashboards選擇展示面板
- 點擊導入,可一個也可以全部導入
- 選擇左側邊欄的 + 號,點擊Imput, 在Grafana.com Dashboard中輸入: 8919
也可以自己選擇官方展示面板,鏈接: https://grafana.com/dashboards
- 輸入號碼後點擊確定,然後再prometheus選擇對應的Prometheus,點擊Import即可
3.9 查看效果
-
左邊側欄選擇方塊,點擊Manage,然後點擊剛剛創建的,即可成功展示!
-
展示效果如圖所示:
注意:如果需要監控其他服務器,則只需要在其他服務器安裝 node_exporter 即可,將其對應的ip地址,端口號等信息配置到已有的Prometheus的Prometheus.yml內即可;格式參照其他,job_name不能命名成一樣的,可改成其他名稱;Grafana添加數據源和註冊儀表盤都是一致的;
四. Grafana監控系統之郵件報警
4.1 Grafana服務器配置
- 關閉服務
ctrl+c
如果是後臺啓動的服務,則用相關的命令關閉grafana web
如果grafana監控系統沒有開啓,則無需關閉;
- 進入grafana目錄
cd grafana-6.0.0
- 編輯配置文件conf
vim defaults.ini
沒有vim直接 yum install vim 即可,使用vi 也可以進行編輯
smtp.qq.com:465是針對qq郵箱的,其他的郵箱的服務器不同,請做對應的改變,直接百度即可;
- 編輯完退出:
ESC
+:wq
+Enter
- 返回上一級
cd ..
- 啓動服務
./bin/grafana-server web
4.2 Grafana 可視化界面配置
- 添加
- 輸入具體警告內容
如果成功就能接收到郵件,否則查看服務器內配置是否正確;
4.3 郵件報警總結
- 此功能可以具體對某些儀表盤的數據設立閥值,如果超過此值則觸發報警,具體的應用具體分析,後面補充;
五. Grafana監控系統之搭建MySQL監控系統
5.1 步驟概述概述
- 下載安裝Mysql並配置賬號密碼
- 導入sql文件
- 安裝mysqld_exporter
- 對mysqld_exporter進行操作
- 運行mysql_exporter
- 加入Prometheus.yml配置
- 配置可視化界面
5.2 下載安裝Mysql
- 如果是對已有的mysql進行操作,請忽略此步驟;
- 下載mysql的repo源:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- 安裝mysql-community-release-el7-5.noarch.rpm包:
rpm -ivh mysql-community-release-el7-5.noarch.rpm
- 安裝mysql:
yum install mysql-server -y
修改權限,否則會報錯:
chown -R root:root /var/lib/mysql
重啓mysql服務:
service mysqld restart
登錄並重置密碼:
## 直接回車進入mysql控制檯
mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
5.3 導入sql文件
- 下載my2.sql
https://codeload.github.com/john1337/my2Collector/zip/master
- 解壓文件後將此文件夾內的sql文件放入要監控的Mysql服務器中
- 使用命令登錄mysql
mysql -u用戶名 -p密碼
示例: mysql -uroot -proot - 使用命令導入sql文件
source /root/my2.sql
後面的是具體地址,如果位置不對則相應變化
- 當出現一系列執行成功,則說明完成;
5.4 對mysqld_exporter進行操作
- 先下載並解壓:
https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
tar -xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz
- 創建.my.cnf 文件
vim vi.my.cnf
- 創建效果如下:
[client]
user=root
password=root
賬號密碼只要連接得上mysql即可,也可單獨爲其分配賬號;
- 運行mysql_exporter
./mysqld_exporter -config.my-cnf=".my.cnf" &
5.5 加入Prometheus.yml配置
- job_name: mysql
static_configs:
- targets: ['mysql的ip地址:9104']
這裏9104不要改動,配好後保存重啓Prometheus,然後點擊Status->Targets,如果發現mysql的State爲Up 狀態,則說明已經配置好了
如果沒有配置好,則可以注意一下是否mysql開啓了遠程訪問,一般新安裝的msyql都是僅本機可訪問;開啓遠程訪問可百度;
5.6 配置可視化界面
- 先點擊小齒輪添加DataSource,然後點擊Mysql,輸入對應的ip+端口號,以及賬號密碼等信息,點擊Save&Test進行測試,如果反饋成功則說明配置成功
- 點擊+ 圖標,然後選擇Import ,可選擇官方文檔中的儀表盤,這裏我使用的是: 7991
輸入7991點Load可自動加載
- 官方地址: https://grafana.com/dashboards
- 加載後配置相關的名稱地址,以及加載的數據源等信息,點擊添加後即可在 小方塊 圖標的Manage下展示;
- 效果圖如下:
六. Grafana監控系統之開放API
6.1 概述
- 在我們使用server類型的訪問模式中,訪問數據通常有兩種形式;一種是直接使用用戶登錄,獲取到的Cookie進行驗證;一種是通過 API令牌機制進行資源請求校驗;
- Admin HTTP API目前不支持API令牌。API令牌目前僅鏈接到組織和組織角色。他們無法獲得服務器管理員的許可,只有用戶才能獲得該權限。因此,爲了使用這些API調用,您必須使用Basic Auth,Grafana用戶必須具有Grafana Admin權限。(默認管理員用戶被調用admin並且有權使用此API。)
6.2 關於用戶登錄驗證請求資源
- 無法使用HTTP API的部分,可以使用RestTemplate等工具模擬登錄驗證,獲取Cookie請求資源;而請求資源我們可以使用F12 獲取請求的接口地址,需要哪些資源,直接到相關站點界面獲取接口地址,模擬登錄即可做對應的操作;
這部分不多加介紹,下面介紹使用HTTP API的方式;
6.3 創建API 令牌
- 創建API KEY
- 點擊保存
- 將Key後面的內容作爲 Authorization中的Bearer 後的內容:
裏面的權限爲Viewer,Eidtor,和Admin,權限爲只能看,可以部分寫,以及全部權限;
6.4 驗證HTTP資源/操作 接口示例:
6.5 創建API Key 示例:
- 請求ip地址和請求頭填寫內容:
- 請求體內填寫內容:
權限類別可分爲Viewer,Editor和Admin,Viewer只能查看,Editor可以一些界面進行操作,而Admin是擁有所有權限的角色;
secondsToLive - 以秒爲單位設置密鑰到期時間。這是可選的。如果是正數,則設置密鑰的到期日期。如果它爲null,爲零或完全省略(除非api_key_max_seconds_to_live設置了配置選項),密鑰將永不過期。
6.6 刪除API Key示例:
- 先通過查詢接口查詢到所有Api Key列表
- 拿到需要刪除的ApiKey的id,然後使用Delete請求方式,在最後帶id即可刪除對應id的ApiKey,圖示如下:
只要支持HTTP API的均可使用此方式,具體的請求路徑和對應資源可進入官方文檔查看;
https://grafana.com/docs/http_api/dashboard/
七. Grafana監控系統之監控RabbitMQ
7.1 下載並解壓
- 下載:
wget https://github.com/kbudde/rabbitmq_exporter/releases/download/v1.0.0-RC5/rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz
沒有wget等命令請自行搜索下載
- 解壓:
tar -xvf rabbitmq_exporter-1.0.0-RC5.linux-amd64.tar.gz
- 進入目錄:
cd rabbitmq_exporter-1.0.0-RC5.linux-amd64
- 執行命令:
RABBIT_USER=guest RABBIT_PASSWORD=guest OUTPUT_FORMAT=JSON PUBLISH_PORT=9099 RABBIT_URL=http://localhost:15672 nohup ./rabbitmq_exporter 2>&1 &
注意裏面的PABBIT_USER的賬號,以及後面的密碼,請按實際賬號密碼輸入,以及端口等;
7.2 加入Prometheus.yml
- 進入有Prometheus的服務器,進入Prometheus,編輯prometheus.yml
vim prometheus.yml
- 配置如下內容:
- job_name: 'RabbitMQ'
static_configs:
- targets: ['Rabbit的ip地址:9099']
這裏的ip地址寫Rabbit的地址,端口號默認都寫9099;
7.3 進入Grafana配置RabbitMQ地址
- 瀏覽器輸入:ip地址+3000 進入Grafana 默認賬戶和密碼都是admin
- 點擊小齒輪,點擊**Data Sources **
- 點擊右側 **Add data source ** 選擇Prometheus
- 編輯Prometheus的配置信息,Name爲名稱,URL爲 http://promethues的服務器地址和端口號(9090)
這裏的URL不是寫RabbitMQ的服務器地址,而是Prometheus的地址,注意不要弄錯;
- 點擊Save&Test進行測試,如果下方出現小綠條提示: Data source is working 則說明安裝成功
- 點擊左側的 + 圖標,選擇Import,在第一個輸入框中輸入 2121 ,然後點擊 Load
- 點擊左側小方塊圖標,點擊Manage 選擇剛剛配好的,點擊進入即可展示,效果圖如下:
八. Grafana監控系統之監控Redis
8.1 下載並解壓
- 下載:
wget https://github.com/oliver006/redis_exporter/releases/download/v1.0.3/redis_exporter-v1.0.3.linux-amd64.tar.gz
- 解壓:
tar -xvf redis_exporter-v1.0.3.linux-amd64.tar.gz
8.2 啓動 Redis_exporter
- 無密碼:
./redis_exporter redis//192.168.1.120:6379 &
- 有密碼:
redis_exporter -redis.addr 192.168.1.120:6379 -redis.password 123456****
裏面的ip地址和端口號請根據自身實際來
8.3 配置Prometheus.yml
- 進入prometheus的服務器,然後進入prometheus.yml,進行編輯:
- 編輯:
vim prometheus.yml
- 內容如下:
- job_name: redis
static_configs:
- targets: ['ip地址:9121']
8.4 檢查Redis狀態
- 進入地址
Premetheus的ip地址:9090/targets
如果顯示State的結果爲 UP 則說明成功。
8.5 配置Grafana的數據源
- 登錄網站:
Grafana的ip地址:3000
- 添加數據源,如果之前已經在Grafana中添加了此DataSource(指向了安裝有Prometheus的ip地址和對應端口),則無需重新添加,在導入面板的時候,可以直接引用此DataSource;
8.6 配置展示面板
- 先進行登陸,登陸後點擊 + 號選擇Import
- 在第一個框框內輸入: 731
注意,也可以自己找其他的展示面板,在官方的面板頁面找到數據源爲Prometheus的Redis展示面板,在上方所說的對應位置輸入它的編號即可
官方控制面板地址:https://grafana.com/dashboards
8.7 直接查看,展示效果圖如下:
九.Grafana監控系統之監控TiDB
9.1 下載二進制包並解壓
- 下載
wget https://github.com/prometheus/node_exporter/releases/download/v0.15.2/node_exporter-0.15.2.linux-amd64.tar.
- 解壓
tar -xzf node_exporter-0.15.2.linux-amd64.tar.gz
9.2 啓動服務
- 進入目錄:
cd node_exporter-0.15.2.linux-amd64
- 啓動 node_exproter服務
./node_exporter --web.listen-address=":9100" \ --log.level="info" &
9.3 在Prometheus.yml中配置
- 進入Prometheus所在的服務器,並進入該Prometheus目錄
cd prometheus-2.2.1.linux-amd64
- 編輯 prometheus.yml
vim prometheus.yml
- 新增內容如下:
- job_name: 'tidb'
honor_labels: true # 不要覆蓋 job 和實例的 label
static_configs:
- targets: ['tidb所在服務器ip地址:10080']
這裏配置好了以後,需要重新啓動一下Prometheus.yml,然後登陸 ip地址:9090/targets 如果Status顯示爲 UP 則說明成功;
9.4 啓動Grafana服務
./prometheus \
--config.file="./prometheus.yml" \
--web.listen-address=":9090" \
--web.external-url="http://192.168.199.113:9090/" \
--web.enable-admin-api \
--log.level="info" \
--storage.tsdb.path="./data.metrics" \
--storage.tsdb.retention="15d" &
9.5 啓動Grafana並配置DataSource
- 按照正常命令啓動,如果已經啓動過則無需改;
- 如果前面已經對此Prometheus的DataSource進行過配置,則無需再次配置,在導入展示面板的時候直接指向此已經寫好的展示面板即可;
9.6 導入Grafana面板
-
在側邊欄菜單中,依次點擊 + 號 > Import 打開 Import Dashboard 窗口。
-
點擊 Upload .json File 上傳對應的 JSON 文件(https://github.com/pingcap/tidb-ansible/tree/master/scripts)。
-
注意:TiDB 面板對應的 JSON 文件爲tidb.json 。 (我們可以通過上面的鏈接進入找到此tidb.json然後將內容複製出來命名爲tidb.json然後導入)
-
點擊 Load。
-
選擇一個 Prometheus 數據源。(以前對這個Prometheus創建過數據源,我們可以重複利用,直接指向即可)
-
點擊 Import,Prometheus 面板即導入成功。