Sábhálann muid am, nerves agus uaireanta daonna

Is gnách go mbíonn ár dtionscadail réigiúnacha, agus is aireachtaí iad na cliaint de ghnáth. Ach, chomh maith leis an earnáil phoiblí, úsáideann eagraíochtaí príobháideacha ár gcórais freisin. Níl beagnach aon fhadhbanna ann leo.

Mar sin, is tionscadail réigiúnacha na príomhthionscadail, agus uaireanta bíonn fadhbanna ann leo. Mar shampla, le feidhmíocht, nuair a bhíonn níos mó ná 20k dár n-úsáideoirí luachmhara i réigiúin le linn na tréimhse ina bhfuil feidhmiúlacht nua á rolladh amach ar fhreastalaithe táirgí. Is pian…

Ruslan is ainm dom agus tacaím le córais faisnéise BARS Group agus bot marfach a fhorbairt le haghaidh DBAanna sraitheacha foréigneacha. Níl an post seo le haghaidh an lag de chroí - tá a lán de na litreacha agus pictiúir.

Sábhálann muid am, nerves agus uaireanta daonna

/uair

Ritheann cuid dár bhfeidhmchláir ar Oracle DBMS. Tá tionscadail ann freisin ar DBMS PostgreSQL. Tá rud iontach ag Oracle - ag bailiú staitisticí ar an ualach ar an DBMS, a leagann béim ar fhadhbanna atá ann cheana féin agus fiú a dhéanann moltaí maidir le deireadh a chur le - Stór Ualach Oibre Uathoibríoch (AWR). Ag pointe amháin (is é sin i láthair na huaire pian), d'iarr na forbróirí i gcónaí a bhailiú tuarascálacha AWR le haghaidh anailíse feidhmíochta. Chuamar go hionraic chuig an bhfreastalaí DBMS, bhailigh muid tuarascálacha, thugamar chugainn iad agus chuireamar chuig táirgeadh iad le haghaidh anailíse. Tar éis an 5ú huair bhí sé ag cur as do... tar éis an 10ú lá d'éirigh sé irritating...

Chuir duine de mo chomhghleacaithe in iúl uair amháin gur cheart gach rud a dhéantar níos mó ná uair amháin a uathoibriú. Go dtí tráth na greannaithe, le bheith macánta, níor smaoinigh mé air agus rinne mé iarracht gach rud a d'fhéadfaí a uathoibriú a uathoibriú, ach go minic ní raibh éileamh air agus ba thaighde níos mó é seachas nádúr feidhmeach.

Agus ansin shíl mé: “Níl gá le riarthóirí chun tuairisc a ghiniúint...”. Tar éis an tsaoil, is éard atá i gceist le tuairisc a bhailiú ná an script sql @$ORACLE_HOME/rdbms/admin/awrrpt.sql a chur i gcrích agus an tuairisc a thabhairt ón bhfreastalaí go dtí d'áit... Ó sea, ní cheadaímid forbairt le haghaidh táirgeadh.

Ansin Googled mé an fhaisnéis riachtanach, chruthaigh mé an fheidhm ón alt ar an mbonn tástála, rith an script agus an miracle - tiomsaíodh an tuarascáil agus is féidir é a shábháil go háitiúil. Cruthaíodh feidhmeanna ina raibh gá le tuarascálacha AWR go minic agus inar dúradh le forbróirí conas iad a úsáid.

Timpeall an ama seo, i mo chuid ama spártha, tar éis dom labhairt le @BotFather, chruthaigh mé bot Telegram dom féin, díreach le haghaidh spraoi. Scriú mé i feidhmiúlacht simplí ann - léirigh an t-am atá ann faoi láthair, rátaí malairte, aimsir, mhúin sé compliments a sheoladh chuig mo bhean chéile (ansin chailín) ar sceideal. B’fhéidir, ag an am sin, moladh a sheoladh ar an bhfeidhmiúlacht ba choitianta a bhí ag mo bhot, agus bhí meas ag mo bhean air.

