Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Ayyukanmu yawanci yanki ne, kuma abokan ciniki yawanci ma'aikatun ne. Amma, ban da bangaren jama'a, ƙungiyoyi masu zaman kansu kuma suna amfani da tsarin mu. A zahiri babu matsaloli tare da su.

Don haka, manyan ayyukan yanki ne, kuma wani lokacin ana samun matsaloli tare da su. Misali, tare da aiki, lokacin da a cikin yankuna akwai fiye da 20k na masu amfani da mu masu tamani yayin lokacin fitar da sabbin ayyuka akan sabar samfur. Yana da zafi…

Sunana Ruslan kuma ina goyan bayan tsarin bayanai na rukunin BARS da haɓaka bot mai kisa don tashin hankali serial DBAs. Wannan post ɗin ba don ƙarancin zuciya bane - akwai haruffa da hotuna da yawa.

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

/awr

Wasu aikace-aikacen mu suna gudana akan Oracle DBMS. Hakanan akwai ayyuka akan PostgreSQL DBMS. Oracle yana da abu mai ban mamaki - tattara kididdiga akan kaya akan DBMS, wanda ke nuna matsalolin da ke akwai kuma har ma yana ba da shawarwari don kawarwa - Ma'ajiyar Kayan Aiki ta atomatik (AWR). A wani lokaci (wato a lokacin jin zafi), masu ci gaba suna buƙatar tattarawa akai-akai Rahoton AWR don nazarin aiki. Gaskiya mun je uwar garken DBMS, mun tattara rahotanni, muka kai mana su kuma muka aika da su don samarwa don bincike. Bayan karo na 5 ya zama mai ban haushi ... bayan na 10 ya zama mai ban tsoro ...

Ɗaya daga cikin abokan aiki na ya taɓa bayyana ra'ayin cewa duk abin da aka yi fiye da sau ɗaya ya kamata a sarrafa shi ta atomatik. Har zuwa lokacin fushi, don gaskiya, ban yi tunani game da shi ba kuma na yi ƙoƙarin sarrafa duk abin da za a iya sarrafa kansa, amma sau da yawa ba a buƙata ba kuma ya kasance mafi bincike fiye da yanayin da aka yi amfani da shi.

Sai na yi tunani: "Ba a buƙatar admins don samar da rahoto...". Bayan haka, tattara rahoto yana nufin aiwatar da rubutun sql @$ORACLE_HOME/rdbms/admin/awrrpt.sql da ɗaukar rahoton daga uwar garken zuwa wurin ku ... Oh eh, ba mu ƙyale ci gaba don samarwa ba.

Sa'an nan na Googled da zama dole bayanai, halitta aikin daga labarin a kan gwajin tushe, gudu da rubutun da kuma mu'ujiza - rahoton da aka harhada da kuma za a iya ajiye a gida. Ƙirƙirar ayyuka inda ake yawan buƙatar rahotannin AWR kuma suna gaya wa masu haɓaka yadda ake amfani da su.

Kusan wannan lokacin, a cikin lokacin hutuna, bayan magana da @BotFather, na ƙirƙiri bot ɗin Telegram don kaina, don nishaɗi kawai. Na screwed a cikin sauki ayyuka a can - nuna halin yanzu lokaci, musayar rates, weather, koya shi aika compliments ga matata (sa'an nan budurwa) a kan wani jadawalin. Wataƙila, a lokacin, aika yabo shine mafi mashahuri aikin bot na, kuma matata ta yaba da shi.

Don haka. Masu haɓakawa suna rubuto mana a cikin Telegram, muna aika da rahoto zuwa gare su a cikin Telegram ... Menene idan ba su rubuta mana ba, amma ga bot? Bayan haka, zai zama mafi kyau ga kowa da kowa, za a karbi rahoton da sauri, kuma mafi mahimmanci, ketare mu. Wannan shine yadda aka haifi ra'ayin sanannen aikin farko na bot na.

Na fara aiwatarwa. Na yi shi, gwargwadon iyawa, a cikin PHP (app ɗinmu da kansa yana cikin PHP, na fi ƙware da shi fiye da Python). Ni ba codeer mai kyau ba ne, don haka ba zan nuna muku lambara ba :)

