DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

X5 topera 43 ċentru ta 'distribuzzjoni u 4 tat-trakk tagħha stess, li tiżgura provvista bla interruzzjoni ta' prodotti għal 029 ħanut. F'dan l-artikolu ser naqsam l-esperjenza tiegħi tal-ħolqien ta 'sistema interattiva għall-monitoraġġ tal-avvenimenti tal-maħżen mill-bidu. L-informazzjoni se tkun utli għal-loġistiċi ta 'kumpaniji kummerċjali b'diversi għexieren ta' ċentri ta 'distribuzzjoni li jimmaniġġjaw firxa wiesgħa ta' prodotti.

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Bħala regola, il-kostruzzjoni ta 'sistemi ta' monitoraġġ u ġestjoni tal-proċess tan-negozju tibda bl-ipproċessar ta 'messaġġi u inċidenti. Fl-istess ħin, punt teknoloġiku importanti relatat mal-possibbiltà li jiġi awtomatizzat il-fatt stess ta 'okkorrenza ta' avvenimenti tan-negozju u inċidenti ta 'reġistrazzjoni huwa mitluf. Il-biċċa l-kbira tas-sistemi tan-negozju bħal WMS, TMS, eċċ., għandhom għodod inkorporati għall-monitoraġġ tal-proċessi tagħhom stess. Iżda, jekk dawn huma sistemi minn manifatturi differenti jew il-funzjonalità tal-monitoraġġ mhix żviluppata biżżejjed, għandek tordna modifiki għaljin jew tattira konsulenti speċjalizzati għal settings addizzjonali.

Ejja nikkunsidraw approċċ li fih għandna bżonn biss parti żgħira tal-konsultazzjoni assoċjata ma 'sorsi ta' identifikazzjoni (tabelli) biex niksbu indikaturi mis-sistema.

L-ispeċifiċità tal-imħażen tagħna hija li bosta sistemi ta 'ġestjoni tal-maħżen (WMS Exceed) joperaw f'kumpless loġistiku wieħed. L-imħażen huma maqsuma skond il-kategoriji ta 'ħażna ta' oġġetti (niexfa, alkoħol, iffriżat, eċċ.) Mhux biss loġikament. Fi ħdan kumpless loġistiku wieħed hemm diversi bini ta' mħażen separati, li kull wieħed minnhom huwa mmexxi mill-WMS tiegħu stess.

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Biex jiffurmaw stampa ġenerali tal-proċessi li jseħħu fil-maħżen, il-maniġers janalizzaw ir-rappurtar ta 'kull WMS diversi drabi kuljum, jipproċessaw messaġġi minn operaturi tal-maħżen (riċevituri, pickers, stackers) u jiġbru fil-qosor l-indikaturi operattivi attwali għal riflessjoni fuq il-bord tal-informazzjoni.

Biex tiffranka l-ħin tal-maniġers, iddeċidejna li niżviluppaw sistema rħas għall-kontroll operattiv tal-avvenimenti tal-maħżen. Is-sistema l-ġdida, minbarra li turi indikaturi "sħan" tal-prestazzjoni operattiva tal-proċessi tal-maħżen, għandha tgħin ukoll lill-maniġers fir-reġistrazzjoni tal-inċidenti u l-monitoraġġ tal-implimentazzjoni tal-kompiti biex jiġu eliminati l-kawżi li jaffettwaw l-indikaturi mogħtija. Wara li wettaqna verifika ġenerali tal-arkitettura tal-IT tal-kumpanija, indunajna li partijiet individwali tas-sistema meħtieġa diġà jeżistu b'xi mod jew ieħor fil-pajsaġġ tagħna u għalihom hemm kemm eżami tas-settings kif ukoll is-servizzi ta 'appoġġ meħtieġa. Li jibqa 'huwa li l-kunċett kollu jinġieb f'soluzzjoni arkitettonika waħda u jiġi stmat l-ambitu tal-iżvilupp.

Wara li ġie vvalutat l-ammont ta’ xogħol li jeħtieġ li jsir biex tinbena sistema ġdida, ġie deċiż li l-proġett jinqasam f’diversi stadji:

  1. Ġbir ta 'indikaturi għall-proċessi tal-maħżen, viżwalizzazzjoni u kontroll ta' indikaturi u devjazzjonijiet
  2. Awtomazzjoni ta 'standards ta' proċess u reġistrazzjoni ta 'applikazzjonijiet fis-servizz tas-servizzi tan-negozju għal devjazzjonijiet
  3. Monitoraġġ proattiv bi tbassir tat-tagħbija u ħolqien ta 'rakkomandazzjonijiet għall-maniġers.

