DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Tha X5 ag obrachadh 43 ionad cuairteachaidh agus 4 de na làraidhean aige fhèin, a’ dèanamh cinnteach à solar gun bhriseadh de thoraidhean gu 029 stòr. San artaigil seo roinnidh mi m ’eòlas air a bhith a’ cruthachadh siostam eadar-ghnìomhach airson sùil a chumail air tachartasan taigh-bathair bhon fhìor thoiseach. Bidh am fiosrachadh feumail do luchd-logistic chompanaidhean malairt le grunn dhusan ionad sgaoilidh a’ riaghladh raon farsaing de thoraidhean.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Mar riaghailt, bidh togail shiostaman sgrùdaidh agus riaghladh pròiseas gnìomhachais a ’tòiseachadh le bhith a’ làimhseachadh teachdaireachdan agus tachartasan. Aig an aon àm, thathas ag ionndrainn puing teicneòlach cudromach co-cheangailte ri comas fèin-ghluasad a dhèanamh air fìor fhìrinn tachartasan gnìomhachais agus tachartasan a chlàradh. Tha innealan stèidhichte aig a’ mhòr-chuid de shiostaman gnìomhachais leithid WMS, TMS, msaa, airson sùil a chumail air na pròiseasan aca fhèin. Ach, ma tha iad sin nan siostaman bho luchd-saothrachaidh eadar-dhealaichte no mura bheil an comas sgrùdaidh air a leasachadh gu leòr, feumaidh tu atharrachaidhean daor òrdachadh no luchd-comhairleachaidh sònraichte a thàladh airson suidheachaidhean a bharrachd.

Beachdaichidh sinn air dòigh-obrach anns nach fheum sinn ach pàirt bheag den cho-chomhairleachadh co-cheangailte ri bhith ag aithneachadh stòran (clàran) gus comharran fhaighinn bhon t-siostam.

Is e cho sònraichte sa tha na taighean-bathair againn gu bheil grunn shiostaman riaghlaidh taigh-bathair (WMS Exceed) ag obair aig aon ionad logistics. Tha taighean-stòir air an roinn a rèir roinnean de stòradh bathair (tioram, deoch làidir, reòta, msaa) chan ann a-mhàin gu loidsigeach. Taobh a-staigh aon ionad logistics tha grunn thogalaichean taigh-bathair fa-leth, gach fear air a riaghladh leis an WMS aige fhèin.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Gus dealbh coitcheann a dhèanamh de na pròiseasan a tha a’ tachairt anns an taigh-bathair, bidh manaidsearan a’ dèanamh mion-sgrùdadh air aithris gach WMS grunn thursan san latha, a’ pròiseas teachdaireachdan bho ghnìomhaichean taigh-bathair (luchd-glacaidh, luchd-togail, stacairean) agus a’ toirt geàrr-chunntas air na fìor chomharran obrachaidh airson meòrachadh air a’ bhòrd fiosrachaidh.

Gus ùine a shàbhaladh do mhanaidsearan, chuir sinn romhainn siostam saor a leasachadh airson smachd obrachaidh air tachartasan taigh-bathair. Bu chòir don t-siostam ùr, a bharrachd air a bhith a’ taisbeanadh comharran “teth” de choileanadh obrachaidh pròiseasan taigh-bathair, cuideachd cuideachadh a thoirt do mhanaidsearan ann a bhith a’ clàradh thachartasan agus a’ cumail sùil air buileachadh ghnìomhan gus cuir às do na h-adhbharan a bheir buaidh air na comharran ainmichte. Às deidh dhuinn sgrùdadh coitcheann a dhèanamh air ailtireachd IT na companaidh, thuig sinn gu bheil pàirtean fa leth den t-siostam a tha a dhìth mar-thà ann an aon dòigh no dòigh eile nar cruth-tìre agus dhaibhsan gu bheil an dà chuid sgrùdadh air na suidheachaidhean agus na seirbheisean taic riatanach. Chan eil air fhàgail ach am bun-bheachd gu lèir a thoirt a-steach do aon fhuasgladh ailtireil agus tuairmse a dhèanamh air farsaingeachd an leasachaidh.