Bot ɗin yana rayuwa akan hanyar sadarwar haɗin gwiwar mu kuma yana da damar yin wasu ayyuka, gami da bayanan bayanai. Don kada in damu da sigogi a cikin ƙungiya ko menu, na ƙara wannan aikin zuwa tattaunawar rukuni tare da sanarwar sa ido. Ta wannan hanyar bot ɗin nan da nan ya san wace rumbun adana bayanai don tattara rahoton daga.

Bayan karbar umarni kamar / N, inda N shine adadin cikakkun sa'o'i wanda ake buƙatar rahoto (ta tsohuwa - 1 hour), ko da mako guda, idan ba a sake kunna bayanan ba, nan da nan bot ya fara aiki, tattara rahoton, buga shi azaman shafin yanar gizon kuma nan da nan (kusan a can) yana ba da hanyar haɗi zuwa rahoton da ake bukata.

Bi hanyar haɗin kuma ga shi, rahoton AWR:

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Kamar yadda aka zata, masu haɓakawa sun jimre da irin wannan samar da rahoton, kuma wasu ma sun gode mana.

Da yake godiya da dacewa da ƙungiyar, masu gudanar da ayyukan daga wasu yankuna suna son irin wannan, tun da sun sami mafi yawan daga abokin ciniki kuma suna damuwa game da aiki da samuwa na tsarin. Na ƙara bot ɗin zuwa wasu hirarrakin. Har yanzu suna amfani da shi, kuma na yi farin ciki da shi.

Daga baya, abokan aiki daga CIT sun gano yadda muke tattara rahotanni kuma suna son yin hakan. Ban ƙara su a cikin tattaunawarmu ba, na ƙirƙiri wata tattaunawa ta daban tare da tsarar rahotanni akan jadawalin kuma akan buƙata.

/pgBadger

Muna da wasu aikace-aikace a cikin PHP tare da PostgreSQL. Na aiwatar da tarin rahoton pgBadger ga mabukata ta amfani da ka'ida iri ɗaya - a cikin tattaunawar rukuni. Da farko sun yi amfani da shi, amma sai suka daina. An yanke aikin a matsayin ba dole ba.

/wajibi

Sashen mu yana da lokutan dare kuma, saboda haka, yana da jadawali. Yana cikin Google Sheets. Ba koyaushe ya dace don neman hanyar haɗin gwiwa ba, buɗe ginshiƙi, nemi kanku ... Ɗaya daga cikin tsoffin abokan aikina kuma ya yi wasa da bot ɗin sa na Telegram kuma ya gabatar da shi cikin tattaunawar sashinmu. sanarwa game da fara canjin aiki na ma'aikatan sashen. Bot ɗin yana ƙaddamar da jadawali, yana ƙayyade mutumin da ke aiki ta kwanan wata kuma, bisa ga jadawalin ko kuma bisa buƙata, ya ba da rahoton wanda ke aiki a yau. Ya zama mai girma da dacewa. Gaskiya, ban ji daɗin tsarin saƙonnin ba. Har ila yau, ga ma'aikatan wani sashen (misali, BC "Medicine"), ba a buƙatar bayani game da waɗanda ke aiki a wasu wurare, amma kuna buƙatar sanin wanda ke aiki a "Medicine" idan akwai matsaloli. Na yanke shawarar "abo" aikin, amma canza abin da ba na so. Na yi tsarin saƙon da ya dace da kaina da sauran mutane, tare da cire bayanan da ba dole ba.

/tnls

Bayan gwada sarrafa kansa ta amfani da bot na Telegram, ra'ayoyi daban-daban sun bayyana, amma ina so in yi abubuwan da suka dace. Na yanke shawarar jagoranci kididdiga akan buƙatun. Don samun damar ayyukan abokan cinikinmu, mun aiwatar da abin da ake kira "tsalle uwar garken" ko uwar garken turawa. Ana tayar da haɗin VPN akansa, sannan ana tura tashoshin aikace-aikacen, ma'ajin bayanai da sauran abubuwan turawa zuwa hanyar sadarwar gida ta hanyar ssh, don sauƙin shiga ayyukan ma'aikatanmu, ba tare da matsala tare da haɗin VPN ba. Duk abin da kuke buƙatar yi shine saita haɗin VPN zuwa cibiyar sadarwar haɗin gwiwar mu.

