DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

X5 inoshandisa nzvimbo makumi mana nematatu ekugovera uye zviuru zvina nemazana mana emarori ayo, ichiva nechokwadi chekupihwa kwezvigadzirwa kuzvitoro zvinosvika zviuru gumi nezvishanu nemazana manomwe neshanu. Muchinyorwa chino ini ndichagovera ruzivo rwangu rwekugadzira inopindirana sisitimu yekutarisa zviitiko zvekuchengetera zvinhu kubva pakutanga. Ruzivo urwu ruchabatsira kune logisticians emakambani ekutengesa ane akati wandei gumi nemaviri nzvimbo dzekugovera anotonga dzakasiyana siyana dzezvigadzirwa.

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Sezvo mutemo, kuvakwa kwekutarisa uye bhizinesi maitiro ekugadzirisa masisitimu anotanga nekugadzirisa mameseji uye zviitiko. Panguva imwecheteyo, yakakosha tekinoroji point ine chekuita nekugona kwekuita otomatiki iyo chaiyo yekuitika kwezviitiko zvebhizinesi uye zviitiko zvekurekodha zvinopotsa. Mazhinji masisitimu ebhizinesi akadai seWMS, TMS, nezvimwewo, ane maturusi akavakirwa-mukati ekutarisa maitiro avo. Asi, kana aya ari masisitimu kubva kune vakasiyana vagadziri kana mashandiro ekutarisa asina kugadzirwa zvakakwana, iwe unofanirwa kuodha zvinodhura zvigadziriso kana kukwezva nyanzvi dzekupa mazano kune mamwe marongero.

Ngatitarisei nzira yatinongoda chikamu chidiki chekubvunza chakabatana nekuona masosi (matafura) kuti tiwane zviratidzo kubva kuhurongwa.

Iyo chaiyo yematura edu ndeyekuti akati wandei mawarehouse manejimendi masisitimu (WMS Yakapfuura) inoshanda pane imwe logistics complex. Matura akapatsanurwa maererano nezvikamu zvekuchengetera zvinhu (yakaoma, doro, chando, nezvimwewo) kwete chete zvine musoro. Mukati meimwe logistics complex mune akati wandei akaparadzana zvivakwa zvekuchengetera zvinhu, imwe neimwe inotungamirwa neiyo yayo WMS.

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Kuti vagadzire mufananidzo wakajairwa wemaitiro anoitika mudura, maneja anoongorora kutaurwa kweWMS yega yega kakawanda pazuva, kugadzirisa mameseji kubva kune vanochengetera zvinhu (vanogamuchira, vanonhonga, mastacker) uye kupfupisa zviratidzo zvekushanda zvekufungisisa pabhodhi reruzivo.

Kuchengetedza mamaneja nguva, takasarudza kugadzira sisitimu isingadhure yekutonga kwekuita kwezviitiko zvedura. Iyo itsva system, kunze kwekuratidza zviratidzo "zvinopisa" zvekushanda kwekushanda kwemaitiro ekuchengetedza, inofanirawo kubatsira vatungamiri mukunyora zviitiko uye kutarisa kushandiswa kwemabasa kubvisa zvikonzero zvinokanganisa zviratidzo zvakapiwa. Mushure mekuita ongororo yakajairwa yekambani yekuvaka yeIT, takaona kuti zvikamu zvega zvehurongwa hunodiwa zvatovepo neimwe nzira munzvimbo yedu uye kwavari kune zvese kuongororwa kwezvirongwa uye masevhisi anodiwa ekutsigira. Chasara kuunza iyo pfungwa yese mune imwechete yekuvakisa mhinduro uye kufungidzira chiyero chebudiriro.

Mushure mekuongorora huwandu hwebasa rinoda kuitwa kuvaka hurongwa hutsva, zvakasarudzwa kupatsanura chirongwa ichi mumatanho akati wandei:

  1. Kuunganidzwa kwezviratidzo zvemaitiro ekuchengetedza, kuona uye kutonga kwezviratidzo uye kutsauka
  2. Otomatiki yemaitiro maitiro uye kunyoreswa kwezvikumbiro mubhizinesi masevhisi sevhisi yekutsauka
  3. Proactive yekutarisa ine mutoro wekufanotaura uye kugadzira kurudziro yemaneja.