Às deidh measadh a dhèanamh air an obair a dh’ fheumar a dhèanamh gus siostam ùr a thogail, chaidh co-dhùnadh am pròiseact a roinn ann an grunn ìrean:

  1. Cruinneachadh de chomharran airson pròiseasan taigh-bathair, fradharc agus smachd air comharran agus claonaidhean
  2. Automation inbhean pròiseas agus clàradh thagraidhean anns an t-seirbheis seirbheisean gnìomhachais airson claonaidhean
  3. Sgrùdadh for-ghnìomhach le ro-innse luchdan agus cruthachadh mholaidhean airson manaidsearan.

Aig a’ chiad ìre, feumaidh an siostam sliseagan ullaichte de dhàta obrachaidh a chruinneachadh bho gach WMS den toinnte. Bidh leughadh a’ tachairt cha mhòr ann an àm fìor (amannan nas lugha na 5 mionaidean). Is e an cleas gum feumar dàta fhaighinn bhon DBMS de ghrunn dhusan taigh-bathair nuair a thèid an siostam a chuir chun lìonra gu lèir. Tha an dàta obrachaidh a gheibhear air a phròiseasadh le loidsig cridhe an t-siostaim gus obrachadh a-mach gluasadan bho chomharran dealbhaichte agus obrachadh a-mach staitistig. Feumaidh an dàta a thèid a phròiseasadh san dòigh seo a bhith air a thaisbeanadh air clàr a’ mhanaidsear no air bòrd fiosrachaidh an taigh-bathair ann an cruth ghrafaichean agus dhiagraman a tha furasta a thuigsinn.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Nuair a thagh sinn siostam freagarrach airson buileachadh pìleat a’ chiad ìre, thagh sinn Zabbix. Tha an siostam seo air a chleachdadh mu thràth gus sùil a chumail air coileanadh IT siostaman taigh-bathair. Le bhith a 'cur a-steach stàladh air leth airson a bhith a' cruinneachadh mheatairean gnìomhachais de ghnìomhachd taigh-bathair, gheibh thu dealbh iomlan de shlàinte an taigh-bathair.

Thionndaidh ailtireachd coitcheann an t-siostaim a-mach mar a tha san fhigear.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Tha gach eisimpleir WMS air a mhìneachadh mar aoigh airson an t-siostam sgrùdaidh. Bidh metrics air an cruinneachadh le prìomh fhrithealaiche ann an lìonra an ionaid dàta le bhith a’ ruith sgriobt le ceist SQL ullaichte. Ma dh’ fheumas tu sùil a chumail air siostam nach eil a’ moladh ruigsinneachd dìreach chun stòr-dàta (mar eisimpleir, SAP EWM), faodaidh tu gairmean sgriobta a chleachdadh gu gnìomhan API clàraichte gus comharran fhaighinn no prògram sìmplidh a sgrìobhadh ann am python / vbascript.

Tha eisimpleir neach-ionaid Zabbix air a chleachdadh ann an lìonra an taigh-bathair gus an luchd a sgaoileadh bhon phrìomh fhrithealaiche. Tro Proxy, thathar a’ dèanamh cinnteach à obair leis a h-uile suidheachadh WMS ionadail. An ath thuras a dh’ iarras frithealaiche Zabbix paramadairean, thèid sgriobt a chuir gu bàs air an òstair le neach-ionaid Zabbix gus metrics iarraidh bho stòr-dàta WMS.

Gus grafaichean agus comharran taigh-bathair a thaisbeanadh air prìomh fhrithealaiche Zabbix, bidh sinn a’ cleachdadh Grafana. A bharrachd air a bhith a’ taisbeanadh deas-bhòrdan ullaichte le infographics de ghnìomhachd taigh-bathair, thèid Grafana a chleachdadh gus sùil a chumail air gluasadan ann an comharran agus gus rabhaidhean fèin-ghluasadach a chuir gu siostam seirbheis taigh-bathair airson a bhith ag obair le tachartasan gnìomhachais.

Mar eisimpleir, beachdaichidh sinn air buileachadh smachd luchdan anns an raon faighinn taigh-bathair. Chaidh na leanas a thaghadh mar phrìomh chomharran coileanaidh pròiseas anns an raon seo den taigh-bathair:

  • an àireamh de charbadan anns an ionad-fàilte, a 'gabhail a-steach inbhean (dealbhaichte, air ruighinn, sgrìobhainnean, luchdachadh, fàgail;
  • eallach obrach de raointean suidheachaidh agus ath-lìonadh (a rèir suidheachadh stòraidh).

Roghainnean

Stàladh agus rèiteachadh prìomh phàirtean an t-siostaim (SQLcl, Zabbix, Grafana) air a mhìneachadh ann an grunn stòran agus cha tèid a h-ath-aithris an seo. Tha cleachdadh SQLcl an àite SQLplus mar thoradh air nach fheum SQLcl (eadar-aghaidh loidhne-àithne an Oracle DBMS, sgrìobhte ann an java) stàladh a bharrachd den Oracle Client agus obraichidh e a-mach às a’ bhogsa.

Bheir mi cunntas air na prìomh phuingean air am bu chòir aire a thoirt nuair a bhios tu a’ cleachdadh Zabbix gus sùil a chumail air comharran pròiseas gnìomhachais taigh-bathair, agus aon de na dòighean a dh’ fhaodadh a bhith air an cur an gnìomh. Cuideachd, chan e post mu thèarainteachd a tha seo. Feumaidh tèarainteachd cheanglaichean agus cleachdadh nan dòighean a tha air an taisbeanadh sgrùdadh a bharrachd anns a’ phròiseas airson am fuasgladh pìleat a ghluasad gu gnìomhachd cinneasach.

Is e am prìomh rud, nuair a bhios tu a 'cur an gnìomh siostam mar seo, gu bheil e comasach a dhèanamh gun phrògram, a' cleachdadh nan roghainnean a tha an siostam a 'toirt seachad.

Tha siostam sgrùdaidh Zabbix a’ toirt seachad grunn roghainnean airson metrics a chruinneachadh bhon t-siostam sgrùdaidh. Faodar seo a dhèanamh an dàrna cuid le bhith a’ bhòtadh gu dìreach air luchd-aoigheachd sgrùdaichte, no le dòigh nas adhartaiche airson dàta a chuir chun t-seirbheisiche tro zabbix_sender an aoigh, a’ toirt a-steach dòighean airson paramadairean lorg ìre ìosal a rèiteachadh. Gus an duilgheadas againn fhuasgladh, tha an dòigh bhòtaidh dìreach air luchd-aoigheachd le frithealaiche meadhanach gu math freagarrach, oir leigidh seo leat làn smachd fhaighinn air an t-sreath de thogail meatrach agus nì e cinnteach gun cleachd thu aon sheata de shuidheachaidhean / sgriobtaichean gun fheum air an sgaoileadh gu gach aoigh air a bheil sùil.

Mar “cuspairean deuchainn” airson dì-bhugachadh agus stèidheachadh an t-siostam, bidh sinn a’ cleachdadh duilleag-obrach WMS airson riaghladh gabhail:

  1. Carbadan aig an ionad-fàilte, a h-uile duine a tha air ruighinn: A h-uile carbad le inbhe airson na h-ùine “- 72 uair bhon àm làithreach” - aithnichear ceist SQL: faigh Càraichean.
  2. Eachdraidh gach inbhe carbaid: Inbhe gach carbaid a’ tighinn taobh a-staigh 72 uairean - aithnichear ceist SQL: Eachdraidh chàraichean.
  3. Carbadan clàraichte airson gabhail riutha: Inbhe a h-uile carbad a ràinig an inbhe “Clàraichte”, eadar-ama “- 24 uair” agus “+ 24 uair” bhon àm làithreach - aithnichear ceist SQL: càraicheanIn.

