Mwinamwake, lero palibe amene akufunsa chifukwa chake kuli kofunikira kusonkhanitsa ma metrics a utumiki. Chotsatira chotsatira ndikukhazikitsa chenjezo la ma metric omwe asonkhanitsidwa, omwe angadziwitse zopatuka zilizonse mumayendedwe omwe angakuthandizireni (makalata, Slack, Telegraph). Muntchito yosungitsa mahotelo pa intaneti Ostrovok.ru ma metric onse a ntchito zathu amatsanuliridwa mu InfluxDB ndikuwonetsedwa ku Grafana, ndipo zidziwitso zoyambira zimakonzedwanso pamenepo. Pantchito monga "muyenera kuwerengera china chake ndikufananiza nacho," timagwiritsa ntchito Kapacitor.
Kapacitor ndi gawo la TICK stack yomwe imatha kukonza ma metric kuchokera ku InfluxDB. Itha kulumikiza miyeso ingapo palimodzi (kujowina), kuwerengera china chake chofunikira kuchokera pazomwe mwalandira, kulemba zotsatira kubwerera ku InfluxDB, kutumiza chenjezo ku Slack/Telegraph/mail.
Mwachitsanzo, muyenera kufananiza mfundo za mphindi zisanu zapitazi ndi sabata yapitayi. Mutha kutenga magulu awiri a data m'magulu awiri osiyana kapena kuchotsa gawo la data mu nthawi yokulirapo:
var warnAlert = 10
|alert()
...
.message(
'Today value less then '+string(warnAlert)+'%'
)
Chizindikiritso chazidziwitso chapadera
Ichi ndi chinthu chofunikira pakakhala gulu lopitilira limodzi mu data, apo ayi chenjezo limodzi lokha lidzapangidwa:
|alert()
...
.id('{{ index .Tags "myname" }}/{{ index .Tags "myfield" }}')
Custom handler's
Mndandanda waukulu wa othandizira akuphatikiza exec, omwe amakulolani kuti mugwiritse ntchito script yanu ndi magawo omwe adadutsa (stdin) - mwanzeru komanso china chilichonse!
Chimodzi mwazochita zathu ndi kalembedwe kakang'ono ka Python potumiza zidziwitso kuti zichepe.
Poyamba, tinkafuna kutumiza chithunzi cha grafana chotetezedwa mu uthenga. Pambuyo pake, lembani Chabwino mu ulusi ku chenjezo lapitalo kuchokera ku gulu lomwelo, osati monga uthenga wosiyana. Pambuyo pake - onjezani ku uthenga cholakwika chofala kwambiri pamphindi X zapitazi.
Mutu wina ndi kulankhulana ndi mautumiki ena ndi zochita zilizonse zoyambitsidwa ndi chenjezo (pokhapo ngati kuwunika kwanu kukuyenda bwino mokwanira).
Chitsanzo cha kufotokozera kwa wothandizira, komwe slack_handler.py ndizomwe timalemba tokha:
Mwachitsanzo, timakhazikitsa chenjezo la kuchuluka kwa zopempha pa ola limodzi (groupBy(1h)) ndipo tikufuna kujambula chenjezo lomwe lidachitika mu influxdb (kuti tiwonetse bwino vuto lomwe lili pa grafana).
influxDBOut() idzalemba mtengo wanthawi kuchokera ku chenjezo kupita ku sitempu yanthawi; motero, mfundo yomwe ili pa tchati idzalembedwa kale/mochedwa kuposa pamene chenjezo lidafika.
Pakafunika kulondola bwino: timathetsa vutoli poyimbira foni munthu amene amatsatira makonda, yemwe amalemba data ku influxdb ndi chidindo chapano.
docker, kumanga ndi kutumiza
Poyambitsa, kapacitor imatha kuyika ntchito, ma templates ndi othandizira kuchokera ku bukhu lofotokozedwa mu config mu [load] block.
Ngati ntchito ina ya batch ilibe mzere ndi dbrp, ntchito yonseyo ikana kuyamba ndipo ilemba moona mtima mu chipikacho.
Mu chronograf, m'malo mwake, mzerewu suyenera kukhalapo; sichivomerezedwa kudzera mu mawonekedwe ndipo imapanga cholakwika.
Kuthyolako pomanga chidebe: Dockerfile imatuluka ndi -1 ngati pali mizere ndi // + dbrp, zomwe zidzakuthandizani kuti mumvetsetse chifukwa chake mukulephera kusonkhanitsa kumanga.
phatikizani chimodzi kwa ambiri
Ntchito yachitsanzo: muyenera kutenga 95 peresenti ya nthawi yogwira ntchito kwa sabata, yerekezerani mphindi iliyonse ya 10 yomaliza ndi mtengo uwu.
Simungathe kujowina mmodzi-mpaka-ambiri, omaliza/wotanthauza/wapakatikati pa gulu la mfundo amasandutsa mfundo kukhala mtsinje, cholakwika "sichingawonjezere malire osagwirizana ndi ana: batch -> mtsinje" ibwezedwa.
Zotsatira za batch, monga kusintha kwa mawu a lambda, sizimalowetsedwanso.
Pali njira yosungira manambala ofunikira kuchokera pagulu loyamba kupita ku fayilo kudzera pa udf ndikuyika fayiloyi kudzera pa sideload.
Tinathetsa chiyani ndi izi?
Tili ndi pafupifupi 100 ogulitsa mahotelo, aliyense wa iwo akhoza kukhala ndi maulumikizidwe angapo, tiyeni titchule njira. Pali pafupifupi 300 mwa mayendedwe awa, iliyonse mwa njira imatha kugwa. Mwa ma metric onse ojambulidwa, tiziwunika kuchuluka kwa zolakwika (zopempha ndi zolakwika).
Bwanji osachita grafana?
Zidziwitso zolakwika zokhazikitsidwa ku Grafana zili ndi zovuta zingapo. Zina ndizovuta, zina mukhoza kutseka maso anu, malingana ndi momwe zinthu zilili.
Grafana sadziwa kuwerengera pakati pa miyeso + kuchenjeza, koma timafunikira mulingo (zopempha-zolakwa)/zopempha.
Zolakwazo zikuwoneka zoipa:
Ndipo zoyipa zochepa zikawonedwa ndi zopempha zopambana:
Chabwino, titha kuwerengeratu mtengo wautumiki pamaso pa grafana, ndipo nthawi zina izi zitha kugwira ntchito. Koma osati kwathu, chifukwa... pa njira iliyonse chiΕ΅erengero chake chimatengedwa ngati "chabwinobwino", ndipo zidziwitso zimagwira ntchito molingana ndi mfundo zokhazikika (timayang'ana ndi maso athu, sinthani ngati pali zochenjeza pafupipafupi).
Izi ndi zitsanzo za "zabwinobwino" pamakanema osiyanasiyana:
Timanyalanyaza mfundo yapitayi ndikuganiza kuti chithunzi "chabwinobwino" chikufanana ndi onse ogulitsa. Tsopano zonse zili bwino, ndipo titha kudutsa ndi zidziwitso mu grafana?
Titha, koma sitikufuna, chifukwa tiyenera kusankha imodzi mwazosankha:
a) pangani ma graph ambiri panjira iliyonse padera (ndikuwatsatira mopweteka)
b) siyani tchati chimodzi chokhala ndi matchanelo onse (ndipo tayikani mizere yokongola ndi zidziwitso zosinthidwa makonda)