Padanho rekutanga, sisitimu inofanirwa kuunganidza akagadzirirwa zvidimbu zve data rekushanda kubva kune ese WMS yeiyo yakaoma. Kuverenga kunoitika munguva chaiyo (nguva isingasviki maminetsi mashanu). Iyo dhizaini ndeyekuti data inofanirwa kuwanikwa kubva kuDBMS yeakati wandei mawarehouse paunenge uchiendesa sisitimu kune network yese. Iyo yakagamuchirwa data yekushanda inogadziriswa neiyo logic yeiyo system musimboti kuverenga kutsauka kubva kune yakarongwa zviratidzo uye kuverenga manhamba. Iyo data yakagadziriswa nenzira iyi inofanira kuratidzwa pahwendefa remaneja kana pabhodhi remashoko ekuchengetedza zvinhu nenzira yekunzwisisa magirafu nemadhayagiramu.

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Pakusarudza hurongwa hwakakodzera hwekuita mutyairi wedanho rekutanga, takasarudza Zabbix. Iyi sisitimu yatoshandiswa kutarisa IT kuita kwewarehouse system. Nekuwedzera yakaparadzana yekumisikidza yekuunganidza bhizinesi metrics yebasa rekuchengetedza, unogona kuwana mufananidzo wakazara wehutano hweimba yekuchengetera.

Iyo general dhizaini yehurongwa yakave senge mumufananidzo.

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Imwe neimwe yeWMS muenzaniso inotsanangurwa semugadziri weiyo yekutarisa system. Metrics inounganidzwa nepakati server mune data center network nekumhanyisa script ine yakagadzirira SQL query. Kana iwe uchida kutarisa hurongwa husingakurudziri kuwana zvakananga kune dhatabhesi (somuenzaniso, SAP EWM), unogona kushandisa script call kune zvakanyorwa API mabasa kuti uwane zviratidzo kana kunyora purogiramu iri nyore mu python / vbascript.

A Zabbix proxy muenzaniso inoiswa mudura retiweki kugovera mutoro kubva kune huru server. Kuburikidza neProxy, shanda neese enzvimbo WMS zviitiko zvinovimbiswa. Nguva inotevera sevha yeZabbix painokumbira paramita, chinyorwa chinoitwa pamugamuchiri neZabbix proxy kukumbira metrics kubva kuWMS database.

Kuratidza magirafu uye zviratidzo zvekuchengetera pane yepakati Zabbix server, isu tinotumira Grafana. Pamusoro pekuratidza madhibhodhi akagadzirirwa ane infographics yemabasa ekuchengetera zvinhu, Grafana ichashandiswa kutarisa kutsauka kwezviratidzo uye kutumira zviziviso otomatiki kune warehouse service system yekushanda nezviitiko zvebhizinesi.