Mar sin. Scríobhann forbróirí chugainn i Telegram, seolann muid tuairisc chucu i Telegram... Cad a tharlóidh mura scríobhann siad chugainn, ach chuig bot? Tar éis an tsaoil, beidh sé níos fearr do gach duine, gheobhaidh an tuarascáil níos tapúla, agus is tábhachtaí, ag seachaint orainn. Seo mar a rugadh an smaoineamh ar an gcéad fheidhmiúlacht tóir do mo bot.

Thosaigh mé a chur i bhfeidhm. Rinne mé é, mar is fearr a d'fhéadfainn, i PHP (tá ár n-iarratas féin i PHP, tá mé níos eolaí ann ná i Python). Ní chódóir maith mé, mar sin ní thaispeánfaidh mé mo chód duit :)

Cónaíonn an bot ar ár líonra corparáideach agus tá rochtain aige ar thionscadail áirithe, lena n-áirítear bunachair shonraí sprice. Chun nach gcuirfí isteach ar pharaiméadair san fhoireann nó sa roghchlár, chuir mé an fheidhmiúlacht seo leis an gcomhrá grúpa le fógraí monatóireachta. Ar an mbealach seo tuigeann an bot láithreach cén bunachar sonraí as a mbaileoidh sé an tuarascáil.

Tar éis ordú mar /uair N, i gcás gurb é N líon na n-uaireanta iomlána a bhfuil gá le tuarascáil ina leith (de réir réamhshocraithe - 1 uair), fiú ar feadh seachtaine, murar atosaíodh an bunachar sonraí, tosaíonn an bot ag obair láithreach, bailíonn sé an tuarascáil, foilsíonn sé mar leathanach gréasáin agus láithreach (beagnach ar dheis ann) cuireann sé nasc chuig an tuarascáil a bhfuil géarghá leis.

Lean an nasc agus seo é, tuarascáil AWR:

Sábhálann muid am, nerves agus uaireanta daonna

De réir mar a bhíothas ag súil leis, dhéileáil na forbróirí le giniúint tuairisce den sórt sin, agus thug roinnt acu buíochas dúinn fiú.

Tar éis dóibh a bheith buíoch as áisiúlacht na foirne, bhí bainisteoirí tionscadail ó réigiúin eile ag iarraidh an rud céanna, ós rud é go bhfaigheann siad an chuid is mó ón gcustaiméir agus go bhfuil siad buartha faoi fheidhmíocht agus infhaighteacht na gcóras. Chuir mé an bot le comhráite eile. Úsáideann siad fós é, agus tá áthas orm faoi.

Níos déanaí, fuair comhghleacaithe ó CIT amach conas a bhailímid tuarascálacha agus theastaigh uathu é a dhéanamh freisin. Níor chuir mé lenár gcomhráite iad, chruthaigh mé comhrá ar leith le giniúint tuarascálacha ar sceideal agus ar iarratas.

/pgBadger

Tá feidhmchláir eile againn freisin i PHP i gcomhar le PostgreSQL. Chuir mé bailiú tuarascálacha pgBadger i bhfeidhm dóibh siúd a bhí i ngátar ag baint úsáide as an bprionsabal céanna - i gcomhráite grúpa. Ar dtús d'úsáid siad é, ach ansin stop siad. Gearradh amach an fheidhmiúlacht gan ghá.

/dleacht

