DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

X5 waxa ay ka hawlgashaa 43 xarumood oo qaybinta iyo 4 baabuur oo u gaar ah, iyada oo hubinaysa in badeecadaha aan kala go' lahayn la geeyo 029 dukaan. Maqaalkan waxaan ku wadaagi doonaa waayo-aragnimadayda abuurista nidaam is-dhexgal ah oo lagula socdo dhacdooyinka bakhaarka meel eber. Xogtu waxay faa'iido u yeelan doontaa khabiirada saadka ee shirkadaha ganacsiga ee leh dhowr iyo toban xarumood oo qaybinta oo maamula noocyo kala duwan oo badeecooyin ah.

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Sida caadiga ah, dhismaha nidaamka kormeerka iyo habka maaraynta habka ganacsigu wuxuu ku bilaabmayaa socodsiinta fariimaha iyo dhacdooyinka. Isla mar ahaantaana, barta teknolojiyadda muhiimka ah ee la xiriirta suurtagalnimada in si toos ah loo sameeyo xaqiiqda dhabta ah ee dhacdooyinka ganacsiga iyo dhacdooyinka duubista ayaa la tebay. Inta badan nidaamyada ganacsiga sida WMS, TMS, iwm., waxay leeyihiin qalab ku dhex dhisan oo lagula socdo hanaankooda. Laakiin, haddii kuwani yihiin nidaamyo ka soo saarayaasha kala duwan ama shaqeynta la socodka aan si ku filan loo horumarin, waa inaad dalbataa wax ka beddelka qaaliga ah ama aad soo jiidato la-taliyayaal khaas ah goobo dheeraad ah.

Aynu ka fikirno habka aan u baahanahay oo kaliya qayb yar oo ka mid ah la-tashiga ee la xidhiidha aqoonsiga ilaha (miisaska) si aan uga helno tilmaamayaasha nidaamka.

Gaar ahaan bakhaaradayada ayaa ah in dhowr habab maaraynta bakhaarrada (WMS dhaaftay) ay ka shaqeeyaan hal dhismo saadka. Bakhaarrada waxaa loo qaybiyaa iyadoo loo eegayo qaybaha kaydinta alaabta (qalalan, aalkolo, barafaysan, iwm) ma aha oo kaliya si macquul ah. Hal dhismo saadka dhexdiisa waxaa ku yaal dhismayaal bakhaar oo kala duwan, mid walbana ay maamusho WMS u gaar ah.

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Si loo sameeyo sawir guud oo ku saabsan hababka ka dhacaya bakhaarka, maareeyayaashu waxay falanqeeyaan warbixinta WMS kasta dhowr jeer maalintii, habeeyaan fariimaha ka yimaada hawlwadeenada bakhaarka (qaatayaasha, kuwa qaada, istiraatijiyadaha) waxayna soo koobaan tilmaamayaasha dhabta ah ee hawlgalka si ay u milicsadaan guddiga macluumaadka.

Si loo badbaadiyo wakhtiga maamulayaasha, waxaanu go'aansanay inaanu horumarino nidaam jaban oo loogu talagalay xakamaynta hawlgalka ee dhacdooyinka bakhaarka. Nidaamka cusub, marka lagu daro muujinta tilmaamayaasha "kulul" ee waxqabadka hawlgalka ee hababka bakhaarada, waa in sidoo kale ka caawiyaa maamulayaasha duubista dhacdooyinka iyo kormeerka fulinta hawlaha si loo tirtiro sababaha saameeya tilmaamayaasha la bixiyay. Ka dib markii aan samaynay hanti-dhawrka guud ee dhismaha IT-ga ee shirkadda, waxaanu ogaanay in qaybaha shakhsi ahaaneed ee nidaamka loo baahan yahay ay hore u jiraan hal hab ama mid kale oo ka mid ah muuqaalkeena iyo iyaga waxaa jira labadaba baaritaanka goobaha iyo adeegyada taageerada lagama maarmaanka ah. Waxa hadhay oo dhan waa in la keeno fikradda oo dhan hal xal qaab dhismeed oo la qiyaaso baaxadda horumarka.

