Isu tinochengetedza nguva, tsinga uye maawa emunhu

Mapurojekiti edu anowanzo kuve edunhu, uye vatengi vanowanzove hushumiri. Asi, pamusoro pehurumende, masangano akazvimirira anoshandisawo masisitimu edu. Iko kunenge kusina matambudziko navo.

Saka, mapurojekiti makuru ndeyematunhu, uye dzimwe nguva kune matambudziko nawo. Semuenzaniso, nekuita, kana mumatunhu kune vanopfuura makumi maviri evashandisi vedu vakakosha panguva yekuburitsa mashandiro matsva pamaseva echigadzirwa. Zvinorwadza…

Zita rangu ndiRuslan uye ndinotsigira masisitimu eruzivo eBARS Group uye kugadzira bhoti inouraya yechisimba serial DBAs. Ichi chinyorwa hachisi chevasina simba - kune mavara mazhinji nemifananidzo.

Isu tinochengetedza nguva, tsinga uye maawa emunhu

/awr

Zvimwe zvekushandisa kwedu zvinomhanya paOracle DBMS. Kune zvakare mapurojekiti paPostgreSQL DBMS. Oracle ine chinhu chinoshamisa - kuunganidza zviverengero pamutoro paDBMS, iyo inoburitsa matambudziko aripo uye inotoita kurudziro yekubvisa - Automatic Workload Repository (AWR). Pane imwe nguva (kureva panguva yekurwadziwa), vagadziri vanogara vachikumbira kuunganidza AWR inoshuma yekuongorora kwekuita. Isu takatendeseka kune sevha yeDBMS, takaunganidza mishumo, tikaitora kwatiri uye tikaitumira kunogadzirwa kuti iongororwe. Mushure menguva yechi5 zvakava zvinogumbura ... mushure me10 zvakava zvinogumbura ...

Mumwe wevandinoshanda navo akambotaura pfungwa yekuti zvese zvinoitwa kanopfuura kamwechete zvinofanirwa kuve otomatiki. Kusvika panguva yekutsamwiswa, kutaura chokwadi, handina kumbofunga nezvazvo uye ndakaedza kuita otomatiki zvese zvaigona kuita otomatiki, asi kazhinji zvaive zvisiri mukuda uye yaive yakawanda yekutsvagisa pane iyo inoshandiswa.

Ndakabva ndafunga kuti: "Admins haadiwe kugadzira report...". Mushure mezvose, kuunganidza mushumo kunoreva kuita sql script @$ORACLE_HOME/rdbms/admin/awrrpt.sql uye kutora mushumo kubva kuvhavha kuenda kunzvimbo yako ... Oo hongu, hatibvumiri kubudirira kwekugadzirwa.

Ipapo ini Googled ruzivo rwakakosha, ndakagadzira basa kubva kuchinyorwa chiri pachigadziko chebvunzo, ndakamhanyisa script uye chishamiso - mushumo wakagadzirwa uye unogona kuchengetwa munharaunda. Yakagadzirwa mabasa uko mishumo yeAWR yaiwanzodikanwa uye yakaudza vanogadzira mashandisiro avo.

Panenge panguva ino, munguva yangu yekuzorora, mushure mekutaura na @BotFather, ndakazvigadzirira Telegraph bot, kungonakidzwa. Ini ndakakwenenzvera mukushanda kuri nyore ipapo - ratidza nguva iripo, mitengo yekuchinjana, mamiriro ekunze, ndakaidzidzisa kutumira rumbidzo kumudzimai wangu (ipapo musikana) pane chirongwa. Zvichida, panguva iyoyo, kutumira rumbidzo ndiyo yainyanya kufarirwa mashandiro ebhoti yangu, uye mudzimai wangu akaikoshesa.

Saka. Vagadziri vanotinyorera muTeregiramu, tinotumira mushumo kwavari muTeregiramu ... Zvakadini kana vakanyora kwete kwatiri, asi kune bot? Mushure mezvose, zvichave nani kune wese munhu, chirevo chichagamuchirwa nekukurumidza, uye zvakanyanya kukosha, kutipfuura. Aya ndiwo maitiro akazvarwa pfungwa yekutanga yakakurumbira mashandiro ebhoti yangu.