Semuenzaniso, ngatitarisei kushandiswa kwekudzora mutoro munzvimbo yekuchengetera midziyo. Izvi zvinotevera zvakasarudzwa sechiratidzo chikuru chekushanda kwemaitiro munzvimbo ino yekuchengetera zvinhu:

  • nhamba yemotokari munzvimbo yekugamuchira, uchifunga nezvezvimiro (zvakarongwa, zvakasvika, zvinyorwa, kuburitsa, kuenda;
  • basa rekuisa uye replenishment nzvimbo (maererano nemamiriro ekuchengetedza).

Zvirongwa

Kuiswa uye kugadzirisa kwezvikamu zvikuru zvegadziriro (SQLcl, Zabbix, Grafana) inotsanangurwa munzvimbo dzakasiyana-siyana uye haizodzokororwi pano. Kushandiswa kweSQLcl pachinzvimbo cheSQLplus kunokonzerwa nekuti SQLcl (iyo yekuraira mutsara interface yeOracle DBMS, yakanyorwa mujava) haidi kuwedzera kuiswa kweOracle Client uye inoshanda kunze kwebhokisi.

Ini ndichatsanangura mapoinzi makuru anofanirwa kutariswa kana uchishandisa Zabbix yekutarisa warehouse bhizinesi maitiro zviratidzo, uye imwe yenzira dzingaite yekuzviita. Zvakare, iyi haisi positi nezve chengetedzo. Kuchengeteka kwekubatanidza uye kushandiswa kweiyo nzira dzakaratidzwa kunoda kuwedzera kudzidza mukuita kuendesa mhinduro yekuyedza kuita basa rine zvibereko.

Chinhu chikuru ndechekuti kana uchiita hurongwa hwakadaro, zvinokwanisika kuita pasina hurongwa, uchishandisa zvirongwa zvinopihwa nehurongwa.

Iyo Zabbix yekutarisa sisitimu inopa akati wandei sarudzo dzekuunganidza metrics kubva kune inotariswa system. Izvi zvinogona kuitwa nekuvhota vanotariswa zvakananga, kana neimwe nzira yepamberi yekutumira data kuseva kuburikidza nemugamuchiri zabbix_sender, kusanganisira nzira dzekugadzirisa yakaderera-chikamu chekuwanikwa paramita. Kugadzirisa dambudziko redu, nzira yekuvhota yakananga yemauto nepakati server yakanyatsokodzera, nekuti izvi zvinokutendera kuti uwane kutonga kwakazara pamusoro pekutevedzana kwekutora metrics uye unova nechokwadi chekuti iwe unoshandisa imwe seti yezvirongwa / zvinyorwa pasina kukosha kwekuzvigovera kune yega yega inotariswa.

Se "bvunzo zvidzidzo" zvekugadzirisa uye kumisikidza sisitimu, isu tinoshandisa WMS pepa rebasa rekugamuchira manejimendi:

  1. Mota pakutambira, dzese dzasvika: mota dzese dzine mastatus enguva "- 72 maawa kubva panguva yazvino" - SQL query identifier: getCars.
  2. Nhoroondo yemhando dzese dzemotokari: Mamiriro emota dzese dzinosvika mukati memaawa makumi manomwe nemaviri - SQL yemubvunzo identifier: carsHistory.
  3. Motokari dzakarongwa kuti dzigamuchirwe: Mamiriro emota dzese nekusvika mune "Yakarongwa" chimiro, nguva yekupindirana "- maawa makumi maviri nemana" uye "+24 maawa" kubva panguva yazvino - SQL query identifier: carsIn.

Saka, mushure mekunge tafunga nezve seti yemamita ekuchengetedza imba, isu tichagadzirira SQL mibvunzo yeWMS dhatabhesi. Kuita mibvunzo, zvinokurudzirwa kushandisa kwete iyo huru dhatabhesi, asi yayo "inopisa" kopi - yekumira.

Isu tinobatana kune yakamira Oracle DBMS kuti tigamuchire data. IP kero yekubatanidza kune dhatabhesi yebvunzo 192.168.1.106. Isu tinochengetedza maparamita ekubatanidza paZabbix server muTNSNames.ORA yeSQLcl inoshanda folda:

# 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)
    )
  )

Izvi zvinotitendera kuti timhanye mibvunzo yeSQL kune mumwe nemumwe mugadziri kuburikidza neEZconnect, tichitsanangura chete yekuenda/password uye zita re database:

# sql znew/Zabmon1@WH1_1

Isu tinochengetedza yakagadzirira SQL mibvunzo mufaira rekushanda pane Zabbix server:

/etc/zabbix/sql

uye bvumidza kupinda kune zabbix mushandisi weserver yedu:

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

Mafaira ane zvikumbiro anogamuchira yakasarudzika-zita rekuwana kubva kuZabbix server. Yese yemubvunzo we database kuburikidza neSQLcl inotidzosera akati wandei ma parameter. Tichifunga nezvezvakajeka zveZabbix, iyo inogona kugadzirisa metric imwe chete pachikumbiro, tichashandisa mamwe mascript kutsanangudza zvabuda mubvunzo kuita metrics yega.

Ngatigadzirirei iyo huru script, ngatiidaidze wh_Metrics.sh, kudaidza SQL mubvunzo kune dhatabhesi, chengetedza zvawanikwa uye dzosera tekinoroji metric ine zviratidzo zvekubudirira kwekudzosa 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

Isu tinoisa iyo yakapedzwa faira ine script mufolda yekuchengetedza zvinyorwa zvekunze zvinoenderana neZabbix-proxy kumisikidza marongero (nekusarudzika - /usr/local/share/zabbix/externalscripts).

Kuzivikanwa kwedhatabhesi uko script ichagashira mhinduro ichapfuudzwa se script parameter. ID yedatabase inofanirwa kuenderana nemutsara wezvirongwa mufaira reTNSNames.ORA.