Ƙididdiga na buƙatun ya nuna cewa sau da yawa, bayan ɗaya daga cikin ramukan ya kasa (a cikin yanayin matsalolin cibiyar sadarwa, saboda lokaci, misali), mutane suna tuntuɓar mu game da maido da damar yin amfani da aikin. A mafi yawan lokuta, kawai sake kunna haɗin ya isa kuma komai yana da kyau. Bari mu yi da kanku. Ga umarnin:
Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Kuna "fadi" cikin abun menu da ake so, zaɓi aikin ku, jira minti ɗaya kuma kowa yana farin ciki da gamsuwa ...

Bayan karɓar umarni, tare da ɗan motsi na bytes da bits, bot ɗin yana haɗawa zuwa uwar garken mai aikawa, da sanin a gaba wanda turawa ya kamata a sake farawa, kuma yayi aikinsa - yana mayar da haɗin gwiwa zuwa aikin. Na rubuta umarni don ku iya magance irin waɗannan batutuwan da kanku. Kuma mutane sun tuntube mu kawai idan kayan aikin da aka bayar bai yi aiki ba ...

/ecp_zuwa_pem

Ƙarin ƙididdiga sun nuna cewa sau da yawa ya zama dole a canza EDS Crypto Pro a cikin tsarin pem(Base64) don haɗin kai daban-daban, kuma muna da yawancin su. Aiki: ɗauki akwati, kwafa shi zuwa kwamfutar Windows tare da shigar da kayan aikin P12FromGostCSP (wanda aka biya, ta hanya), canza shi zuwa pfx, sannan canza pfx ta amfani da OpenSSL (tare da goyan bayan bayanan GOST) zuwa pem. Ba shi da dacewa sosai, amma kuna son shi a cikin yatsun ku.

Google ya sake kawo ceto. An samo amfanin wani irin mutum. Na tattara shi kamar yadda aka rubuta a cikin README - ya yi aiki. Na koya wa bot yin aiki tare da mai amfani kuma na sami kusan juyi nan take.
Muna adana lokaci, jijiyoyi da sa'o'i na mutum

A lokacin aiwatarwa na ƙarshe, an ba da oda don canzawa zuwa sabon tsarin ɓoyewa - gost-2012. Kamar yadda na tuna, mai amfani a wannan lokacin kawai ya yi aiki tare da tsohuwar GOST (2001), watakila wani irin wannan kayan aiki ne daga wani irin mutum, ban tuna daidai ba.
Bayan canzawa zuwa sabon GOST, an cire aikin bot saboda dalilai na tsaro. An aiwatar da shi a cikin akwati na docker.

Dockerfile, idan wani ya buƙaci shi:

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

Don canzawa, kuna buƙatar sanya akwati na asali (directory kamar xxx.000) a cikin /srv/a cikin directory, sannan ɗauki pem ɗin da aka gama zuwa /srv/out.

Don canzawa:

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

Wata rana, Oracle DBA mai sanyi sosai, tare da gogewa mai yawa a cikin gudanarwa da haɓaka DBMS, ya sami aiki a kamfaninmu. Kuma nan da nan ya sami matsala don haɗawa da sabar DBMS tare da ssh: bai san inda ko yadda za a haɗa shi ba, ba a bayyana damar shiga a fili ba, ko kuma ba zai iya tura wani abu da yake bukata ga kansa ba. To, mun yi farin cikin taimaka, mun gaya masa yadda ake haɗa shi, kuma muka tura masa Manajan Enterprise. Amma har yanzu abubuwa ba su yi aiki tare da ssh ba. Ɗaya daga cikin abokan aiki na ya bayyana shi a sauƙaƙe: DBA mai tsabta :) Mun yanke shawarar cewa idan muna buƙatar tweak wani abu a kan uwar garke, za mu yi da kanmu.