Ndakatanga kusevenzeswa. Ndakazviita, nepese pandaigona, muPHP (yedu application pachayo iri muPHP, ini ndinonyatsoziva mairi kupfuura muPython). Ini handisi coder yakanaka, saka handisi kuzokuratidza kodhi yangu :)

Iyo bot inogara pane yedu makambani network uye inokwanisa kuwana mamwe mapurojekiti, kusanganisira anotangwa dhatabhesi. Kuti ndisazvinetse nemaparamendi muchikwata kana nemenu, ndakanamira kuita uku kuboka rekutaura nezviziviso zvekutarisa. Nenzira iyi bot inobva yaziva kuti ndeipi dhatabhesi yekutora chirevo kubva.

Agamuchira murairo sa /awr N, apo N ndiyo nhamba yemaawa akazara ayo mushumo unodiwa (nekuda kweawa - 1 awa), kunyange kwevhiki, kana database isati yatangwazve, bot pakarepo inotanga kushanda, inounganidza mushumo, inoibudisa se peji rewebhu uye nekukasira (inenge ipapo) inopa chinongedzo kune inodiwa mushumo.

Tevedza chinongedzo uye hezvino, iyo AWR chirevo:

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Sezvaitarisirwa, vagadziri vakagadzirisa chizvarwa chakadaro, uye vamwe vakatotitenda.

Sezvo vatenda kurerukirwa kwechikwata, mamaneja epurojekiti kubva kune mamwe matunhu aida zvakafanana, nekuti ivo vanogashira zvakanyanya kubva kumutengi uye vari kunetsekana nekuita uye kuwanikwa kwemasystem. Ndakawedzera bot kune dzimwe chats. Vachiri kuishandisa, uye ndinofara nazvo.

Gare gare, vatinoshanda navo kubva kuCIT vakaziva nezve matorero atinoita mishumo uye vaida kuzviitawo. Ini handina kuvawedzera kune yedu chats, ndakagadzira yakaparadzana chat nechizvarwa chemishumo pane hurongwa uye pakukumbira.

/pgBadger

Isu tinewo mamwe maapplication muPHP takabatana nePostgreSQL. Ndakaita kuunganidzwa kwepgBadger mishumo kune avo vanoshaya ndichishandisa imwechete musimboti - muboka chats. Pakutanga vakaishandisa, asi vakazorega. Iko kushanda kwakatemwa sekusafanira.

/basa

Dhipatimendi redu rine mashifiti ehusiku uye, zvinoenderana, rine hurongwa. Zviri muGoogle Sheets. Haisi nguva dzose yakanakira kutsvaga chinongedzo, vhura chati, zvitarisire iwe ... Mumwe weaimbova vandaishanda navo akatambawo neTeregiramu bot yake ndokuipinza muhurukuro yedhipatimendi redu. zviziviso nezve kutanga kwebasa rekuchinja kwevashandi vedhipatimendi. Iyo bot inotambidza hurongwa, inosarudza munhu ari pabasa nezuva razvino uye, zvinoenderana nehurongwa kana pakukumbira, inoshuma kuti ndiani ari pabasa nhasi. Zvakazonaka uye zvakakunakira. Chokwadi, ndakanga ndisinganyanyi kufarira manyorerwo emameseji. Uyewo, kune vashandi veimwe dhipatimendi (somuenzaniso, BC "Medicine"), ruzivo rwevaya vari pabasa kune dzimwe nzira harudiwi chaizvo, asi iwe unofanirwa kuziva kuti ndiani ari pabasa mu "Medicine" kana pane zvinetso. Ndakasarudza "kukwereta" kushanda, asi shandura zvandaisada. Ndakagadzira meseji fomati yakanakira ini nevamwe, ndichibvisa ruzivo rusina basa.

/tnls

Mushure mekuedza otomatiki uchishandisa Telegraph bot, mazano mazhinji akasiyana akaonekwa, asi ini ndaida kuita zvinhu zvinonyanya kukosha. Ndakasarudza kutungamirira nhamba dzezvikumbiro. Kuti tiwane mapurojekiti evatengi vedu, isu takashandisa inonzi "jump server" kana kutumira server. VPN yekubatanidza inosimudzwa pairi, ipapo zviteshi zvekushandisa, dhatabhesi uye zvimwe zvebetsero zvinotumirwa kunetiweki yedu yemuno kuburikidza nessh, kuti uwane nyore kumapurojekiti evashandi vedu, pasina matambudziko neVPN kubatana. Zvese zvaunoda kuti uite kuseta VPN yekubatanidza kune yedu yekambani network.