Kadib markii la qiimeeyay xadiga shaqo ee u baahan in la qabto si loo dhiso nidaam cusub, waxaa la go’aamiyay in mashruuca loo kala qaado dhowr marxaladood.

  1. Uruurinta tilmaamayaasha hababka bakhaarka, aragga iyo xakamaynta tilmaamayaasha iyo weecsanaanta
  2. Automation ee heerarka habsocodka iyo diiwaangelinta codsiyada adeegga adeegyada ganacsiga ee leexashada
  3. La socodka firfircoon ee saadaalinta culayska iyo abuurista talooyinka maareeyayaasha.

Marxaladda koowaad, nidaamku waa inuu ka soo ururiyaa qaybo la diyaariyey oo xogta hawlgalka ah dhammaan WMS ee kakan. Wax-akhrintu waxay dhacdaa ku dhawaad ​​wakhtiga dhabta ah (wax ka yar 5 daqiiqo). Khiyaamada ayaa ah in xogta laga helo DBMS ee dhowr iyo toban bakhaar marka la dirayo nidaamka shabakada oo dhan. Xogta hawlgalka ee la helay waxaa lagu farsameeyaa caqligal ee xudunta nidaamka si loo xisaabiyo leexashada tilmaamayaasha la qorsheeyay loona xisaabiyo tirakoobyada. Xogta loo habeeyey habkan waa in lagu soo bandhigaa kaniiniga maamulaha ama sabuuradda macluumaadka bakhaarka qaab garaafyo iyo jaantusyo la fahmi karo.

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Markaad dooranayso nidaam ku habboon hirgelinta tijaabada ee marxaladda koowaad, waxaan dooranay Zabbix. Nidaamkan waxaa horeyba loo isticmaalay si loola socdo waxqabadka IT ee nidaamyada bakhaarka. Markaad ku darto rakibaad gooni ah oo ururinta cabbirada ganacsiga ee hawlgalka bakhaarka, waxaad heli kartaa sawirka guud ee caafimaadka bakhaarka.

Nashqada guud ee nidaamka ayaa u soo baxday sida shaxanka.

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Tusaale kasta oo WMS ah waxaa lagu qeexaa inuu yahay martigeliyaha nidaamka la socodka. Metrics waxaa aruuriya server-ka dhexe ee shabakada xarunta xogta isagoo ku socodsiinaya qoraal leh su'aal SQL ah oo diyaarsan. Haddii aad u baahan tahay inaad la socoto nidaam aan ku talinaynin in si toos ah loo galo xogta (tusaale, SAP EWM), waxaad isticmaali kartaa wicitaanada qoraalka ah si aad u diiwaangeliso hawlaha API si aad u hesho tilmaamayaasha ama ku qor barnaamij fudud python/vbascript.

Tusaalaha wakiillada Zabbix ayaa la dhex geeyay shabakada bakhaarka si loo qaybiyo culayska serfarka wayn. Iyadoo loo marayo wakiil, la shaqaynta dhammaan xaaladaha WMS ee deegaanka waa la hubiyaa. Marka xigta ee serferka Zabbix uu codsado cabbiraadaha, qoraal ayaa lagu fulinayaa martida loo yahay wakiil Zabbix si looga codsado cabbirada xogta WMS.

Si loo muujiyo garaafyada iyo tilmaamayaasha bakhaarka ee server-ka dhexe ee Zabbix, waxaanu geynaa Grafana. Marka laga soo tago soo bandhigida dashboards diyaarsan oo ay ku jiraan macluumaadka hawlaha bakhaarka, Grafana waxa loo isticmaali doonaa in lagu kormeero weecsanaanta tilmaamayaasha iyo u dirto digniino toos ah nidaamka adeegga bakhaarka si uu ula shaqeeyo shilalka ganacsiga.