Mhedzisiro yeSQL yemubvunzo yekufona inochengetwa mufaira senge mon_base_id_main.log apo base_id = Iyo dhatabhesi identifier yakagamuchirwa se script parameter. Iyo kupatsanurwa kwefaira remhedzisiro nedhatabhesi identifiers inopiwa kana zvikumbiro kubva kune server kune akati wandei dhatabhesi panguva imwe chete. Muvhunzo unodzosa akarongwa maviri-dimensional array yemakoshero.

Chinyorwa chinotevera, ngatichidaidze GetMetrica.sh, chinodiwa kuti uwane metric yakatsanangurwa kubva mufaira ine mhedzisiro yechikumbiro:

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

Iye zvino tagadzirira kugadzirisa Zabbix uye kutanga kutarisa zviratidzo zvekuchengetedza nzvimbo yekugamuchira maitiro.

A Zabbix mumiririri akaiswa uye akagadziridzwa pane imwe neimwe database node.

Pane iyo huru server tinotsanangura ese maseva ane Zabbix proxy. Kuti uwane marongero, enda kune inotevera nzira:

Kutonga → Mumiriri → Gadzira mumiriri

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Isu tinotsanangura anodzorwa mauto:

Settings → Hosts → Gadzira host

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Zita remugamuchiri rinofanira kuenderana nezita remugamuchiri rinotsanangurwa muagent configuration file.

Isu tinotsanangura boka reiyo node, pamwe neiyo IP kero kana DNS zita reiyo node ine database.

Isu tinogadzira metrics uye tinotsanangura zvivakwa zvavo:

Zvirongwa → Node → 'node name' → Zvinhu zveData> Gadzira Dhata Chinhu

1) Gadzira main metric yekubvunza ese ma paramita kubva kudhatabhesi

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Isu tinoseta zita reiyo data data, ratidza mhando "Yekunze verification". Mundima ye "Kiyi", tinotsanangura script yatinopfuudza sema parameter zita reOracle dhatabhesi, zita remubvunzo we sql, login uye password yekubatanidza kune database. Seta nguva yekuvandudza yemubvunzo kusvika kumaminetsi mashanu (5 seconds).

2) Gadzira asara metrics kune yega yega mamiriro emotokari. Hukoshi hweaya metrics huchagadzirwa zvichibva pane mhedzisiro yekutarisa iyo huru metric.

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Isu tinoseta zita reiyo data data, ratidza mhando "Yekunze verification". Mundima ye "Kiyi", tinotsanangura script yatinopfuudza sema parameter zita reOracle dhatabhesi uye kodhi yemamiriro ayo kukosha kwatinoda kutevedzera. Isu tinoseta nguva yekuvandudza yemubvunzo kusvika kumasekonzi gumi kureba kupfuura iyo main metric (10 masekonzi) kuitira kuti mibairo ive nenguva yekunyorwa kufaira.

Kuti uwane metrics nemazvo, kurongeka kwecheki kunoitwa kwakakosha. Kuti tidzivise kusawirirana pakugamuchira data, chekutanga tinovhura metric hombe GetCarsByStatus nekudaidza script - wh_Metrics.sh.

Zvirongwa → Node → 'node zita' → Zvinhu zve data → Subfilter "Cheki dzekunze". Maka cheki inodiwa uye tinya "Activate".

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Tevere, isu tinomisikidza asara metrics mukushanda kumwe, tichiasarudza ese pamwechete:

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Iye zvino Zabbix yatanga kuunganidza metrics yebhizinesi rekuchengetera zvinhu.

Muzvinyorwa zvinotevera, isu tichanyatso tarisisa kubatanidza Grafana uye kugadzira ruzivo dashboards ekuchengetedza mashandiro emhando dzakasiyana dzevashandisi. Zvakare zvichibva paGrafana, kutariswa kwekutsauka mumabasa ekuchengetedza zvinhu kunoitwa uye, zvichienderana nemiganhu uye kudzokorora kwekutsauka, kunyoreswa kwezviitiko muwarehouse management service centre system kuburikidza neAPI kana nyore kutumira zviziviso kune maneja neemail.

DIY: maitiro atinoita otomatiki yekutarisa imba yekuchengetera

Source: www.habr.com

Voeg