Nhamba dzezvikumbiro dzakaratidza kuti kazhinji, mushure mokunge imwe yemigwagwa yakundikana (mune dambudziko remambure, nekuda kwekufamba kwenguva, somuenzaniso), vanhu vanotibata pamusoro pekudzorera kuwana purojekiti. Muzviitiko zvakawanda, kungotangazve kubatana kwakakwana uye zvese zvakanaka. Ngatizviite iwe pachako. Heino murairo:
Isu tinochengetedza nguva, tsinga uye maawa emunhu

Iwe "unowira" mune yaunoda menyu chinhu, sarudza purojekiti yako, mira kweminiti uye munhu wese anofara uye agutsikana ...

Paunenge wagamuchira murairo, nekufamba kuduku kwema byte uye bits, bot inobatanidza kune server yekutumira, kuziva mberi kuti ndekupi kutumira kunoda kutangwazve, uye kuita basa rayo - inodzorera kuwirirana kune purojekiti. Ndakanyora mirairo kuitira kuti iwe ugone kugadzirisa nyaya dzakadaro iwe pachako. Uye vanhu vakatibata chete kana chishandiso chakapihwa chisina kushanda...

/ecp_to_pem

Dzimwe nhamba dzakaratidza kuti zvinowanzodiwa kutendeuka EDS Crypto Pro mune pem fomati(Nheyo64) yekubatanidza kwakasiyana-siyana, uye isu tine yakawanda kwazvo. Basa: tora mudziyo, ukope kuWindows komputa ine P12FromGostCSP utility yakaiswa (yakabhadharwa, nenzira), shandura iyo ku pfx, uye wozoshandura pfx uchishandisa OpenSSL (nerutsigiro rweGOST encryption) kuti pem. Hazvina kunyanya nyore, asi iwe unozvida pakubata kweminwe yako.

Google yauya kuzonunura zvakare. Found chishandiso chemumwe munhu ane mutsa. Ndakaiunganidza sezvakanyorwa muREADME - yakashanda. Ndakadzidzisa bot kushanda nerubatsiro uye ndakawana shanduko yekukurumidza.
Isu tinochengetedza nguva, tsinga uye maawa emunhu

Pakazosvika nguva yekupedzisira kushandiswa, murairo wakabudiswa kuti uchinje kune imwe nzira yekunyora - gost-2012. Sezvandinoyeuka, iyo inoshandiswa panguva iyoyo yakangoshanda neGOST yekare (2001), zvichida yaiva imwe nzira yakafanana kubva kune mumwe munhu ane mutsa, ini handiyeuki chaizvo.
Mushure mekushandura kune GOST itsva, kushanda kwebhoti kwakabviswa nekuda kwezvikonzero zvekuchengetedza. Yakaiisa mumudziyo wedocker.

Dockerfile, kana paine munhu achiida:

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

Kushandura, unofanira kuisa chigadziko chepakutanga (dhairekitori se xxx.000) mu /srv/in directory, uye tora pem yapera ku /srv/out.

Kushandura:

 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 uye /emstart

Rimwe zuva, Oracle DBA inotonhorera, ine ruzivo rwakawanda mukutonga nekusimudzira kweDBMS, yakawana basa pakambani yedu. Uye akabva aita dambudziko rekubatanidza kumaseva eDBMS ane ssh: haazive kuti angabatanidza kupi kana kuti sei, kuwana hakuna kutsanangurwa zvakajeka, kana kuti haakwanisi kutumira chimwe chinhu chaanoda kwaari. Zvakanaka, isu tinofara kubatsira, takamuudza nzira yekubatanidza, uye ndokumutumira Enterprise Manager. Asi zvinhu hazvina kushanda ne ssh. Mumwe wevandaishanda navo akazvitsanangura zviri nyore: a purebred DBA :) Takasarudza kuti kana tichida kugadzirisa chimwe chinhu pane server, tichazviita isu pachedu.