Tusaale ahaan, aan tixgelinno hirgelinta xakamaynta rarka ee aagga kaydinta. Kuwa soo socda ayaa loo doortay inay yihiin tilmaamayaasha ugu muhiimsan ee waxqabadka nidaamka ee aaggan bakhaarka:

  • tirada baabuurta ee goobta soo dhawaynta, iyadoo la tixgalinayo xaaladaha (qorshaysan, yimid, dukumeenti, dejin, bixitaan;
  • culayska shaqada ee meelaynta iyo meelaha buuxinta (sida waafaqsan xaaladaha kaydinta).

Настройки

Rakibaadda iyo qaabeynta qaybaha ugu muhiimsan ee nidaamka (SQLcl, Zabbix, Grafana) waxaa lagu sifeeyaa ilo kala duwan mana lagu soo celin doono halkan. Isticmaalka SQLcl halkii SQLplus waxaa sabab u ah xaqiiqda ah in SQLcl (isku xirka khadka taliska ee Oracle DBMS, oo ku qoran java) uma baahna rakibaad dheeri ah oo Macmiil Oracle ah oo ka shaqeeya sanduuqa.

Waxaan sharxi doonaa qodobbada ugu muhiimsan ee ay tahay in fiiro gaar ah loo yeesho marka la isticmaalayo Zabbix si loo kormeero tilmaamayaasha habka ganacsiga bakhaarka, iyo mid ka mid ah siyaabaha suurtagalka ah ee loo hirgelin karo. Sidoo kale, tani maaha qoraal ku saabsan amniga. Ammaanka isku xirka iyo isticmaalka hababka la soo bandhigay waxay u baahan yihiin daraasad dheeri ah oo ku saabsan habka wareejinta xalka tijaabada ee hawlgal wax soo saar leh.

Waxa ugu muhiimsan waa in marka la fulinayo nidaamkan oo kale, waxaa suurtagal ah in la sameeyo barnaamij la'aan, iyada oo la adeegsanayo goobaha ay bixiso nidaamka.

Nidaamka kormeerka ee Zabbix wuxuu bixiyaa fursado dhowr ah oo lagu ururinayo cabbirrada nidaamka la kormeeray. Tan waxa lagu samayn karaa iyada oo si toos ah codaynta martigeliyayaasha la kormeero, ama hab aad u horumarsan oo xogta loogu diro server-ka iyada oo loo sii marayo martigeliyaha zabbix_sender, oo ay ku jiraan hababka loo habeeyo xuduudaha sahaminta hoose. Si loo xalliyo dhibaatadeena, habka codbixinta tooska ah ee martida loo yahay ee server-ka dhexe waa mid ku habboon, sababtoo ah tani waxay kuu ogolaaneysaa inaad si buuxda u maamusho isku xigxiga mitirka helitaanka waxayna hubisaa inaad isticmaashid hal set oo ah goobaha / qoraallada adigoon u baahnayn inaad u qaybiso martigeliyaha la kormeero.

Anagoo ah “mawduucyada imtixaanada” ee khaladka-dilista iyo dejinta nidaamka, waxaanu u isticmaalnaa xaashida shaqada WMS ee maaraynta aqbalaadda:

  1. Baabuurta soo dhaweynta, dhammaan kuwa yimid: Dhammaan baabuurta leh heerka muddada "- 72 saacadood laga bilaabo wakhtiga hadda" - Aqoonsiga weydiinta SQL: gaadhi gaadhi.
  2. Taariikhda dhammaan heerarka baabuurka: Xaaladda dhammaan baabuurta ku yimaadda 72 saacadood gudahood - Aqoonsiga weydiinta SQL: baabuurta Taariikhda.
  3. Baabuurta la qorsheeyay ee aqbalaadda: Heerka dhammaan baabuurta ee imanaya heerka "Jadwalaysan", wakhtiga u dhexeeya "- 24 saacadood" iyo "+24 saacadood" laga bilaabo wakhtiga hadda - Aqoonsiga weydiinta SQL: baabuurtaIn.

Markaa, ka dib markii aanu go'aansanay tiro ka mid ah cabbirada waxqabadka bakhaarka, waxaanu u diyaarin doonaa weydiimaha SQL ee xogta WMS. Si loo fuliyo su'aalaha, waxaa lagu talinayaa in aan la isticmaalin xogta ugu weyn, laakiin nuqulkeeda "kulul" - heegan.

Waxaan ku xidhnaa heeganka Oracle DBMS si aan xogta u helno. Ciwaanka IP-ga si loogu xidho kaydka xogta tijaabada 192.168.1.106. Waxaan ku kaydinay xuduudaha isku xirka server-ka Zabbix ee TNSNames.ORA ee galka shaqada ee SQLcl:

# cat  /opt/sqlcl/bin/TNSNames.ORA
WH1_1=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.106)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =  WH1_1)
    )
  )