EM wani lokaci yana faɗuwa ƙarƙashin nauyi mai nauyi, kuma don sake kunna shi… kuna buƙatar haɗawa ta ssh kuma zata sake farawa ta tashar tasha. "Admins suna da kyau a wannan," sabon abokin aikinmu ya yanke shawara. Nauyi masu nauyi akan DBMS ba sabon abu bane a gare mu, kuma buƙatun sake farawa EM suma na gama gari. Sai kuma irin wannan yanayin: tashin hankali, fushi da neman mafita ga matsalar. Don haka a cikin rukunin tattaunawa ɗaya waɗannan umarni sun bayyana: /emstop da /emstart.

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

/kashe

Idan akwai gasa mai ƙarfi akan bayanan, kuma wannan wani lokaci yana faruwa, ya zama dole a hanzarta sauke bayanan. Hanya mafi sauri ita ce kashe tsarin matsala ... Don yin wannan, haɗi ta ssh, kashe -9 ... Bot zai taimaka!

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Alexey ya yaba da ƙungiyar kuma ya ba ta suna mai ƙauna - "Kilyalka" ko bindiga.
Wata rana, bayan kallon yadda Alexey ya yi ƙoƙari kuma ya sha wahala, yana shiga / kashe xxx kowane lokaci don kowane tsari, na yanke shawarar ƙara "manyan ganga" a gun mu:

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Wannan ya fi kyau! Komai yana gare ku, Alexey, kawai aiki, masoyi!

A zahiri, irin wannan muhimmiyar ƙungiya ta kasance iyakance isa ga mai amfani_id - "wauta". Ganin yadda Lesha ke kashe matakai a kan uwar garken bayanan, mutane da yawa sun yi ƙoƙarin shigar da umarni tare da lambar tsari bazuwar, amma ba za ku iya yaudarar bot na mai hankali ba, nan da nan ya ƙi.

/alertlog

To, kawai idan, na yi umarni:
/alertlog <yawan layin> - sami takamaiman adadin layukan faɗakarwa
Bot ɗin yana jan saƙon faɗakarwa ya aika zuwa sabis ɗinmu, kamar pastebin, wanda ake kira pyste, kuma ya aika hanyar haɗi zuwa manna zuwa tattaunawar buƙatun.

/tabbas

Gaba ya zo nema don saka idanu ainihin aikin aikace-aikacen mu. Har yanzu, tallafin fasaha na aikin ya tattara wannan bayanan da hannu. Komai! Gwanayen gwajin mu sun ƙirƙira shari'o'in gwaji don wannan. Sakamakon gwajin log ɗin bai dace sosai don karantawa ba; mai amfani da ba shi da ƙwarewa zai ɗauki lokaci mai tsawo don fahimta kuma bai da tabbacin zai haskaka mahimman bayanan. Kuma ba ma son yin da hannayenmu abin da ba za mu iya yi da hannayenmu ba ... Wani sabon aiki ga bot!

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Umurnin na / duba yana nuna menu mai sauƙi kuma marar tabbas; wannan lokacin mutanenmu sun koyi yadda ake amfani da wannan umarni ba tare da umarni ba!

Lokacin da ka zaɓi abin da ake so, maimakon menu, sanarwa game da farkon gwajin ya bayyana, don kada masu amfani da rashin haƙuri su yi gwajin mu sau 100500:

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Dangane da abin menu da aka zaɓa, an ƙaddamar da takamaiman gwaji daga hanyar sadarwar mu, wato daga injin da bot ke zaune (an riga an saita jmeter a can, ana samun gwaje-gwajen da ake buƙata ...) ko kai tsaye daga cibiyar bayanai (daga a injin da aka shirya kusa da aikace-aikacen), don ware haɗin haɗin yanar gizo lokacin gwajin jinkiri, ko rage su zuwa mafi ƙanƙanta.

Bayan kammala gwajin da karɓar log ɗin, bot ɗin ya ƙididdige shi kuma ya samar da sakamakon a cikin nau'i na "wanda za a iya karantawa" na mutum:

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Tarin awo

Ayyukan sun isa kuma masu gudanar da ayyukan masu sha'awar sun karbi irin wannan aikin don yankunan su. Kuma wani Manajan Ayyuka mai tausayi ya ce: "Ina so in sami kididdigar lokaci!" Wani daga CIT ya gaya mata cewa zai dace a saka idanu duk wannan a Zabbix. Zabbix, so Zabbix...

Na yi tunanin cewa ina buƙatar shirya don buƙatar maimaita maganin ... Na sanya ra'ayin a cikin akwati na docker. A cikin akwati, ana ƙaddamar da jmeter akan jadawali (sau ɗaya a kowane minti 10), yana sanya log ɗin a wani wuri, php yana rarraba shi kuma yana nuna mahimman bayanai a cikin hanyar yanar gizo. Zabbix, ta amfani da maɓallin web.page.get, yana karɓar wannan shafin, yana zaɓar mahimman bayanai don wasu abubuwan da suka dogara da su akai-akai kuma yana gina hoto.

Muna adana lokaci, jijiyoyi da sa'o'i na mutum

Ina tsammanin ya juya bai yi kyau ba. Ta hanyar lura da jadawali, da farko, muna ganin matsakaicin saurin aikace-aikacen, kuma idan an gano kololuwa akan jadawali, mun san kusan inda “toshe” yake. Yana da sauki. Ya zuwa yanzu dai ya zama abin nema ga yanki daya kawai, amma a shirye nake in maimaita shi ga masu sha'awar.

Ci gaban aikace-aikacen

Kididdigar kan ayyuka masu kama da kwanan nan sun haifar da ƙarin ra'ayoyi don sauƙaƙe da sauƙaƙe aiki. A kan wasu ayyukan, akan sabar aikace-aikacen, akwai buƙatar shigar da maɓalli na Crypto Pro kwantena, akwai da yawa daga cikinsu, kuma sa hannu na dijital ya ƙare akan lokaci. Wani lokaci ayyuka 2 suna zuwa a rana. Amma na yi la'akari da rashin lafiya don amfani da bot don waɗannan dalilai kuma na yanke shawarar cewa zan ƙirƙiri aikin kai tsaye a cikin aikace-aikacen. A zahiri tare da izini da duba haƙƙin shiga. Idan kuna da gata masu mahimmanci, ƙarin abin menu zai kasance don aiki tare da sa hannu na dijital, shigarwa, gogewa, bayanan duba, da sauransu. A halin yanzu ana ci gaba da aiki. Kamar yadda ya fito, wannan ba shi da wahala sosai, kawai kuna buƙatar karanta umarnin da ke akwai kaɗan, duba misalan lambar, tambayi abokan aiki waɗanda suka fi ƙwararrun ci gaba, sannan ku yi shi. Yayin aikin bincike, ra'ayoyin sun fito don ƙarawa cikin aikace-aikacen. Ba zan yi shirye-shiryen Napoleonic ba - akwai ci gaba, bari kowa ya kula da kasuwancinsa. Amma yayin da yake da ban sha'awa, Ina yin shi da kaina.

Shirye-shirye

Kamar yadda na ce, an haifi ra'ayoyi daban-daban da yawa don amfani da bot ɗinmu kuma ba kawai - a gaba ɗaya, bari mu ce, ra'ayoyin "makimai na atomatik", yawancin su an manta da su, tun da ba ni da lokacin rubuta su. Yanzu ina ƙoƙarin rubuta duk abin da ya zo a zuciya, kuma ina ba da shawarar cewa wasu su yi haka.

Amma Alexey bai manta da ya ba da burinsa ba. Daga na baya-bayan nan:
/kill_sql SQL_ID - kashe duk zaman tare da wannan buƙatar SQL_ID
/kill_block - kashe tushen toshe zaman
/ nuna_em - nuna hoton aikin EM
Mutum ne mai wayo, yana son ya dinka DBA daga wayarsa =)

Wannan shine yadda muke aiki don amfanin Ƙasar Motherland!

Ta yaya kuke kawar da kanku daga ayyuka na yau da kullun da marasa ban sha'awa?

Ina fatan karatun ya zama mai ban sha'awa, kuma watakila ma yana da amfani ga wani, kuma ban sami lokacin da zan gungurawa mai karatu ba ... Sa'a ga dukanmu.

source: www.habr.com

Add a comment