EM dzimwe nguva inorovera pasi pemutoro unorema, uye kuti utangezve ... unofanirwa kubatana ne ssh uye wotangazve kuburikidza neiyo terminal. "Admins vakanaka pane izvi," mumwe wedu mutsva akasarudza. Mitoro inorema paDBMS haina kujairika kwatiri, uye zvikumbiro zvekutangazve EM zvakajairika. Zvadaro mamiriro akafanana: kunetsana, kushatirwa uye kutsvaga mhinduro kudambudziko. Saka muboka rimwechete chats mirairo inotevera yakaonekwa: /emstop uye /emstart.

Isu tinochengetedza nguva, tsinga uye maawa emunhu

/kuuraya

Kana paine kukwikwidza kwakasimba pane dhatabhesi, uye izvi dzimwe nguva zvinoitika, zvinodikanwa kukurumidza kuburitsa dhatabhesi. Iyo inokurumidza nzira ndeyekuuraya hurongwa hunonetsa ... Kuti uite izvi, batanidza kuburikidza ne ssh, kuuraya -9 ... Bot ichabatsira!

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Alexey akatenda timu uye akazvipa zita rerudo - "Kilyalka" kana pfuti.
Rimwe zuva, mushure mekuona kuti Alexey akaedza nekutambudzika sei, achipinda / kuuraya xxx nguva yega yega yega yega maitiro, ndakafunga kuwedzera "multi-barrel" kupfuti yedu:

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Zviri nani! Zvese ndezvako, Alexey, ingoshanda, mudiwa!

Sezvingatarisirwa, boka rinokosha rakadaro rakanga rakaganhurirwa kuwanikwa nemushandisi_id - "foolproof". Vachiona kuti Lesha anouraya sei maitiro pasevha yedatabase, vanhu vakati wandei vakaedza kuisa murairo nenhamba yemaitiro, asi haugone kunyengedza smart bot yangu, akabva aramba.

/alertlog

Zvakanaka, kana zvikaitika, ndaita murairo:
/ alertlog - tora nhamba yakatarwa yemitsara yealertlog
Iyo bot inodhonza alertlog uye inotumira kune yedu sevhisi, senge pastebin, inonzi pyste, uye inotumira chinongedzo kune paste kune yekukumbira chat.

/checks

Kwakazotevera chikumbiro chekuti kutarisa kuita chaiko kwechishandiso chedu. Kusvika ikozvino, purojekiti yehunyanzvi rutsigiro yakaunganidza iyi data nemaoko. Zvisinei! Vaedzi vedu vakashinga vakagadzira nyaya dzebvunzo dzeizvi. Iyo inokonzeresa bvunzo yerogi haina kunyatso nyore kuverenga; mushandisi asina ruzivo anotora nguva yakareba kuti anzwisise uye haana chokwadi chekuti acharatidza ruzivo rwakakosha. Uye isu hatidi kuita nemaoko edu izvo zvatisingakwanisi kuita nemaoko edu ... Basa idzva rebhoti!

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Iyo / cheki yekuraira inoratidza yakapusa uye isina kujeka menyu; panguva ino vakomana vedu vakadzidza mashandisiro emurairo uyu pasina mirairo!

Paunosarudza chinhu chaunoda, pachinzvimbo chemenyu, chiziviso nezve kutanga kwebvunzo chinobuda, kuitira kuti vashandisi vasina moyo murefu vasamhanye bvunzo yedu ka100500:

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Zvichienderana nechinhu chakasarudzwa chemenu, bvunzo chaiyo inotangwa kubva kunetiweki yedu, iyo kubva kumushini unogara bot (jmeter yakafanogadzirirwa ipapo, bvunzo dzinodiwa dziripo ...) kana zvakananga kubva kune data data (kubva muchina wakagadzirwa padivi pechishandiso), kuitira kuti usabatanidze mambure etiweki paunenge uchiyedza kunonoka, kana kudzideredza kusvika padiki.

Mushure mekupedza bvunzo uye kugamuchira irogi, iyo bot inoidhirowa uye inoburitsa mhedzisiro mune "inoverengwa nevanhu" fomu:

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Metrics collection