Tani waxay noo ogolaan doontaa inaan ku socodsiino su'aalaha SQL martigeliyaha kasta anagoo adeegsanayna EZconnect, iyada oo qeexeysa kaliya gelitaanka/passwordka iyo magaca macluumaadka:

# sql znew/Zabmon1@WH1_1

Waxaan ku keydineynaa su'aalaha SQL ee diyaarsan galka shaqada ee server-ka Zabbix:

/etc/zabbix/sql

oo oggolow gelitaanka isticmaalaha zabbix ee seerfarkeena:

# chown zabbix:zabbix -R /etc/zabbix/sql

Faylasha leh codsiyada waxay helayaan aqoonsi-magac gaar ah oo laga heli karo server-ka Zabbix. Weydiinta kaydka kasta ee SQLcl waxay nagu soo celisaa dhowr cabbir. Iyadoo la tixgalinayo waxyaabaha gaarka ah ee Zabbix, kaas oo farsamayn kara hal mitir codsigiiba, waxaanu isticmaali doonaa qoraalo dheeraad ah si aan u kala saarno natiijooyinka weydiinta halbeegyada gaarka ah.

Aan diyaarino qoraalka ugu muhiimsan, aan ugu yeerno wh_Metrics.sh, si aan ugu wacno su'aal SQL database, kaydi natiijooyinka oo aan soo celinno mitir farsamo oo leh tilmaamayaasha guusha soo celinta xogta:

#!/bin/sh 
## настройка окружения</i>
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:/usr/lib:$ORACLE_HOME/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export JAVA_HOME=/
alias sql="opt/sqlcl/bin/sql"
## задаём путь к файлу с sql-запросом и параметризованное имя файла
scriptLocation=/etc/zabbix/sql
sqlFile=$scriptLocation/sqlScript_"$2".sql
## задаём путь к файлу для хранения результатов
resultFile=/etc/zabbix/sql/mon_"$1"_main.log
## настраиваем строку подключения к БД
username="$3"
password="$4"
tnsname="$1"
## запрашиваем результат из БД
var=$(sql -s $username/$password@$tnsname < $sqlFile)
## форматируем результат запроса и записываем в файл
echo $var | cut -f5-18 -d " " > $resultFile
## проверяем наличие ошибок
if grep -q ora "$resultFile"; then
    echo null > $resultFile
    echo 0
else
    echo 1
fi

Waxaan dhignaa faylka la dhammeeyey oo leh qoraalka galka si loogu kaydiyo qoraallada dibadda ah si waafaqsan dejinta qaabeynta Zabbix-proxy (sida caadiga ah - /usr/local/share/zabbix/externalscripts).

Aqoonsiga kaydka xogta ee qoraalku ka helayo natiijooyinka waxa loo gudbin doonaa halbeeg qoraal ahaan ah. Aqoonsiga keydka macluumaadka waa inuu waafaqaa xariiqda dejinta ee faylka TNSNames.ORA.

Natiijada wicitaanka SQL ayaa lagu keydiyay fayl sida mon_base_id_main.log halka base_id = Aqoonsiga kaydka xogta waxa loo helay xaddi qoraal ahaan ahaan. Qaybinta faylka natiijada ee aqoonsiga xogta xogta waxa la bixiyaa haddii ay dhacdo codsi ka imanaya seerfarka ilaa dhawr kayd oo isku mar. Weydiinta waxay soo celisaa qiyam laba-geesood ah oo la soocay.

Qoraalkan soo socda, aan ugu yeerno getMetrica.sh, ayaa loo baahan yahay si loo helo mitir cayiman oo ka mid ah faylka natiijada codsiga:

#!/bin/sh 
## определяем имя файла с результатом запроса
resultFile=/etc/zabbix/sql/mon_”$1”_main.log
## разбираем массив значений результата средствами скрипта:
## при работе со статусами, запрос возвращает нам двумерный массив (RSLT) в виде 
## {статус1 значение1 статус2 значение2…} разделённых пробелами (значение IFS)
## параметром запроса передаём код статуса и скрипт вернёт значение
IFS=’ ‘
str=$(cat $resultFile)
status_id=null
read –ra RSLT <<< “$str”
for i in “${RSLT[@]}”; do
if [[ “$status_id” == null ]]; then
status_id=”$I"
elif [[ “$status_id” == “$2” ]]; then
echo “$i”
break
else
status_id=null
fi
done