Bíonn sealanna oíche ag ár rannóg agus, dá réir sin, tá sceideal aici. Tá sé in Google Sheets. Níl sé áisiúil i gcónaí nasc a lorg, cairt a oscailt, breathnú duit féin ... D'imir duine de mo iar-chomhghleacaithe lena bot Telegram freisin agus chuir sé isteach i gcomhrá ár roinne é fógraí faoi thús an aistrithe dualgais d’fhostaithe na Roinne. Déanann an bot an sceideal a pharsáil, socraíonn sé an duine atá ar dualgas faoin dáta reatha agus, de réir an sceidil nó arna iarraidh sin, tuairiscíonn sé cé atá ar dualgas inniu. Iompaigh sé amach iontach agus áisiúil. Fíor, níor thaitin formáid na dteachtaireachtaí go mór liom. Chomh maith leis sin, d'fhostaithe de chuid roinne eile (mar shampla, BC "Leigheas"), ní gá faisnéis a fháil faoi na daoine atá ar dualgas i dtreonna eile, ach ní mór duit fios a bheith agat cé atá ar dualgas sa "Leigheas" i gcás fadhbanna. Chinn mé an fheidhmiúlacht a “iasacht”, ach an rud nár thaitin liom a athrú. Rinne mé formáid teachtaireachta áisiúil dom féin agus do dhaoine eile, ag baint faisnéise neamhriachtanach.

/tnls

Tar éis triail a bhaint as uathoibriú ag baint úsáide as Telegram bot, tháinig go leor smaointe éagsúla chun solais, ach bhí mé ag iarraidh a dhéanamh rudaí fíor-riachtanach. Chinn mé a bheith i gceannas staitisticí ar iarratais. Chun rochtain a fháil ar thionscadail ár gcustaiméirí, tá “freastalaí léim” nó freastalaí seolta ar aghaidh curtha i bhfeidhm againn. Ardaítear naisc VPN air, ansin cuirtear calafoirt feidhmchláir, bunachair shonraí agus seoltaí cúnta eile ar aghaidh chuig ár líonra áitiúil trí ssh, chun rochtain éasca a fháil ar thionscadail ár bhfostaithe, gan fadhbanna le naisc VPN. Níl le déanamh agat ach nasc VPN a bhunú lenár líonra corparáideach.

Léiríonn staitisticí na n-iarratas go minic, tar éis teip ar cheann de na tolláin (i gcás fadhbanna líonra, mar gheall ar am istigh, mar shampla), go ndéanann daoine teagmháil linn maidir le rochtain ar an tionscadal a athchóiriú. I bhformhór na gcásanna, is leor an nasc a atosú agus tá gach rud go breá. Déanaimis é féin. Seo é an t-ordú:
Sábhálann muid am, nerves agus uaireanta daonna

Titeann tú isteach sa mhír roghchláir atá uait, roghnaigh do thionscadal, fan nóiméad agus tá gach duine sásta agus sásta ...

Ar ordú a fháil, le gluaiseacht beag na mbeart agus na giotán, nascann an bot leis an bhfreastalaí ar aghaidh, agus fios aige roimh ré cén cur ar aghaidh is gá a atosú, agus déanann sé a chuid oibre - déanann sé an nasc leis an tionscadal a athchóiriú. Scríobh mé treoracha ionas gur féidir leat a leithéid de cheisteanna a réiteach tú féin. Agus ní dheachaigh daoine i dteagmháil linn ach amháin murar oibrigh an uirlis a cuireadh ar fáil ...

/ecp_go_pem

Léirigh staitisticí breise gur minic go mbíonn gá le tiontú EDS Crypto Pro i bhformáid pem(Bonn64) le haghaidh comhtháthaithe éagsúla, agus tá go leor acu againn. Tasc: gabh coimeádán, cóipeáil é chuig ríomhaire Windows leis an bhfóntas P12FromGostCSP suiteáilte (íoctha, dála an scéil), é a thiontú go pfx, agus ansin pfx a thiontú ag baint úsáide as OpenSSL (le tacaíocht do chriptiú GOST) go pem. Níl sé an-áisiúil, ach ba mhaith leat é ag léim do mhéara.

Tá Google tagtha chun tarrthála arís. Aimsíodh áirgiúlacht duine de chineál éigin. Chruinnigh mé é mar atá scríofa sa README - d'oibrigh sé. Mhúin mé an bot a bheith ag obair leis an bhfóntas agus fuair mé tiontú beagnach láithreach.
Sábhálann muid am, nerves agus uaireanta daonna

Faoin am a cuireadh i bhfeidhm deiridh, eisíodh ordú chun aistriú go formáid criptithe nua - gost-2012. Chomh fada agus is cuimhin liom, níor oibrigh an áirgiúlacht ag an nóiméad sin ach leis an sean-GOST (2001), b'fhéidir gur fóntais eile den chineál céanna a bhí ann ó dhuine cineálta eile, ní cuimhin liom go díreach.
Tar éis an t-aistriú go dtí an GOST nua, baineadh feidhmiúlacht an bot ar chúiseanna slándála. Cuireadh i bhfeidhm é i gcoimeádán docker.

Dockerfile, ar eagla go mbeadh sé de dhíth ar aon duine:

FROM ubuntu:16.04                                                                                                                                                                        
RUN apt update && apt -y install git sudo wget unzip gcc g++ make &&                        
   cd /srv/ && git clone https://github.com/kov-serg/get-cpcert.git &&                     
   cd get-cpcert && chmod +x *.sh && ./prepare.sh && ./build.sh &&                         
   mkdir -p /srv/{in,out} &&                                                               
   echo '#!/bin/bash' > /srv/getpem.sh &&                                                  
   echo 'cd /srv/get-cpcert' >> /srv/getpem.sh &&                                          
   echo './get-cpcert /srv/in/$CONT.000 $PASS > /srv/out/$CONT.pem' >> /srv/getpem.sh &&   
   chmod +x /srv/getpem.sh                                                                  ENTRYPOINT /srv/getpem.sh

Chun é a thiontú, ní mór duit an coimeádán bunaidh (eolaire mar xxx.000) a chur san eolaire / srv/in, agus an pem críochnaithe a thabhairt go /srv/out.

Chun tiontú:

 docker run -t -i -e CONT='<имя директории с контейнером(без ".000")>' -e PASS='<пароль для контейнера>' -v /srv/in:/srv/in -v /srv/out:/srv/out --name ecptopem <адрес нашего репозитория>/med/ecptopem:latest 

/emstop agus /emstart

Lá amháin, fuair Oracle DBA an-fhionnuar, le go leor taithí i riarachán agus forbairt DBMS, post inár gcuideachta. Agus bhí deacracht aige láithreach ag nascadh leis na freastalaithe DBMS le ssh: níl a fhios aige cén áit nó conas nascadh, níl cur síos soiléir ar an rochtain, nó ní féidir leis rud éigin a theastaíonn uaidh a chur ar aghaidh chuige féin. Bhuel, táimid sásta cabhrú, d'inis muid dó conas ceangal a dhéanamh, agus chuireamar ar aghaidh chuige Bainisteoir Fiontair. Ach níor oibrigh rudaí amach fós le ssh. Mhínigh duine de mo chomhghleacaithe é go simplí: DBA íon :) Shocraigh muid más gá dúinn rud éigin a athrú ar an bhfreastalaí, go ndéanfaimid sinn féin é.

Uaireanta tuairteanna EM faoi ualach trom, agus chun é a atosú... is gá duit a nascadh via ssh agus atosú tríd an teirminéal. “Tá na riarthóirí go maith faoi seo,” a chinn ár gcomhghleacaí nua. Níl ualaí troma ar an DBMS neamhchoitianta dúinn, agus tá iarratais ar EM a atosú coitianta freisin. Ansin an cás céanna: teannas, greannú agus cuardach a dhéanamh ar réiteach ar an bhfadhb. Mar sin bhí na horduithe seo a leanas le feiceáil sna comhráite grúpa céanna: /emstop agus /emstart.

Sábhálann muid am, nerves agus uaireanta daonna

/ mharú

Má tá iomaíocht láidir ar an mbunachar sonraí, agus go dtarlaíonn sé seo uaireanta, is gá an bunachar sonraí a dhíluchtú go tapa. Is é an bealach is tapúla chun an próiseas fadhbanna a mharú ... Chun seo a dhéanamh, ceangal trí ssh, maraigh -9... Cabhróidh an bot!

Sábhálann muid am, nerves agus uaireanta daonna

Bhí meas ag Alexey ar an bhfoireann agus thug sé ainm geanúil air - "Kilalka" nó gunna.
Lá amháin, tar éis féachaint ar conas a thriail agus a d’fhulaing Alexey, ag dul isteach / a mharú xxx gach uair le haghaidh gach ceann de na próisis, chinn mé “il-bairille” a chur lenár gunna:

Sábhálann muid am, nerves agus uaireanta daonna

Sin níos fearr! Tá gach rud ar do shon, Alexey, ach obair, a stór!

Ar ndóigh, bhí foireann chomh tábhachtach sin teoranta rochtain ag user_id - "foolproof". Le feiceáil conas a mharaíonn Lesha próisis ar an bhfreastalaí bunachar sonraí, rinne roinnt daoine iarracht ordú a chur isteach le huimhir próisis randamach, ach ní féidir leat mo bot cliste a amadán, dhiúltaigh sé láithreach.

/log foláirimh

Bhuel, ar eagla na heagla, rinne mé an t-ordú:
/alertlog <líon línte> — faigh an líon sonraithe línte loga foláirimh
Tarraingíonn an bot logáil foláirimh agus seolann sé chuig ár seirbhís é, cosúil le pastebin, ar a dtugtar pyste, agus seolann nasc chuig an ghreamú chuig an gcomhrá iarratais.

/seiceálacha

Ansin tháinig iarratas ar monatóireacht a dhéanamh ar fhíorfheidhmíocht ár n-iarratas. Go dtí seo, bhailigh tacaíocht theicniúil tionscadail na sonraí seo de láimh. Is cuma! Tá cásanna tástála forbartha ag ár gcuid tástálaithe cróga chuige seo. Níl an loga tástála atá mar thoradh air an-áisiúil le léamh; tógfaidh úsáideoir gan taithí i bhfad é a thuiscint agus níl sé cinnte an gcuirfidh sé béim ar an eolas riachtanach. Agus ní maith linn a dhéanamh lenár lámha cad nach féidir linn a dhéanamh lenár lámha ... Tasc nua don bot!

Sábhálann muid am, nerves agus uaireanta daonna

Taispeánann an t-ordú seiceálacha roghchlár simplí gan athbhrí; an uair seo d'fhoghlaim ár mbuachaillí conas an t-ordú seo a úsáid gan treoracha!

Nuair a roghnaíonn tú an rud atá uait, in ionad roghchláir, feictear fógra faoi thús na tástála, ionas nach mbeidh úsáideoirí mífhoighneach ag rith ár dtástáil 100500 uair:

Sábhálann muid am, nerves agus uaireanta daonna

Ag brath ar an mír roghchláir roghnaithe, seoltar tástáil shonrach ónár líonra, eadhon ón meaisín ina gcónaíonn an bot (tá jmeter réamh-chumraithe ann, tá na tástálacha riachtanacha suite ...) nó go díreach ón ionad sonraí (ó a meaisín ullmhaithe in aice leis an bhfeidhmchlár), chun naisc líonra a eisiamh nuair a dhéantar moilleanna a thástáil, nó chun iad a laghdú go dtí an t-íosmhéid.

Tar éis an tástáil a chríochnú agus an logáil a fháil, déanann an bot é a pharsáil agus cuireann sé an toradh ar fáil i bhfoirm “inléite ag an duine”:

Sábhálann muid am, nerves agus uaireanta daonna

Bailiúchán méadrach

Tá an fheidhmiúlacht tagtha agus tá feidhm den sórt sin faighte ag bainisteoirí tionscadail ar spéis leo a gcuid réigiún. Agus dúirt Bainisteoir Tionscadail truacánta amháin: “Ba mhaith liom staitisticí ama a bheith agam!” Dúirt duine éigin ó CIT léi go mbeadh sé áisiúil monatóireacht a dhéanamh ar seo go léir in Zabbix. Zabbix, mar sin Zabbix...

Shíl mé gur ghá dom ullmhú don ghá leis an réiteach a mhacasamhlú... Chuir mé an smaoineamh isteach i gcoimeádán duga. Sa choimeádán, seoltar jmeter ar sceideal (uair amháin gach 10 nóiméad), cuireann sé an logáil in áit áirithe, parsálann php é agus taispeánann sé na sonraí riachtanacha i bhfoirm leathanach gréasáin. Faigheann Zabbix, ag baint úsáide as an eochair web.page.get, an leathanach seo, roghnaíonn sé go rialta na sonraí riachtanacha le haghaidh eilimintí cleithiúnacha áirithe agus tógann sé graf.

Sábhálann muid am, nerves agus uaireanta daonna

I mo thuairimse, d'éirigh sé amach nach bhfuil olc. Trí bhreathnú ar an ngraf, feicimid, ar dtús, neasluas an fheidhmchláir, agus má aimsítear buaiceanna ar an ngraf, is eol dúinn go garbh cá bhfuil an “breiseán”. Tá sé simplí. Go dtí seo tá sé iompaithe amach a bheith ar an éileamh ach amháin le haghaidh réigiún amháin, ach tá mé réidh chun é a mhacasamhlú dóibh siúd a bhfuil suim acu ann.

Forbairt feidhmchlár

Le déanaí tháinig tuilleadh smaointe chun cinn maidir le hobair a shimpliú agus a éascú mar thoradh ar staitisticí ar thascanna comhchosúla. Ar roinnt tionscadal, ar fhreastalaithe iarratais, tá gá le coimeádáin eochair Crypto Pro a shuiteáil, tá go leor acu, agus téann an síniú digiteach in éag le himeacht ama. Uaireanta tagann 2 thasc in aghaidh an lae. Ach mheas mé go raibh sé neamhshábháilte bot a úsáid chun na gcríoch sin agus chinn mé go gcruthófainn an fheidhmiúlacht go díreach san fheidhmchlár. Go nádúrtha le cearta rochtana a údarú agus a sheiceáil. Má tá na pribhléidí riachtanacha agat, beidh mír bhreise roghchláir ar fáil chun oibriú le sínithe digiteacha, suiteáil, scriosadh, faisnéis féachana, srl. Tá an fheidhmiúlacht á forbairt faoi láthair. Mar a tharla sé, níl sé seo an-deacair, ní mór duit ach na treoracha atá ann cheana féin a léamh beagán, breathnú ar shamplaí cód, iarr ar chomhghleacaithe níos mó taithí i bhforbairt, agus ansin é a dhéanamh. Le linn an phróisis taighde, tháinig smaointe chun cinn chun cur leis an iarratas. Ní dhéanfaidh mé pleananna Napoleon - tá forbairt ann, lig do gach duine a ngnó féin a mheabhrú. Ach cé go bhfuil sé suimiúil, tá mé féin á dhéanamh.

Pleananna

Mar a dúirt mé, rugadh go leor smaointe éagsúla maidir le húsáid ár bot agus ní hamháin - go ginearálta, a ligean ar a rá, smaointe le haghaidh "pointí uathoibrithe", go leor acu dearmad, ós rud é nach raibh mé am chun iad a scríobh síos. Anois déanaim iarracht gach rud a thagann chun cuimhne a scríobh síos, agus molaim do dhaoine eile an rud céanna a dhéanamh.

Ach ní dhéanann Alexey dearmad a mhianta a thabhairt. Ón déanaí:
/kill_sql SQL_ID — maraigh gach seisiún leis an iarratas SQL_ID seo
/mharú_bloc - an seisiún blocála fréimhe a mharú
/taispeáin_em — taispeáin pictiúr d'fheidhmíocht EM
Is fear glic é, tá sé ag iarraidh DBA a fhuáil óna ghuthán =)

Seo mar a oibrímid ar mhaithe leis an Motherland!

Conas a chuireann tú réidh le gnáththascanna agus tascanna neamhsuimiúla?

Tá súil agam go raibh an léamh suimiúil, agus b'fhéidir fiú úsáideach do dhuine éigin, agus ní raibh am agam an léitheoir a ghortú... Ádh mór orainn go léir.

Foinse: will.com

Add a comment