Fl-ewwel stadju, is-sistema trid tiġbor flieli ppreparati ta 'dejta operattiva mill-WMS kollha tal-kumpless. Il-qari jseħħ kważi f'ħin reali (intervalli ta' inqas minn 5 minuti). Il-trick huwa li d-dejta trid tinkiseb mid-DBMS ta 'diversi għexieren ta' mħażen meta skjerament is-sistema għan-netwerk kollu. Id-dejta operattiva riċevuta hija pproċessata mil-loġika tal-qalba tas-sistema biex tikkalkula devjazzjonijiet minn indikaturi ppjanati u tikkalkula l-istatistika. Id-dejta pproċessata b'dan il-mod għandha tintwera fuq it-tablet tal-maniġer jew fuq il-bord ta 'informazzjoni tal-maħżen fil-forma ta' graffs u dijagrammi li jinftiehmu.

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Meta għażilna sistema adattata għall-implimentazzjoni pilota tal-ewwel stadju, għażilna Zabbix. Din is-sistema diġà tintuża biex timmonitorja l-prestazzjoni tal-IT tas-sistemi tal-maħżen. Billi żżid installazzjoni separata għall-ġbir tal-metriċi tan-negozju tal-operat tal-maħżen, tista 'tikseb stampa ġenerali tas-saħħa tal-maħżen.

L-arkitettura ġenerali tas-sistema rriżultat bħal fil-figura.

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Kull istanza WMS hija definita bħala ospitanti għas-sistema ta 'monitoraġġ. Il-metriċi jinġabru minn server ċentrali fin-netwerk taċ-ċentru tad-dejta billi jħaddem script b'mistoqsija SQL ippreparata. Jekk għandek bżonn tissorvelja sistema li ma tirrakkomandax aċċess dirett għad-database (per eżempju, SAP EWM), tista 'tuża sejħiet b'kitba għal funzjonijiet API dokumentati biex tikseb indikaturi jew tikteb programm sempliċi f'python/vbascript.

Istanza ta' prokura Zabbix hija skjerata fin-netwerk tal-maħżen biex tqassam it-tagħbija mis-server prinċipali. Permezz tal-Proxy, ix-xogħol mal-istanzi lokali kollha tal-WMS huwa żgurat. Il-ħin li jmiss is-server Zabbix jitlob parametri, skript jiġi eżegwit fuq il-host bi proxy Zabbix biex jitlob metriċi mid-database WMS.

Biex turi graffs u indikaturi tal-maħżen fuq iċ-ċentru server Qed niskjeraw Grafana f'Zabbix. Minbarra li juri dashboards ippreparati b'infografiċi tal-prestazzjoni tal-maħżen, Grafana se jintuża biex jimmonitorja d-devjazzjonijiet metriċi u jibgħat allerti awtomatiċi lis-sistema tas-servizz tal-maħżen għall-ġestjoni tal-inċidenti tan-negozju.

Bħala eżempju, ejja nikkunsidraw l-implimentazzjoni tal-kontroll tat-tagħbija fiż-żona li tirċievi l-maħżen. Dawn li ġejjin intgħażlu bħala l-indikaturi ewlenin tal-prestazzjoni tal-proċess f'dan il-qasam tal-maħżen:

  • numru ta' vetturi fiż-żona ta' akkoljenza, b'kont meħud ta' status (ppjanati, waslu, dokumenti, ħatt, tluq;
  • ammont ta' xogħol taż-żoni ta' tqegħid u riforniment (skond il-kundizzjonijiet tal-ħażna).

Settings

L-installazzjoni u l-konfigurazzjoni tal-komponenti ewlenin tas-sistema (SQLcl, Zabbix, Grafana) huma deskritti f'diversi sorsi u mhux se jiġu ripetuti hawn. L-użu ta 'SQLcl minflok SQLplus huwa dovut għall-fatt li SQLcl (l-interface tal-linja tal-kmand tal-Oracle DBMS, miktuba b'java) ma teħtieġx installazzjoni addizzjonali tal-Oracle Client u taħdem barra mill-kaxxa.

Se niddeskrivi l-punti ewlenin li għandhom jingħataw attenzjoni meta tuża Zabbix biex timmonitorja l-indikaturi tal-proċess tan-negozju tal-maħżen, u wieħed mill-modi possibbli biex jiġu implimentati. Ukoll, din mhix post dwar is-sigurtà. Is-sigurtà tal-konnessjonijiet u l-użu tal-metodi ppreżentati jeħtieġu studju addizzjonali fil-proċess tat-trasferiment tas-soluzzjoni pilota f'operazzjoni produttiva.

Il-ħaġa prinċipali hija li meta timplimenta sistema bħal din, huwa possibbli li tagħmel mingħajr programmar, billi tuża s-settings ipprovduti mis-sistema.

Is-sistema ta 'monitoraġġ Zabbix tipprovdi diversi għażliet għall-ġbir ta' metriċi mis-sistema mmonitorjata. Dan jista 'jsir jew permezz ta' polling dirett ta 'hosts sorveljati, jew b'metodu aktar avvanzat ta' kif tintbagħat dejta lis-server permezz ta 'zabbix_sender tal-host, inklużi metodi għall-konfigurazzjoni ta' parametri ta 'skoperta ta' livell baxx. Biex issolvi l-problema tagħna, il-metodu ta 'votazzjoni diretta tal-ospiti minn server ċentrali huwa pjuttost adattat, għaliex dan jippermettilek li tikseb kontroll sħiħ fuq is-sekwenza tal-akkwist tal-metriċi u jiżgura li tuża sett wieħed ta 'settings/skripts mingħajr il-ħtieġa li tqassamhom lil kull ospitanti mmonitorjati.

Bħala "suġġetti tat-test" għad-debugging u t-twaqqif tas-sistema, nużaw worksheet WMS għall-ġestjoni tal-aċċettazzjoni:

  1. Vetturi fir-riċeviment, kollha li waslu: Il-vetturi kollha bi status għall-perjodu “- 72 siegħa mill-ħin attwali” - Identifikatur tal-mistoqsija SQL: getCars.
  2. Storja tal-istatus tal-vetturi kollha: Statijiet tal-vetturi kollha li jaslu fi żmien 72 siegħa - Identifikatur tal-mistoqsija SQL: karozziStorja.
  3. Vetturi skedati għall-aċċettazzjoni: Statijiet tal-vetturi kollha bil-wasla fl-istatus “Skedat”, intervall ta’ ħin “- 24 siegħa” u “+24 siegħa” mill-ħin attwali - Identifikatur tal-mistoqsija SQL: karozziIn.

Allura, wara li ddeċidejna fuq sett ta 'metriċi tal-prestazzjoni tal-maħżen, aħna se nippreparaw mistoqsijiet SQL għad-database WMS. Biex tesegwixxi mistoqsijiet, huwa rakkomandabbli li tuża mhux id-database prinċipali, iżda l-kopja "taħraq" tagħha - standby.

Aħna nikkonnettjaw ma 'standby Oracle DBMS biex nirċievu data. Indirizz IP għall-konnessjoni mad-database tat-test 192.168.1.106Aħna niffrankaw il-parametri tal-konnessjoni fuq server Zabbix f'TNSNames.ORA tad-direttorju tax-xogħol 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)
    )
  )