Hadda waxaan diyaar u nahay inaan habaynno Zabbix oo aan bilowno la socodka tilmaamayaasha hababka aqbalaadda bakhaarka.

Wakiilka Zabbix ayaa lagu rakibay oo lagu habeeyey noodhka kaydka kasta.

Seerfarka ugu muhiimsan waxaan ku qeexnaa dhammaan server-yada leh Zabbix proxy. Dejinta, u gudub jidka soo socda:

Maamulka → Wakiil → Samee wakiil

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Waxaan qeexnay martigeliyaha la kantaroolay:

Dejinta → Martigaliyayaasha → Samee martigeliyaha

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Magaca martida loo yahay waa inuu la mid yahay magaca martida loo yahay ee lagu qeexay faylka qaabeynta wakiilka.

Waxaan u cayimnaa kooxda ee noodhka, iyo sidoo kale cinwaanka IP-ga ama magaca DNS ee noodhka oo leh database-ka.

Waxaan abuurnaa cabbiro oo aan qeexnaa hantidooda:

Dejinta → Nodes → 'magaca node' → Qaybaha Xogta>Abuur Cunsurka Xogta

1) Samee mitirka ugu muhiimsan si aad u waydiiso dhammaan cabbiraadaha kaydka

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Waxaan dejinay magaca xubinta xogta, tilmaanna nooca "xaqiijinta dibadda". Goobta "Furaha", waxaan ku qeexeynaa qoraal aan u gudubno sida cabbirka magaca xogta Oracle, magaca su'aasha sql, gelitaanka iyo erayga sirta ah ee isku xirka xogta. U dhig inta u dhaxaysa cusboonaysiinta weydiinta 5 daqiiqo (300 ilbiriqsi).

2) U samee cabbirada hadhay ee heerka gaadhi kasta. Qiimaha halbeegyadan ayaa la soo saari doonaa iyadoo lagu salaynayo natiijada hubinta mitirka ugu weyn.

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Waxaan dejinay magaca xubinta xogta, tilmaanna nooca "xaqiijinta dibadda". Goobta "Furaha", waxaan ku qeexeynaa qoraal aan u gudbino sida cabbirka magaca xogta Oracle iyo lambarka heerka ee aan rabno inaan raacno. Waxaan dhignay muddada u dhaxaysa cusboonaysiinta weydiinta 10 ilbiriqsi ka dheer mitirka ugu weyn (310 ilbiriqsi) si natiijadu ay u helaan wakhti lagu qoro faylka.

Si loo helo cabbirro sax ah, sida ay u kala horreeyaan hubinta loo hawlgeliyay waa muhiim. Si looga fogaado isku dhacyada marka xogta la helayno, marka hore waxaan dhaqaajineynaa mitirka ugu weyn ee GetCarsByStatus anagoo wacnayna qoraalka - wh_Metrics.sh.

Dejinta → Nodes → 'magaca noode' → walxaha xogta → Subfilter "Check External". Calaamadee jeegga loo baahan yahay oo guji "Activate".

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Marka xigta, waxaanu hawlgelinaynaa cabbirada hadhay hal hawlgal, anagoo wada dooranayna:

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Hadda Zabbix waxay bilowday ururinta qiyaasaha ganacsiga bakhaarka.

Maqaallada soo socda, waxaan si dhow u eegi doonaa isku xirka Grafana iyo abuurista dashboards macluumaadka hawlaha bakhaar ee qaybaha kala duwan ee isticmaalayaasha. Grafana waxa kale oo loo isticmaalaa in lagu kormeero weecsanaanta hawlaha bakhaarrada iyo, iyadoo ku xidhan xuduudaha iyo inta jeer ee weecsanaanta, iska diiwaan geliso shilalka nidaamka xarunta adeegga maamulka bakhaarka API ama si fudud ogeysiisyada ugu dir maareeyaha iimaylka.

DIY: sida aan otomaatig ugu dhigno la socodka bakhaarka

Source: www.habr.com

Add a comment