Iko kushanda kwasvika uye vanofarira mapurojekiti mamaneja akagamuchira basa rakadaro kumatunhu avo. Uye mumwe maneja weProjekti ane tsitsi akati: "Ndinoda kuve nenhamba dzenguva!" Mumwe munhu anobva kuCIT akamuudza kuti zvingava nyore kutarisa zvese izvi muZabbix. Zabbix, saka Zabbix...

Ndakafunga kuti ndaifanira kugadzirira kudiwa kwekudzokorora mhinduro ... ndakaisa pfungwa yacho mumudziyo wedocker. Mumudziyo, jmeter inotangwa pane hurongwa (kamwe chete maminetsi gumi), inoisa irogi mune imwe nzvimbo, php inoiisa uye inoratidza iyo inodiwa data muchimiro chewebhu peji. Zabbix, uchishandisa web.page.get kiyi, inogamuchira peji ino, inogara ichisarudza data inodiwa yezvimwe zvinhu zvinotsamira uye inovaka girafu.

Isu tinochengetedza nguva, tsinga uye maawa emunhu

Ndinofunga kuti hazvina kuipa. Nekutarisa girafu, isu, chekutanga, tinoona kukurumidza kumhanya kwechishandiso, uye kana mapikisi akaonekwa pagirafu, tinoziva nezve papi "plug" iri. Zviri nyore. Kusvika pari zvino zvave kudiwa dunhu rimwe chete, asi ndakagadzirira kuzvidzokorora kune vanofarira.

Kuvandudza application

Huwandu hwemabasa akafanana munguva pfupi yapfuura hwakapa mamwe mazano ekurerutsa uye kufambisa basa. Pane mamwe mapurojekiti, pamaseva ekushandisa, pane kudikanwa kwekuisa kiyi Crypto Pro midziyo, kune akawanda acho, uye siginecha yedhijitari inopera nekufamba kwenguva. Dzimwe nguva mabasa maviri anosvika pazuva. Asi ini ndakazviona zvisina kuchengetedzeka kushandisa bot nekuda kweizvi uye ndakafunga kuti ini ndaizogadzira iyo inoshanda zvakananga mukushandisa. Zvagara nemvumo uye kutarisa kodzero dzekuwana. Kana iwe uine ropafadzo dzinodiwa, chimwe chinhu chemenu chichave chiripo chekushanda nemasiginecha edhijitari, kuisa, kudzima, kuona ruzivo, nezvimwewo. Iko kushanda ikozvino kuri kugadziridzwa. Sezvazvakazoitika, izvi hazvina kuoma zvakanyanya, iwe unongoda kuverenga mirairo iripo zvishoma, tarisa mienzaniso yekodhi, bvunza vaunoshanda navo vane ruzivo mukusimudzira, uye wozviita. Munguva yekutsvagisa, mazano akabuda ekuwedzera kuchishandiso. Ini handisi kuita zvirongwa zveNapoleonic - kune budiriro, rega munhu wese afunge nezve bhizinesi rake. Asi kunyangwe zvichinakidza, ndiri kuzviita pachangu.

Zvirongwa

Sezvandakataura, mazano akawanda akasiyana akazvarwa ekushandisa bot yedu uye kwete chete - kazhinji, ngatiti, mazano e "otomatiki mapoinzi", mazhinji acho akakanganikwa, sezvo ini ndakanga ndisina nguva yekuanyora pasi. Iye zvino ndinoedza kunyora zvose zvinouya mupfungwa, uye ndinokurudzira kuti vamwe vaitewo saizvozvo.

Asi Alexey haakanganwi kupa zvaanoda. Kubva zvazvino:
/kill_sql SQL_ID - uraya zvikamu zvese nechikumbiro ichi cheSQL_ID
/kill_block - kuuraya midzi yekuvhara chikamu
/show_em - ratidza mufananidzo weEM performance
Murume anonyengera, anoda kusona DBA kubva pafoni yake =)

Aya ndiwo mashandiro atinoita kuti tibatsire Nyika!

Unozvibvisa sei pamabasa enguva dzose uye asingafadzi?

Ndinotarisira kuti kuverenga kwakave kunonakidza, uye zvichida kunyange kunobatsira kune mumwe munhu, uye ndakanga ndisina nguva yekubhoweka muverengi ... Rombo rakanaka kwatiri tose.

Source: www.habr.com

Voeg