Dan jippermettilna nħaddmu mistoqsijiet SQL lil kull host permezz ta' EZconnect, billi tispeċifika biss il-login/password u l-isem tad-database:

# sql znew/Zabmon1@WH1_1

Aħna nissejvjaw il-mistoqsijiet SQL ippreparati fil-folder tax-xogħol fuq is-server Zabbix:

/etc/zabbix/sql

u jippermettu aċċess għall-utent zabbix tas-server tagħna:

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

Fajls b'talbiet jirċievu isem identifikatur uniku għall-aċċess mis-server Zabbix. Kull mistoqsija tad-database permezz ta' SQLcl tagħtina diversi parametri. Filwaqt li nqisu l-ispeċifiċitajiet ta 'Zabbix, li jista' jipproċessa metrika waħda biss għal kull talba, aħna se nużaw skripts addizzjonali biex inqisu r-riżultati tal-mistoqsija f'metriċi individwali.

Ejja nippreparaw l-iskrittura prinċipali, ejja nsejħulha wh_Metrics.sh, biex issejjaħ mistoqsija SQL għad-database, issalva r-riżultati u tirritorna metrika teknika b'indikaturi tas-suċċess tal-irkupru tad-data:

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

Aħna npoġġu l-fajl lest bl-iskrittura fil-folder għall-ħażna ta 'skripts esterni skont is-settings tal-konfigurazzjoni Zabbix-proxy (b'mod awtomatiku - /usr/local/share/zabbix/externalscripts).

L-identifikazzjoni tad-database li minnha l-iskritt ser jirċievi r-riżultati se tiġi mgħoddija bħala parametru tal-iskrittura. L-ID tad-database għandu jaqbel mal-linja tas-settings fil-fajl TNSNames.ORA.

