మా ప్రాజెక్ట్లు సాధారణంగా ప్రాంతీయమైనవి మరియు క్లయింట్లు సాధారణంగా మంత్రిత్వ శాఖలు. కానీ, ప్రభుత్వ రంగంతో పాటు ప్రైవేట్ సంస్థలు కూడా మన వ్యవస్థలను ఉపయోగిస్తాయి. వారితో ఆచరణాత్మకంగా ఎటువంటి సమస్యలు లేవు.
కాబట్టి, ప్రధాన ప్రాజెక్టులు ప్రాంతీయంగా ఉంటాయి మరియు కొన్నిసార్లు వాటితో సమస్యలు ఉన్నాయి. ఉదాహరణకు, పనితీరుతో, ఉత్పత్తి సర్వర్లలో కొత్త కార్యాచరణను అందుబాటులోకి తెచ్చే కాలంలో మా విలువైన వినియోగదారులు 20k కంటే ఎక్కువ మంది ఉన్నట్లయితే. ఇది ఒక నొప్పి…
నా పేరు రుస్లాన్ మరియు నేను BARS గ్రూప్ యొక్క సమాచార వ్యవస్థలకు మద్దతిస్తాను మరియు హింసాత్మక సీరియల్ DBAల కోసం కిల్లర్ బాట్ను అభివృద్ధి చేయడం. ఈ టపా ఎవరికోసం కాదు - చాలా అక్షరాలు మరియు చిత్రాలు ఉన్నాయి.
/awr
మా అప్లికేషన్లలో కొన్ని Oracle DBMSలో రన్ అవుతాయి. PostgreSQL DBMSలో ప్రాజెక్ట్లు కూడా ఉన్నాయి. ఒరాకిల్ అద్భుతమైన విషయం కలిగి ఉంది - DBMSపై లోడ్పై గణాంకాలను సేకరించడం, ఇది ఇప్పటికే ఉన్న సమస్యలను హైలైట్ చేస్తుంది మరియు తొలగింపు కోసం సిఫార్సులను కూడా చేస్తుంది - ఆటోమేటిక్ వర్క్లోడ్ రిపోజిటరీ (AWR). ఒక సమయంలో (అవి నొప్పి సమయంలో), డెవలపర్లు నిరంతరం సేకరించడానికి కోరారు పనితీరు విశ్లేషణ కోసం AWR నివేదికలు. మేము నిజాయితీగా DBMS సర్వర్కు వెళ్లి, నివేదికలను సేకరించి, వాటిని మా వద్దకు తీసుకెళ్లి విశ్లేషణ కోసం ఉత్పత్తికి పంపాము. 5వ సారి చికాకుగా... 10వ తేదీ తర్వాత చిరాకుగా...
నా సహోద్యోగులలో ఒకరు ఒకసారి కంటే ఎక్కువసార్లు చేసిన ప్రతిదీ ఆటోమేటిక్గా ఉండాలనే ఆలోచనను వ్యక్తం చేశారు. చికాకు యొక్క క్షణం వరకు, నిజం చెప్పాలంటే, నేను దాని గురించి ఆలోచించలేదు మరియు స్వయంచాలకంగా చేయగల ప్రతిదాన్ని ఆటోమేట్ చేయడానికి ప్రయత్నించాను, కానీ తరచుగా ఇది డిమాండ్లో లేదు మరియు అనువర్తిత స్వభావం కంటే ఎక్కువ పరిశోధన.
ఆపై నేను అనుకున్నాను: "నివేదికను రూపొందించడానికి నిర్వాహకులు అవసరం లేదు...". అన్నింటికంటే, నివేదికను సేకరించడం అంటే sql స్క్రిప్ట్ని అమలు చేయడం @$ORACLE_HOME/rdbms/admin/awrrpt.sql మరియు నివేదికను సర్వర్ నుండి మీ స్థానానికి తీసుకెళ్లడం... అవును, మేము ఉత్పత్తి కోసం అభివృద్ధిని అనుమతించము.
అప్పుడు నేను అవసరమైన సమాచారాన్ని గూగుల్ చేసాను, టెస్ట్ బేస్పై కథనం నుండి ఫంక్షన్ను సృష్టించాను, స్క్రిప్ట్ మరియు అద్భుతాన్ని అమలు చేసాను - నివేదిక సంకలనం చేయబడింది మరియు స్థానికంగా సేవ్ చేయబడుతుంది. AWR నివేదికలు తరచుగా అవసరమయ్యే ఫంక్షన్లను రూపొందించారు మరియు వాటిని ఎలా ఉపయోగించాలో డెవలపర్లకు చెప్పారు.
ఈ సమయంలో, నా ఖాళీ సమయంలో, @BotFatherతో మాట్లాడిన తర్వాత, నేను వినోదం కోసం నా కోసం టెలిగ్రామ్ బాట్ని సృష్టించాను. నేను అక్కడ ఒక సాధారణ కార్యాచరణలో చిక్కుకున్నాను - ప్రస్తుత సమయం, మార్పిడి రేట్లు, వాతావరణం చూపించు, షెడ్యూల్లో నా భార్యకు (అప్పటి స్నేహితురాలు) అభినందనలు పంపడం నేర్పించాను. బహుశా, ఆ సమయంలో, అభినందనలు పంపడం నా బోట్ యొక్క అత్యంత ప్రజాదరణ పొందిన కార్యాచరణ, మరియు నా భార్య దానిని ప్రశంసించింది.
కాబట్టి. డెవలపర్లు మాకు టెలిగ్రామ్లో వ్రాస్తాము, మేము వారికి టెలిగ్రామ్లో ఒక నివేదికను పంపుతాము... వారు మనకు కాకుండా బోట్కు వ్రాస్తే? అన్నింటికంటే, ఇది అందరికీ మంచిది, నివేదిక వేగంగా స్వీకరించబడుతుంది మరియు ముఖ్యంగా, మమ్మల్ని దాటవేస్తుంది. నా బోట్ కోసం మొదటి జనాదరణ పొందిన కార్యాచరణ యొక్క ఆలోచన ఈ విధంగా పుట్టింది.
నేను అమలు చేయడం ప్రారంభించాను. నేను PHPలో నేను చేయగలిగినంత ఉత్తమంగా చేసాను (మా అప్లికేషన్ కూడా PHPలో ఉంది, నేను పైథాన్ కంటే ఎక్కువ ప్రావీణ్యం కలిగి ఉన్నాను). నేను మంచి కోడర్ని కాదు, కాబట్టి నా కోడ్ని మీకు చూపించను :)
బోట్ మా కార్పొరేట్ నెట్వర్క్లో నివసిస్తుంది మరియు లక్ష్య డేటాబేస్లతో సహా నిర్దిష్ట ప్రాజెక్ట్లకు ప్రాప్యతను కలిగి ఉంది. బృందం లేదా మెనూలోని పారామీటర్లతో ఇబ్బంది పడకుండా ఉండేందుకు, నేను పర్యవేక్షణ నోటిఫికేషన్లతో గ్రూప్ చాట్కి ఈ కార్యాచరణను జోడించాను. ఈ విధంగా ఏ డేటాబేస్ నుండి నివేదికను సేకరించాలో బోట్ వెంటనే తెలుసుకుంటుంది.
వంటి ఆదేశాన్ని అందుకున్నారు /ఏఆర్ ఎన్, ఇక్కడ N అనేది ఒక నివేదిక అవసరమయ్యే పూర్తి గంటల సంఖ్య (డిఫాల్ట్గా - 1 గంట), ఒక వారం పాటు కూడా, డేటాబేస్ పునఃప్రారంభించబడకపోతే, బాట్ వెంటనే పని చేయడం ప్రారంభించి, నివేదికను సేకరించి, దానిని ప్రచురిస్తుంది వెబ్ పేజీ మరియు వెంటనే (దాదాపు అక్కడే) చాలా అవసరమైన నివేదికకు లింక్ను అందిస్తుంది.
లింక్ని అనుసరించండి మరియు ఇక్కడ ఇది ఉంది, AWR నివేదిక:
ఊహించిన విధంగా, డెవలపర్లు అటువంటి నివేదిక ఉత్పత్తిని ఎదుర్కొన్నారు మరియు కొందరు మాకు కృతజ్ఞతలు తెలిపారు.
బృందం యొక్క సౌలభ్యాన్ని మెచ్చుకున్న తరువాత, ఇతర ప్రాంతాల నుండి ప్రాజెక్ట్ మేనేజర్లు కూడా అదే కోరుకున్నారు, ఎందుకంటే వారు కస్టమర్ నుండి అత్యధికంగా అందుకుంటారు మరియు సిస్టమ్ల పనితీరు మరియు లభ్యత గురించి ఆందోళన చెందుతున్నారు. నేను బోట్ని ఇతర చాట్లకు జోడించాను. వారు ఇప్పటికీ దీనిని ఉపయోగిస్తున్నారు మరియు నేను దాని గురించి సంతోషిస్తున్నాను.
తర్వాత, CITలోని సహోద్యోగులు మేము నివేదికలను ఎలా సేకరిస్తాము అనే దాని గురించి తెలుసుకున్నారు మరియు దానిని కూడా చేయాలనుకుంటున్నారు. నేను వాటిని మా చాట్లకు జోడించలేదు, నేను షెడ్యూల్లో మరియు అభ్యర్థనపై నివేదికల తరంతో ప్రత్యేక చాట్ని సృష్టించాను.
/pgBadger
మేము PostgreSQLతో కలిపి PHPలో ఇతర అప్లికేషన్లను కూడా కలిగి ఉన్నాము. నేను సమూహ చాట్లలో అదే సూత్రాన్ని ఉపయోగించి అవసరమైన వారి కోసం pgBadger నివేదికల సేకరణను అమలు చేసాను. మొదట వారు దానిని ఉపయోగించారు, కానీ వారు ఆగిపోయారు. ఫంక్షనాలిటీ అనవసరంగా కత్తిరించబడింది.
/ విధి
మా డిపార్ట్మెంట్లో నైట్ షిఫ్ట్లు ఉన్నాయి మరియు దానికి అనుగుణంగా షెడ్యూల్ ఉంది. ఇది Google షీట్లలో ఉంది. లింక్ కోసం వెతకడం, చార్ట్ తెరవడం, మీ కోసం శోధించడం ఎల్లప్పుడూ అనుకూలమైనది కాదు... నా మాజీ సహోద్యోగుల్లో ఒకరు కూడా అతని టెలిగ్రామ్ బాట్తో ఆడారు మరియు దానిని మా డిపార్ట్మెంట్ చాట్లో చేర్చారు డిపార్ట్మెంట్ ఉద్యోగులకు డ్యూటీ షిఫ్ట్ ప్రారంభం గురించి నోటిఫికేషన్లు. బోట్ షెడ్యూల్ను అన్వయిస్తుంది, ప్రస్తుత తేదీ నాటికి డ్యూటీలో ఉన్న వ్యక్తిని నిర్ణయిస్తుంది మరియు షెడ్యూల్ ప్రకారం లేదా అభ్యర్థన మేరకు, ఈరోజు డ్యూటీలో ఉన్నవారిని నివేదిస్తుంది. ఇది గొప్ప మరియు అనుకూలమైన మారినది. నిజమే, నాకు మెసేజ్ల ఫార్మాట్ నిజంగా నచ్చలేదు. అలాగే, మరొక విభాగానికి చెందిన ఉద్యోగులకు (ఉదాహరణకు, BC "మెడిసిన్"), ఇతర దిశలలో విధుల్లో ఉన్నవారి గురించి సమాచారం నిజంగా అవసరం లేదు, అయితే సమస్యల విషయంలో "మెడిసిన్"లో ఎవరు విధుల్లో ఉన్నారో మీరు తెలుసుకోవాలి. నేను కార్యాచరణను "అరువు" తీసుకోవాలని నిర్ణయించుకున్నాను, కానీ నేను ఇష్టపడనిదాన్ని మార్చాను. నేను అనవసరమైన సమాచారాన్ని తీసివేసి, నాకు మరియు ఇతరులకు అనుకూలమైన సందేశ ఆకృతిని చేసాను.
/tnls
టెలిగ్రామ్ బాట్ని ఉపయోగించి ఆటోమేషన్ని ప్రయత్నించిన తర్వాత, చాలా విభిన్న ఆలోచనలు కనిపించాయి, కానీ నేను ఖచ్చితంగా అవసరమైన పనులను చేయాలనుకున్నాను. నేను నాయకత్వం వహించాలని నిర్ణయించుకున్నాను అభ్యర్థనలపై గణాంకాలు. మా కస్టమర్ల ప్రాజెక్ట్లను యాక్సెస్ చేయడానికి, మేము "జంప్ సర్వర్" లేదా ఫార్వార్డింగ్ సర్వర్ని అమలు చేసాము. VPN కనెక్షన్లు దానిపై పెంచబడతాయి, ఆపై అప్లికేషన్ పోర్ట్లు, డేటాబేస్లు మరియు ఇతర సహాయక ఫార్వార్డింగ్లు VPN కనెక్షన్లతో సమస్యలు లేకుండా మా ఉద్యోగుల ప్రాజెక్ట్లను సులభంగా యాక్సెస్ చేయడం కోసం ssh ద్వారా మా స్థానిక నెట్వర్క్కు ఫార్వార్డ్ చేయబడతాయి. మీరు చేయాల్సిందల్లా మా కార్పొరేట్ నెట్వర్క్కి VPN కనెక్షన్ని సెటప్ చేయడం.
తరచుగా, సొరంగంలో ఒకటి విఫలమైన తర్వాత (నెట్వర్క్ సమస్యల విషయంలో, గడువు ముగిసినందున, ఉదాహరణకు), ప్రాజెక్ట్కు యాక్సెస్ని పునరుద్ధరించడం గురించి వ్యక్తులు మమ్మల్ని సంప్రదిస్తున్నారని అభ్యర్థనల గణాంకాలు చూపిస్తున్నాయి. చాలా సందర్భాలలో, కనెక్షన్ని పునఃప్రారంభించడం సరిపోతుంది మరియు ప్రతిదీ బాగానే ఉంది. మీరే చేద్దాం. ఇక్కడ ఆదేశం ఉంది:
మీరు కోరుకున్న మెను ఐటెమ్లోకి "పడిపోతారు", మీ ప్రాజెక్ట్ని ఎంచుకోండి, ఒక నిమిషం వేచి ఉండండి మరియు అందరూ సంతోషంగా మరియు సంతృప్తిగా ఉన్నారు...
ఆదేశాన్ని స్వీకరించిన తర్వాత, బైట్లు మరియు బిట్ల స్వల్ప కదలికతో, బాట్ ఫార్వార్డింగ్ సర్వర్కు కనెక్ట్ అవుతుంది, ఏ ఫార్వార్డింగ్ను పునఃప్రారంభించాలో ముందుగానే తెలుసుకుని, దాని పనిని చేస్తుంది - ప్రాజెక్ట్కు కనెక్షన్ని పునరుద్ధరిస్తుంది. అటువంటి సమస్యలను మీరే పరిష్కరించుకునేలా నేను సూచనలను వ్రాసాను. మరియు అందించిన సాధనం పని చేయకపోతే మాత్రమే వ్యక్తులు మమ్మల్ని సంప్రదించారు...
/ecp_to_pem
మరింత గణాంకాలు మార్చడానికి తరచుగా అవసరం అని చూపించింది పెమ్ ఆకృతిలో EDS క్రిప్టో ప్రో(
గూగుల్ మళ్లీ సహాయం చేసింది. కనుగొన్నారు
తుది అమలు సమయానికి, కొత్త ఎన్క్రిప్షన్ ఫార్మాట్కి మారడానికి ఆర్డర్ జారీ చేయబడింది - gost-2012. నాకు గుర్తున్నంతవరకు, ఆ సమయంలో యుటిలిటీ పాత GOST (2001) తో మాత్రమే పని చేసింది, బహుశా ఇది మరొక రకమైన వ్యక్తి నుండి మరొక సారూప్య ప్రయోజనం కావచ్చు, నాకు సరిగ్గా గుర్తు లేదు.
కొత్త GOSTకి మారిన తర్వాత, భద్రతా కారణాల దృష్ట్యా బోట్ యొక్క కార్యాచరణ తీసివేయబడింది. డాకర్ కంటైనర్లో దీన్ని అమలు చేశారు.
డాకర్ఫైల్, ఎవరికైనా అవసరమైతే:
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
మార్చడానికి, మీరు అసలు కంటైనర్ను (xxx.000 వంటి డైరెక్టరీ) /srv/in డైరెక్టరీలో ఉంచాలి మరియు పూర్తయిన pemని /srv/outకి తీసుకెళ్లాలి.
మార్చడానికి:
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 మరియు / emstart
ఒకరోజు, చాలా కూల్ అయిన Oracle DBA, DBMS అడ్మినిస్ట్రేషన్ మరియు డెవలప్మెంట్లో చాలా అనుభవంతో, మా కంపెనీలో ఉద్యోగం వచ్చింది. మరియు అతను వెంటనే sshతో DBMS సర్వర్లకు కనెక్ట్ చేయడంలో సమస్య ఎదుర్కొన్నాడు: ఎక్కడ లేదా ఎలా కనెక్ట్ చేయాలో అతనికి తెలియదు, యాక్సెస్ స్పష్టంగా వివరించబడలేదు లేదా అతను తనకు అవసరమైనదాన్ని ఫార్వార్డ్ చేయలేడు. బాగా, మేము సహాయం చేయడానికి సంతోషిస్తున్నాము, మేము అతనికి ఎలా కనెక్ట్ చేయాలో చెప్పాము మరియు అతనిని ఎంటర్ప్రైజ్ మేనేజర్గా ఫార్వార్డ్ చేసాము. కానీ విషయాలు ఇప్పటికీ ssh తో పని చేయలేదు. నా సహోద్యోగుల్లో ఒకరు దీన్ని సరళంగా వివరించారు: స్వచ్ఛమైన DBA :) మేము సర్వర్లో ఏదైనా సర్దుబాటు చేయవలసి వస్తే, దానిని మనమే చేస్తామని మేము నిర్ణయించుకున్నాము.
EM కొన్నిసార్లు భారీ లోడ్లో క్రాష్ అవుతుంది మరియు దాన్ని పునఃప్రారంభించాలంటే... మీరు ssh ద్వారా కనెక్ట్ అయి టెర్మినల్ ద్వారా పునఃప్రారంభించాలి. "నిర్వాహకులు ఇందులో మంచివారు," మా కొత్త సహోద్యోగి నిర్ణయించుకున్నారు. DBMSపై అధిక లోడ్లు మాకు అసాధారణం కాదు మరియు EMని పునఃప్రారంభించాలనే అభ్యర్థనలు కూడా సాధారణం. అప్పుడు అదే దృశ్యం: ఉద్రిక్తత, చికాకు మరియు సమస్యకు పరిష్కారం కోసం అన్వేషణ. కాబట్టి అదే సమూహ చాట్లలో కింది ఆదేశాలు కనిపించాయి: / emstop మరియు / emstart.
/ చంపండి
డేటాబేస్లో బలమైన పోటీ ఉంటే, మరియు ఇది కొన్నిసార్లు జరిగితే, డేటాబేస్ను త్వరగా అన్లోడ్ చేయడం అవసరం. సమస్యాత్మక ప్రక్రియను చంపడం వేగవంతమైన మార్గం... దీన్ని చేయడానికి, ssh ద్వారా కనెక్ట్ చేయండి, కిల్ -9... బోట్ సహాయం చేస్తుంది!
అలెక్సీ జట్టును మెచ్చుకున్నాడు మరియు దానికి ఆప్యాయంగా పేరు పెట్టాడు - "కిల్యాల్కా" లేదా తుపాకీ.
ఒక రోజు, అలెక్సీ ఎలా ప్రయత్నించాడు మరియు బాధపడ్డాడో చూసిన తర్వాత, ప్రతి ప్రక్రియ కోసం ప్రతిసారీ / కిల్ xxx ఎంటర్ చేసి, నేను మా తుపాకీకి “మల్టీ-బారెల్” జోడించాలని నిర్ణయించుకున్నాను:
అది మంచిది! ప్రతిదీ మీ కోసం, అలెక్సీ, పని చేయండి, ప్రియమైన!
సహజంగానే, అటువంటి ముఖ్యమైన జట్టు పరిమితం చేయబడింది user_id ద్వారా యాక్సెస్ - “ఫూల్ప్రూఫ్”. డేటాబేస్ సర్వర్లోని ప్రాసెస్లను లెషా నేర్పుగా ఎలా చంపుతుందో చూసి, చాలా మంది వ్యక్తులు యాదృచ్ఛిక ప్రాసెస్ నంబర్తో ఆదేశాన్ని నమోదు చేయడానికి ప్రయత్నించారు, కానీ మీరు నా స్మార్ట్ బోట్ను మోసం చేయలేరు, అతను వెంటనే నిరాకరించాడు.
/అలర్ట్లాగ్
సరే, ఒకవేళ, నేను ఆదేశాన్ని చేసాను:
/alertlog <లైన్ల సంఖ్య> — నిర్ధిష్ట సంఖ్యలో అలర్ట్లాగ్ లైన్లను పొందండి
బోట్ ఒక అలర్ట్లాగ్ని లాగి, పిస్టె అని పిలవబడే పేస్ట్బిన్ వంటి మా సేవకు పంపుతుంది మరియు అభ్యర్థన చాట్కు పేస్ట్కు లింక్ను పంపుతుంది.
/ తనిఖీలు
తదుపరి అభ్యర్థన వచ్చింది మా అప్లికేషన్ యొక్క నిజమైన పనితీరును పర్యవేక్షిస్తుంది. ఇప్పటి వరకు, ప్రాజెక్ట్ సాంకేతిక మద్దతు ఈ డేటాను మాన్యువల్గా సేకరించింది. పర్వాలేదు! మా వాలియంట్ టెస్టర్లు దీని కోసం పరీక్ష కేసులను అభివృద్ధి చేశారు. ఫలిత పరీక్ష లాగ్ చదవడానికి చాలా సౌకర్యవంతంగా లేదు; అనుభవం లేని వినియోగదారు అర్థం చేసుకోవడానికి చాలా సమయం పడుతుంది మరియు అతను అవసరమైన సమాచారాన్ని హైలైట్ చేస్తారని ఖచ్చితంగా తెలియదు. మరియు మనం మన చేతులతో చేయలేని పనిని మన చేతులతో చేయడం ఇష్టం లేదు... బాట్ కోసం కొత్త పని!
/checks కమాండ్ సరళమైన మరియు స్పష్టమైన మెనుని ప్రదర్శిస్తుంది; ఈ సమయంలో మా అబ్బాయిలు సూచనలు లేకుండా ఈ ఆదేశాన్ని ఎలా ఉపయోగించాలో నేర్చుకున్నారు!
మీరు కోరుకున్న అంశాన్ని ఎంచుకున్నప్పుడు, మెనుకి బదులుగా, పరీక్ష ప్రారంభం గురించి నోటిఫికేషన్ కనిపిస్తుంది, తద్వారా అసహనానికి గురైన వినియోగదారులు మా పరీక్షను 100500 సార్లు అమలు చేయరు:
ఎంచుకున్న మెను ఐటెమ్పై ఆధారపడి, మా నెట్వర్క్ నుండి ఒక నిర్దిష్ట పరీక్ష ప్రారంభించబడుతుంది, అవి బోట్ నివసించే యంత్రం నుండి (jmeter అక్కడ ముందే కాన్ఫిగర్ చేయబడింది, అవసరమైన పరీక్షలు ఉన్నాయి...) లేదా నేరుగా డేటా సెంటర్ నుండి (ఒక నుండి ఆలస్యాలను పరీక్షించేటప్పుడు నెట్వర్క్ కనెక్షన్లను మినహాయించడానికి లేదా వాటిని కనిష్ట స్థాయికి తగ్గించడానికి అప్లికేషన్ పక్కన మెషీన్ను సిద్ధం చేయండి.
పరీక్షను పూర్తి చేసి, లాగ్ను స్వీకరించిన తర్వాత, బోట్ దానిని అన్వయిస్తుంది మరియు ఫలితాన్ని "మానవ-చదవదగిన" రూపంలో ఉత్పత్తి చేస్తుంది:
కొలమానాల సేకరణ
కార్యాచరణ వచ్చింది మరియు ఆసక్తిగల ప్రాజెక్ట్ మేనేజర్లు వారి ప్రాంతాలకు అటువంటి ఫంక్షన్ను స్వీకరించారు. మరియు ఒక దయగల ప్రాజెక్ట్ మేనేజర్ ఇలా అన్నాడు: "నేను సమయ గణాంకాలను కలిగి ఉండాలనుకుంటున్నాను!" జబ్బిక్స్లో వీటన్నింటినీ పర్యవేక్షించడం సౌకర్యంగా ఉంటుందని సీఐటీకి చెందిన ఒకరు ఆమెకు చెప్పారు. Zabbix, కాబట్టి Zabbix...
పరిష్కారాన్ని పునరావృతం చేయాల్సిన అవసరం కోసం నేను సిద్ధం కావాలి అని అనుకున్నాను... నేను ఆలోచనను డాకర్ కంటైనర్లో ఉంచాను. కంటైనర్లో, jmeter షెడ్యూల్లో ప్రారంభించబడుతుంది (ప్రతి 10 నిమిషాలకు ఒకసారి), లాగ్ను ఒక నిర్దిష్ట స్థలంలో ఉంచుతుంది, php దానిని అన్వయిస్తుంది మరియు అవసరమైన డేటాను వెబ్ పేజీ రూపంలో ప్రదర్శిస్తుంది. Zabbix, web.page.get కీని ఉపయోగించి, ఈ పేజీని స్వీకరిస్తుంది, నిర్దిష్ట ఆధారిత మూలకాల కోసం అవసరమైన డేటాను క్రమం తప్పకుండా ఎంచుకుంటుంది మరియు గ్రాఫ్ను రూపొందిస్తుంది.
ఇది చెడ్డది కాదని నేను భావిస్తున్నాను. గ్రాఫ్ను పరిశీలించడం ద్వారా, మేము మొదటగా, అప్లికేషన్ యొక్క సుమారు వేగాన్ని చూస్తాము మరియు గ్రాఫ్లో శిఖరాలు గుర్తించబడితే, “ప్లగ్” ఎక్కడ ఉందో మనకు సుమారుగా తెలుసు. ఇది సులభం. ఇప్పటివరకు ఇది ఒక ప్రాంతానికి మాత్రమే డిమాండ్గా మారింది, అయితే ఆసక్తి ఉన్నవారి కోసం నేను దానిని పునరావృతం చేయడానికి సిద్ధంగా ఉన్నాను.
అప్లికేషన్ అభివృద్ధి
ఇలాంటి పనులపై గణాంకాలు ఇటీవల పనిని సులభతరం చేయడానికి మరియు సులభతరం చేయడానికి మరిన్ని ఆలోచనలకు దారితీశాయి. కొన్ని ప్రాజెక్ట్లలో, అప్లికేషన్ సర్వర్లలో, కీ క్రిప్టో ప్రో కంటైనర్లను ఇన్స్టాల్ చేయాల్సిన అవసరం ఉంది, వాటిలో చాలా ఉన్నాయి మరియు డిజిటల్ సంతకం కాలక్రమేణా ముగుస్తుంది. కొన్నిసార్లు రోజుకు 2 పనులు వస్తాయి. కానీ ఈ ప్రయోజనాల కోసం బాట్ను ఉపయోగించడం సురక్షితం కాదని నేను భావించాను మరియు అప్లికేషన్లో నేరుగా కార్యాచరణను సృష్టించాలని నిర్ణయించుకున్నాను. సహజంగా అధికారం మరియు తనిఖీ యాక్సెస్ హక్కులతో. మీకు అవసరమైన అధికారాలు ఉంటే, డిజిటల్ సంతకాలు, ఇన్స్టాలేషన్, తొలగింపు, వీక్షణ సమాచారం మొదలైన వాటితో పని చేయడానికి అదనపు మెను ఐటెమ్ అందుబాటులో ఉంటుంది. ప్రస్తుతం కార్యాచరణ అభివృద్ధిలో ఉంది. ఇది ముగిసినప్పుడు, ఇది చాలా కష్టం కాదు, మీరు ఇప్పటికే ఉన్న సూచనలను కొద్దిగా చదవాలి, కోడ్ ఉదాహరణలను చూడండి, అభివృద్ధిలో మరింత అనుభవజ్ఞులైన సహోద్యోగులను అడగండి, ఆపై దీన్ని చేయండి. పరిశోధన ప్రక్రియలో, అనువర్తనానికి జోడించడానికి ఆలోచనలు ఉద్భవించాయి. నేను నెపోలియన్ ప్రణాళికలు వేయను - అభివృద్ధి ఉంది, ప్రతి ఒక్కరూ తమ స్వంత వ్యాపారాన్ని చూసుకోనివ్వండి. కానీ ఇది ఆసక్తికరంగా ఉన్నప్పటికీ, నేను నేనే చేస్తున్నాను.
ప్రణాళికలు
నేను చెప్పినట్లుగా, మా బోట్ను ఉపయోగించడం కోసం చాలా విభిన్న ఆలోచనలు పుట్టాయి మరియు మాత్రమే కాదు - సాధారణంగా, “ఆటోమేషన్ పాయింట్ల” కోసం ఆలోచనలు అని చెప్పండి, వాటిలో చాలా మర్చిపోయారు, ఎందుకంటే వాటిని వ్రాయడానికి నాకు సమయం లేదు. ఇప్పుడు నేను గుర్తుకు వచ్చే ప్రతిదాన్ని వ్రాయడానికి ప్రయత్నిస్తాను మరియు ఇతరులు కూడా అదే చేయాలని నేను సిఫార్సు చేస్తున్నాను.
కానీ అలెక్సీ తన శుభాకాంక్షలు చెప్పడం మర్చిపోడు. తాజా నుండి:
/kill_sql SQL_ID — ఈ SQL_ID అభ్యర్థనతో అన్ని సెషన్లను చంపండి
/kill_block - రూట్ బ్లాకింగ్ సెషన్ను చంపండి
/show_em - EM పనితీరు యొక్క చిత్రాన్ని చూపించు
అతను తెలివిగల వ్యక్తి, అతను తన ఫోన్ నుండి DBA కుట్టాలనుకుంటున్నాడు =)
మాతృభూమి ప్రయోజనాల కోసం మనం ఈ విధంగా పని చేస్తాము!
రొటీన్ మరియు రసహీనమైన పనుల నుండి మిమ్మల్ని మీరు ఎలా వదిలించుకుంటారు?
పఠనం ఆసక్తికరంగా మారిందని మరియు ఎవరికైనా ఉపయోగకరంగా ఉంటుందని నేను ఆశిస్తున్నాను మరియు పాఠకుడికి విసుగు తెప్పించే సమయం నాకు లేదు... మనందరికీ శుభాకాంక్షలు.
మూలం: www.habr.com