locust_plugins之TimescaleListener踩坑

locust_plugins之TimescaleListener踩坑

介紹

TimescaleListener是locust的一個插件惨驶,主要作用是把壓測過程中產(chǎn)生的數(shù)據(jù)存到配置了Timescale 功能的Postgres 數(shù)據(jù)庫中,并用Grafana圖表顯示出來,相比于locust原生的界面婉称,使用該插件后能夠顯示歷史數(shù)據(jù)庇忌,能夠顯示的內(nèi)容也比較豐富,極大提升了locust的可用性和易用性邪蛔,十分推薦使用。

需要的組件
  • locust
  • Postgres
  • Grafana
安裝步驟
1扎狱、安裝Postgres 并配置Timescale

https://docs.timescale.com/latest/getting-started/setup

按照上述鏈接中的安裝步驟后無法執(zhí)行timescaledb-tune和啟動Postgres數(shù)據(jù)庫侧到,timescaledb-tune需要指定pg_conf配置文件來進(jìn)行配置:

timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config

配置完之后可以通過以下命令啟動Postgres數(shù)據(jù)庫:

systemctl start postgresql-12

此時可能無法使用psql命令執(zhí)行psql文件,需要在/usr/bin下建立軟鏈接:

ln -s psql /usr/pgsql-12/bin/psql

然后需要在pg_hba.conf中添加策略來開啟postgres用戶登錄:

#訪問來源(本地是local淤击,遠(yuǎn)程是host) 能夠訪問的數(shù)據(jù)庫   用戶名         地址(訪問來源是host時配置)      無需密碼
 host                             all           postgres             127.0.0.1/32             trust

然后修改postgresql.conf配置文件中的host匠抗、端口、日志級別污抬、數(shù)據(jù)目錄等配置汞贸。

然后再根據(jù)https://docs.timescale.com/latest/getting-started/setup中的步驟進(jìn)行建庫建表的配置。

2印机、建表

https://github.com/SvenskaSpel/locust-plugins/blob/master/locust_plugins/timescale_schema.sql將該鏈接中的sql文件保存到服務(wù)器矢腻,進(jìn)入上步中所建的數(shù)據(jù)庫中:

psql -U postgres -h localhost -d tutorial

執(zhí)行sql文件:

\i timescale_schema.sql
3、配置TimescaleListener所需的Postgres環(huán)境變量

TimescaleListener所需的Postgres數(shù)據(jù)庫配置是通過環(huán)境變量的方式配置耳贬,Postgres所有環(huán)境變量列表通過該鏈接:https://www.postgresql.org/docs/current/libpq-envars.html

一般情況下所需的配置如下:

export PGHOST=127.0.0.1
export PGPORT=5432
export PGDATABASE=tutorial
export PGUSER=postgres
export PGPASSWORD=xxxxxx
4踏堡、安裝和配置Grafana

Grafana安裝可以直接參考官網(wǎng)文檔。

安裝完成后配置數(shù)據(jù)源為PostgreSQL 咒劲,參考該鏈接:https://grafana.com/docs/grafana/latest/datasources/postgres/

配置插件所需的Dashboard可以導(dǎo)入該json:https://grafana.com/grafana/dashboards/10878

沒有啥坑顷蟆,按步驟執(zhí)行即可。

5腐魂、導(dǎo)入LOCUST_GRAFANA_URL 環(huán)境變量

跟第三步導(dǎo)入數(shù)據(jù)庫環(huán)境變量一樣帐偎,但是不知道有啥用:

export LOCUST_GRAFANA_URL=https://my.grafana.host.com/d/qjIIww4Zz/locust?orgId=1

也是因為這個環(huán)境變量導(dǎo)致TimescaleListener插件只能通過locust命令行的方式啟動壓測,不能以導(dǎo)入庫的方式啟動蛔屹,需要自己改寫一下才行削樊。

6、運行壓測

按照locust命令行的方式啟動:

locust --headless -f mytestplan.py

如果出現(xiàn)Make sure the TimescaleDB extension has been preloaded報錯的話,需要到數(shù)據(jù)庫中關(guān)閉ts_insert_blocker觸發(fā)器:

# 進(jìn)入數(shù)據(jù)庫
psql -U postgres -h localhost -d tutorial

# 查看有哪些表
tutorial=# \d

           List of relations
 Schema |    Name    | Type  |  Owner   
--------+------------+-------+----------
 public | events     | table | postgres
 public | request    | table | postgres
 public | testrun    | table | postgres
 public | user_count | table | postgres
 
 # 上述表中request漫贞、testrun甸箱、user_count都需要關(guān)閉觸發(fā)器
 tutorial=# DROP TRIGGER ts_insert_blocker ON public.request;
 tutorial=# DROP TRIGGER ts_insert_blocker ON public.testrun;
 tutorial=# DROP TRIGGER ts_insert_blocker ON public.user_count;

再次運行壓測,刷新Grafana就可以看到數(shù)據(jù)了迅脐。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末芍殖,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子谴蔑,更是在濱河造成了極大的恐慌豌骏,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隐锭,死亡現(xiàn)場離奇詭異窃躲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)钦睡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門蒂窒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赎婚,你說我怎么就攤上這事刘绣∮8龋” “怎么了挣输?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長福贞。 經(jīng)常有香客問我撩嚼,道長,這世上最難降的妖魔是什么挖帘? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任完丽,我火速辦了婚禮,結(jié)果婚禮上拇舀,老公的妹妹穿的比我還像新娘逻族。我一直安慰自己,他們只是感情好骄崩,可當(dāng)我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布聘鳞。 她就那樣靜靜地躺著,像睡著了一般要拂。 火紅的嫁衣襯著肌膚如雪抠璃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天脱惰,我揣著相機(jī)與錄音搏嗡,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛采盒,可吹牛的內(nèi)容都是我干的旧乞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼磅氨,長吁一口氣:“原來是場噩夢啊……” “哼良蛮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悍赢,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤决瞳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后左权,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皮胡,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年赏迟,在試婚紗的時候發(fā)現(xiàn)自己被綠了屡贺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡锌杀,死狀恐怖甩栈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情糕再,我是刑警寧澤量没,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站突想,受9級特大地震影響殴蹄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜猾担,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一袭灯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绑嘹,春花似錦稽荧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夷蚊,卻和暖如春构挤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惕鼓。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工筋现, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓矾飞,卻偏偏與公主長得像一膨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子洒沦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容