Ir-riżultat tas-sejħa tal-mistoqsija SQL jiġi ffrankat f'fajl simili mon_base_id_main.log fejn base_id = L-identifikatur tad-database riċevut bħala parametru tal-iskript. Id-diviżjoni tal-fajl tar-riżultat mill-identifikaturi tad-database hija pprovduta f'każ ta 'talbiet mis-server għal diversi databases simultanjament. Il-mistoqsija tirritorna firxa ta' valuri bidimensjonali magħżula.

L-iskrittura li ġejja, ejja nsejħulha getMetrica.sh, hija meħtieġa biex tinkiseb metrika speċifikata minn fajl bir-riżultat ta 'talba:

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

Issa aħna lesti biex nikkonfiguraw Zabbix u nibdew nissorveljaw l-indikaturi tal-proċessi ta 'aċċettazzjoni tal-maħżen.

Aġent Zabbix huwa installat u kkonfigurat fuq kull node tad-database.

Fuq is-server prinċipali aħna niddefinixxu s-servers kollha bi proxy Zabbix. Għas-settings, mur fit-triq li ġejja:

Amministrazzjoni → Prokura → Oħloq prokura

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Aħna niddefinixxu hosts ikkontrollati:

Settings → Hosts → Oħloq host

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

L-isem tal-host għandu jaqbel mal-isem tal-host li huwa speċifikat fil-fajl tal-konfigurazzjoni tal-aġent.

Aħna nispeċifikaw il-grupp għan-nodu, kif ukoll l-indirizz IP jew l-isem DNS tan-nodu mad-database.

Aħna noħolqu metriċi u nispeċifikaw il-proprjetajiet tagħhom:

Settings → Nodes → 'isem node' → Oġġetti tad-Data> Oħloq Oġġett tad-Data

1) Oħloq metrika ewlenija biex tinvestiga l-parametri kollha mid-database

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Aħna nissettjaw l-isem tal-element tad-dejta, indika t-tip "Verifika esterna". Fil-qasam "Key", aħna niddefinixxu script li ngħaddu għalih bħala parametri l-isem tad-database Oracle, l-isem tal-mistoqsija sql, il-login u l-password għall-konnessjoni mad-database. Issettja l-intervall tal-aġġornament tal-mistoqsija għal 5 minuti (300 sekonda).

2) Oħloq il-metriċi li jifdal għal kull status tal-vettura. Il-valuri ta 'dawn il-metriċi se jiġu ġġenerati abbażi tar-riżultat tal-verifika tal-metrika ewlenija.

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Aħna nissettjaw l-isem tal-element tad-dejta, indika t-tip "Verifika esterna". Fil-qasam "Key", aħna niddefinixxu script li ngħaddu għalih bħala parametri l-isem tad-database Oracle u l-kodiċi tal-istatus li l-valur tiegħu rridu nsegwu. Aħna nissettjaw l-intervall tal-aġġornament tal-mistoqsija għal 10 sekondi itwal mill-metrika prinċipali (310 sekondi) sabiex ir-riżultati jkollhom ħin biex jinkitbu fil-fajl.

Biex tikseb metriċi b'mod korrett, l-ordni li fiha l-kontrolli huma attivati ​​hija importanti. Sabiex jiġu evitati kunflitti meta nirċievu dejta, l-ewwelnett nattivaw il-metrika ewlenija GetCarsByStatus billi nsejħu l-iskrittura - wh_Metrics.sh.

Settings → Nodes → 'isem tan-node' → Elementi tad-dejta → Subfilter “Verifiki esterni”. Immarka l-kontroll meħtieġ u kklikkja "Attiva".

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Sussegwentement, nattivaw il-metriċi li fadal f'operazzjoni waħda, billi nagħżluhom kollha flimkien:

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Issa Zabbix beda jiġbor metriċi tan-negozju tal-maħżen.

Fl-artikoli li ġejjin, se nagħtu ħarsa aktar mill-qrib lejn il-konnessjoni ta 'Grafana u l-ħolqien ta' dashboards ta 'informazzjoni ta' operazzjonijiet tal-maħżen għal diversi kategoriji ta 'utenti. Grafana tintuża wkoll biex timmonitorja devjazzjonijiet fl-operazzjonijiet tal-maħżen u, skont il-konfini u l-frekwenza tad-devjazzjonijiet, tirreġistra inċidenti fis-sistema taċ-ċentru tas-servizz tal-ġestjoni tal-maħżen permezz tal-API jew sempliċement tibgħat notifiki lill-maniġer bl-email.

DIY: kif nawtomatizzaw il-monitoraġġ tal-maħżen

Sors: www.habr.com

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster