Mosebetsi o bonolo o nang le litlhokomeliso tse rarahaneng. Kapa histori ea pōpo ea Balerter

Mosebetsi o bonolo o nang le litlhokomeliso tse rarahaneng. Kapa histori ea pōpo ea Balerter

E mong le e mong o rata litemoso.

Ha e le hantle, ho molemo haholo ho tsebisoa ha ho na le ntho e etsahetseng (kapa e lokisitsoe) ho e-na le ho lula le ho sheba li-graph le ho sheba li-anomalies.

'Me lisebelisoa tse ngata li entsoe bakeng sa sena. Alertmanager ho tsoa ho Prometheus ecosystem le vmalert ho tsoa sehlopheng sa lihlahisoa sa VictoriaMetrics. Litsebiso le litlhokomeliso tsa Zabbix Grafana. Lingoliloeng tse ingoletseng ho bash le Telegraph bots tseo nako le nako li hula URL ebe li u joetsa hore na ho na le ho hong ho phoso. Tse ngata tsa tsohle.

Rōna, k'hamphaning ea rona, re ile ra boela ra sebelisa litharollo tse fapaneng ho fihlela re kena ho rarahanang, kapa, ho e-na le hoo, ho se khonehe ho theha litlhokomeliso tse rarahaneng, tse nang le likarolo tse ngata. Seo re neng re se batla le seo re qetetseng ho se etsa se ka tlase ho sehiloeng. TLDR: Ke kamoo morero oa mohloli o bulehileng o hlahileng kateng Balerter

Ka nako e telele re phetse hantle ka litemoso tse hlophisitsoeng Grafana. E, ena hase eona tsela e molemohali. Kamehla ho khothaletsoa ho sebelisa litharollo tse khethehileng, joalo ka Alertmanager. Mme hape re ile ra sheba ho falla ho feta hang. Mme ebe, hanyane ka hanyane, re ne re batla ho feta.

E re ha chate e itseng e oele / e eketsehile ka XX% mme e bile teng ka metsotso e N ho bapisoa le nako e fetileng ea lihora tsa M? Ho bonahala eka o ka leka ho kenya ts'ebetsong sena ka Grafana kapa Alertmanager, empa ha ho bonolo haholo. (Kapa mohlomong ha ho khonehe, nke ke ka bua hona joale)

Lintho li ba thata le ho feta ha qeto ea tlhokomeliso e tlameha ho etsoa ho latela lintlha tse tsoang mehloling e fapaneng. Mohlala o phelang:

Re hlahloba lintlha ho tsoa litsing tse peli tsa Clickhouse, ebe re li bapisa le lintlha tse ling tsa Postgres, ebe re etsa qeto ka tlhokomeliso. Letshwao kapa hlakola

Re bokelletse litakatso tse ngata tse tšoanang hore re nahane ka qeto ea rona. 'Me joale re ile ra leka ho bokella lethathamo la pele la litlhoko / bokhoni ba tšebeletso ena, e e-s'o thehoe.

  • fihlella mehloli e fapaneng ea data. Ka mohlala, Prometheus, Clickhouse, Postgres

  • romela litlhokomeliso ho liteishene tse fapaneng - telegram, slack, joalo-joalo.

  • ha ke ntse ke nahana, ho ile ha hlaka hore ha ke batle tlhaloso e hlalosang, empa bokhoni ba ho ngola mangolo.

  • ho tsamaisa mengolo ka kemiso

  • ntlafatso e bonolo ea mangolo ntle le ho qala ts'ebeletso bocha

  • bokhoni ba ho holisa ts'ebetso ka tsela e itseng ntle le ho nchafatsa ts'ebeletso ho tsoa ho likhoutu tsa mohloli

Lenane lena le hakanngoa 'me mohlomong ha lea nepahala. Lintlha tse ling li ile tsa fetoha, tse ling tsa shoa. Tsohle di jwalo ka tlwaelo.

Ha e le hantle, ke kamoo histori ea Balerter e qalileng kateng.

Mosebetsi o bonolo o nang le litlhokomeliso tse rarahaneng. Kapa histori ea pōpo ea Balerter

Ke tla leka ho hlalosa ka bokhutšoanyane se etsahetseng qetellong le kamoo se sebetsang kateng. (E, ehlile, sena ha se pheletso. Ho na le merero e mengata ea ntlafatso ea sehlahisoa. Ke tla emisa kajeno)

Hona e sebetsa?

U ngola lengolo ho Lua moo u romellang likopo ka ho hlaka (ho Prometheus, Clickhouse, joalo-joalo). U fumana likarabo 'me ka tsela e itseng u li sebetsa le ho li bapisa. Ebe o bulela/ tima mofuta o itseng oa tlhokomeliso. Balerter ka boeona e tla romela tsebiso ho liteishene tseo u li lokiselitseng (Imeile, telegram, slack, joalo-joalo). Script e etsoa ka linako tse itseng. Mme ... ka kakaretso, ke phetho)

Ho molemo ho hlahisa ka mohlala:

-- @interval 10s
-- @name script1

local minRequestsRPS = 100

local log = require("log")
local ch1 = require("datasource.clickhouse.ch1")

local res, err = ch1.query("SELECT sum(requests) AS rps FROM some_table WHERE date = now()")
if err ~= nil then
    log.error("clickhouse 'ch1' query error: " .. err)
    return
end

local resultRPS = res[1].rps

if resultRPS < minResultRPS then
    alert.error("rps-min-limit", "Requests RPS are very small: " .. tostring(resultRPS))
else
    alert.success("rps-min-limit", "Requests RPS ok")
end 

Ho etsahalang mona:

  • re bonts'a hore script ena e lokela ho etsoa metsotsoana e meng le e meng ea 10

  • bonts'a lebitso la sengoloa (bakeng sa API, bakeng sa ponts'o ho li-log, bakeng sa ho sebelisoa litekong)

  • hokela mojule bakeng sa ho hlahisa likutu

  • hokela mojule ho fihlella sebaka sa ho tobetsa ka lebitso ch1 (khokahanyo ka boeona e hlophisitsoe ho config)

  • romela kopo ho Clickhouse

  • ha ho ka ba le phoso, re hlahisa molaetsa ho log ebe rea tsoa

  • bapisa sephetho sa potso le kamehla (mohlala o phelang, re ka fumana boleng bona, mohlala, ho tsoa polokelong ea Postgres)

  • bulela kapa tima tlhokomeliso ka ID rps-min-limit

  • o tla fumana tsebiso haeba boemo ba tlhokomeliso bo fetohile

Mohlala ona o bonolo ebile oa utloahala. Leha ho le joalo, ha e le hantle, bophelong ba sebele mangolo a ka ba malelele le a rarahaneng. Ho bonolo ho ferekana le ho etsa liphoso.

Ka hona, takatso e utloahalang e se e hōlile - ho khona ho ngola liteko bakeng sa mangolo a hau. 'Me ka mofuta oa v0.4.0 sena se hlahile.

Mengolo ea liteko

Mohlala oa tlhahlobo ea script ho tsoa mohlaleng o ka holimo:

-- @test script1
-- @name script1-test

test = require('test')

local resp = {
    {
        rps = 10
    }
} 

test.datasource('clickhouse.ch1').on('query', 'SELECT sum(requests) AS rps FROM some_table WHERE date = now()').response(resp)

test.alert().assertCalled('error', 'rps-min-limit', 'Requests RPS are very small: 10')
test.alert().assertNotCalled('success', 'rps-min-limit', 'Requests RPS ok')

Mehato:

  • bontsha lebitso la mongolo oo teko e ngolwang ka wona

  • lebitso la teko (bakeng sa lintlha)

  • hokela mojule oa teko

  • re bolela hore na ke sephetho sefe se lokelang ho khutlisetsoa bakeng sa kopo e khethehileng ho clickhouse ch1

  • re hlahloba hore tlhokomeliso (phoso) rps-min-limit e nang le molaetsa o boletsoeng e bitsitsoe

  • hlahloba hore tlhokomeliso ea rps-min-limit ha e ea koaloa (katleho)

Ke eng hape eo Balerter a ka e etsang?

Ke tla leka ho ama tsa bohlokoa ka ho fetisisa, ka maikutlo a ka, tsebo ea Balerter. U ka bona ntho e 'ngoe le e' ngoe ka ho qaqileng ho websaeteng ea molao https://balerter.com

  • fumana data ho tswa ho

    • Clickhouse

    • lipapatso

    • MySQL

    • promethean

    • loki

  • romela litsebiso ho likanale

    • lieha

    • thelekramo

    • syslog

    • tsebisa (litemoso tsa UI komporong ea hau)

    • imeile

    • ho hloka kutloano

  • theha li-graph ho latela data ea hau, kenya setšoantšo sebakeng sa polokelo se lumellanang sa S3 ebe u se hokela ho litsebiso (Mohlala ka litšoantšo)

  • e o lumella ho fapanyetsana data lipakeng tsa mangolo - Monotlolo oa lefats'e / polokelo ea Boleng

  • Ngola lilaebrari tsa hau ho Lua 'me u li sebelise ho lingoliloeng (ka mokhoa o ikhethileng, lilaebrari tsa lua li fanoa bakeng sa ho sebetsa le json, csv)

  • romella likopo tsa HTTP ho tsoa mangolong a hau ('me u fumane likarabo, ehlile)

  • e fana ka API (ha e so sebetse kamoo re ka ratang)

  • e romela metrics ka mokhoa oa Prometheus

Ke eng hape eo u ka ratang hore u khone ho e etsa?

Ho se ho hlakile hore basebelisi 'me re batla bokhoni ba ho laola ho qalisoa ha mangolo ho sebelisa syntax cron. Sena se tla etsoa pele ho mofuta oa v1.0.0

Ke kopa ho ts'ehetsa mehloli e mengata ea data le liteishene tsa ho fana ka tsebiso. Ka mohlala, motho e mong o tla hloloheloa MongoDB. Elastic Search for ba bang. Romela SMS le/kapa etsa mehala ho selefounu ya hao. Re batla ho khona ho fumana mangolo eseng feela lifaeleng, empa hape, ka mohlala, ho tsoa ho database. Qetellong, re batla webosaete e bonolo ho basebelisi le litokomane tse betere bakeng sa projeke.

Motho o lula a haelloa ke ntho e itseng) Mona re itšetlehile ka kopo ea sechaba e le hore re behe lintho tse tlang pele ka nepo. Le ho thusa sechaba ho hlokomela tsohle

Qetellong

Rea sebelisa Balerter Ke na le nako e telele joale. Mengolo e mengata e sireletsa khotso ea rona ea kelello. Ke tšepa hore mosebetsi ona o tla ba molemo ho motho e mong.

'Me u amohelehe ka Taba ea hau le PR.

Source: www.habr.com

Eketsa ka tlhaloso