influxDB1.6版安裝與配置(windows環境)、Jmeter+influxDB+Grafana性能監控
influxDB
1.介紹
influxDB是一個開源的時間序列數據庫,同時也屬於關系型數據庫,因為influxDB主要是針對一次插入的數據,沒有類似更新的操作,所以插入和讀出數據顯示速度比較快,我主要用來保存Jmeter運行的測試結果。
2.安裝
2.1 下載地址(需要翻牆)
https://portal.influxdata.com/downloads

influxDB,Nightly是每日的意思,每日構建,屬於測試版本,要選擇V1.6.2,點擊后無反應,我是查看源碼,找的下載地址,下載的(選擇windows版本)。
2.2 解壓安裝包

2.3 修改配置文件
InfluxDB 的數據存儲主要有三個目錄。默認情況下是 meta, wal 以及 data 三個目錄,服務器運行后會自動生成。
meta 用於存儲數據庫的一些元數據,meta 目錄下有一個 meta.db 文件。
wal 目錄存放預寫日志文件,以 .wal 結尾。
data 目錄存放實際存儲的數據文件,以 .tsm 結尾。
一、修改26行地址,去掉29,32行注釋

二、修改45、48行地址

三、去掉68;168、171;183,186、190;203、206、209;220、223;行注釋





2.4 運行influxDB數據庫服務器
通過命令啟動
influxd.exe -config influxdb.conf
運行后,不要關閉

2.5 運行influxDB數據庫客戶端
進入安裝目錄,直接運行influx.exe即可

2.5 influxDB數據庫常用命令
1、顯示所有數據庫:
show databases

2、創建數據庫:
create database test

3、使用某個數據庫:
use test

4、顯示所有表
show measurements

![]()
無表顯示為空
5、新建表和插入數據
新建表沒有具體的語法,只是增加第一條數據時,會自動建立表
insert results,hostname=index1 value=1

results代表表名,hostname是索引,value是具體的字段,默認會有time字段,也可以自己設定輸入的時間
這里的時間看不懂,可以設置一下時間顯示格式
precision rfc3339

7、查詢數據
表名有點號時,輸入雙引號

和sql語法相同,區別:
measurement 數據庫中的表
points 表里面的一行數據,Point由時間戳(time)、數據(field)、標簽(tags)組成。
8、用戶管理
a.顯示所有用戶:
show users

b.新增用戶:
-
--普通用戶
-
create user "user" with password 'user'
-
--管理員用戶
-
create user "admin" with password 'admin' with all privileges

c.刪除用戶
drop user "user"
2.6 基於web端管理influxDB數據庫
網上好多修改配置文件中admin選項的文章,在1.5版本, Influxdb添加了Chronograf 組件作為web管理端,原來的web admin界面沒有了,官網推出Chronograf,下載地址見第一步。
使用cmd進入安裝目錄,輸入influxd -config influxdb.conf,即可運行influxDB數據庫服務器
運行報錯:因為windows路徑反斜杠需要轉義,所以修改配置文件


重新運行:influxd -config influxdb.config,成功

port 8083:管理頁面端口,訪問localhost:8083可以進入你本機的influxdb管理頁面
port 8086:http連接influxdb client端口,一般使用該端口往本機的influxdb讀寫數據
2.7 Chronograf 使用
1、解壓文件后,直接進入安裝目錄,執行chronograf.exe后;
2、輸入:http://localhost:8888(chronograf默認是8888端口)
3、influxDB數據源連接

輸入數據庫密碼,點擊下一步,其他不用變,第二個頁面也一樣。

成功進入
2.8 telegraf和kapacitor介紹
telegraf是數據收集器,有很多的插件可用來收集數據。
kapacitor屬於報警器,用來給用戶發提醒。
2.9 Grafana介紹
主要是對數據通過插件進行圖形化展示,經常和jmeter、influxdb配合使用。
下載地址:https://grafana.com/grafana/download
默認使用端口:3000
進入http://localhost:3000,登錄默認用戶名和密碼都是admin
配置數據源
2.10 Jmeter配置
增加Backend Listener監聽器


graphiteHost: influxdb IP地址
graphitePort: 2003是Jmeter往數據庫發數據的端口
rootMeticsPrefix:指標前綴設置,用於方便區分
summaryOnly:true/false 是否統計總量
samplerList:測試Sampler名稱,支持正則表達式,全部可使用.*.*
summaryOnly:設置true時,此處設置無效。
useRegexpForSamplerList:測試Sampler名稱是否支持正則表達式
2.11需要配置influxdb.conf文件,並在influxdb數據庫建立jmeter數據庫

要想jmeter數據寫入influxDB,需要運行influxDB,需要用:influxd -config influxdb.config
Grafana里修改數據源為jmeter

執行jmeter,查看jmeter數據庫里是否出現新建的表

2.12 Grafana配置圖表
創建Dashboard

選擇圖表

編輯

選擇數據源,表

保存后,運行jmeter,就可以通過grafana查看啦
常用的監控有:
| jmeter.all.h.count | 所有請求的TPS |
| jmeter.<請求名稱>.h.count | 對應<請求名稱>的TPS |
| jmeter.all.ok.pct99 | 99%的請求響應時間 |
| jmeter.<請求名稱>.ok.pct99 | 對應<請求名稱>99%的請求響應時間 |
| jmeter.all.test.startedT | 線程數 |
其他監控見:http://jmeter.apache.org/usermanual/realtime-results.html