Mar sin, às deidh dhuinn seata de mheatairean coileanaidh taigh-bathair a cho-dhùnadh, ullaichidh sinn ceistean SQL airson stòr-dàta WMS. Gus ceistean a chuir an gnìomh, tha e ciallach chan e am prìomh stòr-dàta a chleachdadh, ach an leth-bhreac “teth” aige - cùl-taic.

Bidh sinn a’ ceangal ri Oracle DBMS cùl-taic gus dàta fhaighinn. Seòladh IP airson ceangal ris an stòr-dàta deuchainn 192.168.1.106. Sàbhailidh sinn na paramadairean ceangail air an fhrithealaiche Zabbix ann an TNSNames.ORA ann am pasgan obrach 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)
    )
  )

Leigidh seo leinn ceistean SQL a ruith gu gach aoigh tro EZconnect, a’ sònrachadh dìreach ainm logadh a-steach / facal-faire agus stòr-dàta:

# sql znew/Zabmon1@WH1_1

Sàbhailidh sinn na ceistean SQL ullaichte sa phasgan obrach air frithealaiche Zabbix:

/etc/zabbix/sql

agus cothrom a thoirt do neach-cleachdaidh zabbix an t-seirbheisiche againn:

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

Bidh faidhlichean le iarrtasan a’ faighinn ainm-aithneachaidh sònraichte airson faighinn a-steach bhon t-seirbheisiche Zabbix. Bidh gach ceist stòr-dàta tro SQLcl a’ tilleadh grunn pharaimearan thugainn. A’ toirt aire do mhion-fhiosrachadh Zabbix, nach urrainn ach aon mheatrach a làimhseachadh gach iarrtas, cleachdaidh sinn sgriobtaichean a bharrachd gus toraidhean na ceiste a pharsadh gu meatrach fa leth.

Nach ullaich sinn am prìomh sgriobt, canaidh sinn e wh_Metrics.sh, gus ceist SQL a chuir chun stòr-dàta, sàbhail na toraidhean agus tillidh sinn meatrach teignigeach le comharran air soirbheachas ath-lorg dàta:

#!/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

Bidh sinn a’ cur am faidhle crìochnaichte leis an sgriobt sa phasgan airson sgriobtaichean taobh a-muigh a stòradh a rèir nan roghainnean rèiteachaidh Zabbix-proxy (gu bunaiteach - /usr/local/share/zabbix/scripts taobh a-muigh).

Thèid comharrachadh an stòr-dàta às am faigh an sgriobt toraidhean a thoirt seachad mar paramadair sgriobt. Feumaidh ID an stòr-dàta a bhith a rèir loidhne nan roghainnean ann am faidhle TNSNames.ORA.

Tha toradh gairm ceist SQL air a shàbhaladh ann am faidhle mar mon_base_id_main.log far a bheil base_id = Fhuaireadh an aithnichear stòr-dàta mar paramadair sgriobt. Tha roinneadh an fhaidhle toraidh le aithnichearan stòr-dàta air a thoirt seachad gun fhios nach bi iarrtasan bhon fhrithealaiche gu grunn stòran-dàta aig an aon àm. Bidh a’ cheist a’ tilleadh sreath de luachan dà-mheudach eagraichte.

Tha feum air an sgriobt a leanas, mar a chanas sinn getMetrica.sh, gus meatrach sònraichte fhaighinn bho fhaidhle le toradh iarrtas:

#!/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

A-nis tha sinn deiseil airson Zabbix a rèiteachadh agus tòiseachadh a’ cumail sùil air comharran pròiseasan gabhail ri taigh-bathair.

Tha àidseant Zabbix air a chuir a-steach agus air a rèiteachadh air gach nód stòr-dàta.

Air a’ phrìomh fhrithealaiche bidh sinn a’ mìneachadh gach frithealaiche le neach-ionaid Zabbix. Airson roghainnean, rachaibh chun t-slighe a leanas:

Rianachd → Progsaidh → Cruthaich neach-ionaid

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Bidh sinn a’ mìneachadh luchd-aoigheachd fo smachd:

Roghainnean → Luchd-aoigheachd → Cruthaich aoigheachd

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Feumaidh an t-ainm aoigheachd a bhith co-ionnan ris an ainm aoigheachd a tha air a shònrachadh ann am faidhle rèiteachaidh an àidseant.

Bidh sinn a’ sònrachadh a’ bhuidheann airson an nód, a bharrachd air an seòladh IP no ainm DNS an nód leis an stòr-dàta.

Bidh sinn a’ cruthachadh metrics agus a’ sònrachadh na feartan aca:

Roghainnean → Nòtaichean → 'ainm nód' → Nithean dàta> Cruthaich nì dàta

1) Cruthaich prìomh mheatrach gus a h-uile paramadair bhon stòr-dàta a cheasnachadh

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Shuidhich sinn ainm an eileamaid dàta, comharraich an seòrsa “Dearbhadh taobh a-muigh”. Anns an raon “Key”, bidh sinn a’ mìneachadh sgriobt air am bi sinn a’ dol seachad mar pharamadairean ainm stòr-dàta Oracle, ainm a’ cheist sql, an logadh a-steach agus facal-faire airson ceangal ris an stòr-dàta. Suidhich eadar-ama ùrachadh na ceiste gu 5 mionaidean (300 diogan).

2) Cruthaich na meatrach a tha air fhàgail airson gach inbhe carbaid. Thèid luachan nan meatrach sin a chruthachadh a rèir toradh sgrùdadh a’ phrìomh mheatrach.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Shuidhich sinn ainm an eileamaid dàta, comharraich an seòrsa “Dearbhadh taobh a-muigh”. Anns an raon “Key”, bidh sinn a’ mìneachadh sgriobt air am bi sinn a’ dol seachad mar pharamadairean ainm stòr-dàta Oracle agus an còd inbhe aig a bheil luach a tha sinn airson a lorg. Shuidhich sinn eadar-ama ùrachadh na ceiste gu 10 diogan nas fhaide na am prìomh mheatrach (310 diogan) gus am bi ùine aig na toraidhean a bhith air an sgrìobhadh chun fhaidhle.

Gus meatrach fhaighinn gu ceart, tha e cudromach an òrdugh anns a bheil sgrùdaidhean air an cur an gnìomh. Gus còmhstrithean a sheachnadh nuair a gheibh sinn dàta, an-toiseach bidh sinn a’ gnìomhachadh a’ phrìomh mheatrach GetCarsByStatus le bhith a’ gairm an sgriobt - wh_Metrics.sh.

Suidhichidhean → Nòtaichean → 'ainm nód' → Eileamaidean dàta → Fo-fhilleadh "Sgrùdaidhean taobh a-muigh". Comharraich an t-seic a tha a dhìth agus cliog air “Cuir an gnìomh”.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

An ath rud, bidh sinn a’ gnìomhachadh na meatrach a tha air fhàgail ann an aon ghnìomhachd, gan taghadh uile còmhla:

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

A-nis tha Zabbix air tòiseachadh a ’tional meatrach gnìomhachas taigh-bathair.

Anns na h-artaigilean a leanas, bheir sinn sùil nas mionaidiche air a bhith a ’ceangal Grafana agus a’ cruthachadh clàran fiosrachaidh de ghnìomhachd taigh-bathair airson diofar roinnean de luchd-cleachdaidh. Tha Grafana cuideachd air a chleachdadh gus sùil a chumail air gluasadan ann an gnìomhachd taigh-bathair agus, a rèir crìochan agus tricead claonaidhean, clàraich tachartasan ann an siostam ionad seirbheis riaghlaidh taigh-bathair tro API no dìreach cuir fios chun mhanaidsear air post-d.

DIY: mar a nì sinn fèin-ghluasad air sgrùdadh taigh-bathair

Source: www.habr.com

Cuir beachd ann