DIY: Yuav ua li cas peb automate warehouse saib xyuas

X5 ua haujlwm 43 lub chaw faib khoom thiab 4 ntawm nws cov tsheb thauj khoom, ua kom cov khoom lag luam tsis cuam tshuam rau 029 lub khw. Hauv tsab xov xwm no kuv yuav qhia kuv qhov kev paub dhau los ntawm kev tsim kom muaj kev sib tham sib rau kev saib xyuas cov xwm txheej hauv tsev khaws khoom los ntawm kos. Cov ntaub ntawv yuav pab tau rau logisticians ntawm trading tuam txhab uas muag nrog ob peb lub teb chaws faib chaw tswj ntau yam khoom.

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Raws li txoj cai, kev tsim kho ntawm kev saib xyuas thiab kev tswj xyuas cov txheej txheem kev lag luam pib nrog kev ua cov lus thiab qhov xwm txheej. Nyob rau tib lub sijhawm, lub ntsiab lus tseem ceeb thev naus laus zis ntsig txog qhov muaj peev xwm ntawm automating qhov tseeb ntawm qhov tshwm sim ntawm kev lag luam thiab kev kaw qhov xwm txheej yog ploj lawm. Feem ntau cov kev lag luam xws li WMS, TMS, thiab lwm yam, muaj cov cuab yeej tsim los saib xyuas lawv tus kheej cov txheej txheem. Tab sis, yog tias cov no yog cov tshuab los ntawm cov tuam txhab sib txawv lossis kev saib xyuas kev ua haujlwm tsis txaus tsim, koj yuav tsum xaj cov kev hloov pauv kim lossis nyiam cov kws pab tswv yim tshwj xeeb rau kev teeb tsa ntxiv.

Cia peb xav txog ib txoj hauv kev uas peb tsuas yog xav tau ib feem me me ntawm kev sab laj nrog rau kev txheeb xyuas qhov chaw (cov lus) kom tau txais cov ntsuas los ntawm qhov system.

Qhov tshwj xeeb ntawm peb cov warehouses yog tias ob peb lub tsev tswj kev tswj hwm (WMS Exceed) ua haujlwm ntawm ib qho chaw logistics. Warehouses muab faib raws li pawg ntawm kev khaws cov khoom (qhuav, cawv, khov, thiab lwm yam) tsis yog qhov tseeb xwb. Hauv ib qho chaw logistics muaj ntau lub tsev khaws khoom cais, txhua qhov yog tswj hwm los ntawm nws tus kheej WMS.

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Txhawm rau tsim cov duab dav dav ntawm cov txheej txheem tshwm sim hauv lub tsev khaws khoom, cov thawj coj txheeb xyuas qhov kev tshaj tawm ntawm txhua WMS ob peb zaug hauv ib hnub, cov txheej txheem cov lus los ntawm cov tswv tsev khaws khoom (receivers, pickers, stackers) thiab sau cov ntsiab lus ua haujlwm tiag tiag rau kev xav ntawm cov ntaub ntawv board.

Txhawm rau txuag cov neeg saib xyuas lub sijhawm, peb tau txiav txim siab los tsim cov txheej txheem pheej yig rau kev tswj xyuas cov khoom lag luam. Cov txheej txheem tshiab, ntxiv rau kev nthuav qhia "kub" ntsuas ntawm kev ua haujlwm ntawm kev ua haujlwm ntawm cov txheej txheem warehouse, kuj tseem yuav pab cov thawj coj hauv kev sau cov xwm txheej thiab saib xyuas kev ua haujlwm ntawm kev ua haujlwm kom tshem tawm cov laj thawj uas cuam tshuam rau cov ntsuas tau muab. Tom qab ua qhov kev ntsuam xyuas dav dav ntawm lub tuam txhab IT architecture, peb pom tau tias ib qho ntawm cov txheej txheem xav tau twb muaj nyob rau hauv ib txoj kev lossis lwm qhov hauv peb thaj chaw thiab rau lawv muaj ob qho tib si kev tshuaj xyuas ntawm cov chaw thiab cov kev pabcuam tsim nyog. Txhua yam uas tseem tshuav yog coj tag nrho lub tswv yim mus rau hauv ib qho kev daws teeb meem architectural thiab kwv yees qhov kev loj hlob.

Tom qab ntsuas qhov nyiaj ntawm cov haujlwm uas yuav tsum tau ua los tsim kom muaj qhov system tshiab, nws tau txiav txim siab faib qhov project mus rau ntau theem:

  1. Sau cov ntsuas rau cov txheej txheem warehouse, visualization thiab tswj cov ntsuas thiab deviations
  2. Automation ntawm cov txheej txheem txheej txheem thiab kev sau npe ntawm daim ntawv thov hauv kev pabcuam kev lag luam rau kev sib txawv
  3. Kev saib xyuas zoo nrog kev thauj khoom huab cua thiab tsim cov lus pom zoo rau cov thawj coj.

Hauv thawj theem, lub kaw lus yuav tsum sau cov ntawv npaj ua haujlwm ntawm txhua qhov WMS ntawm txoj haujlwm. Kev nyeem ntawv tshwm sim yuav luag hauv lub sijhawm tiag tiag (sib ntus tsawg dua 5 feeb). Qhov ua kom yuam kev yog tias cov ntaub ntawv yuav tsum tau txais los ntawm DBMS ntawm ntau lub tsev khaws khoom thaum xa tawm mus rau tag nrho lub network. Cov ntaub ntawv tau txais kev ua haujlwm yog ua tiav los ntawm cov laj thawj ntawm lub hauv paus ntsiab lus los xam qhov sib txawv ntawm cov ntsuas ntsuas thiab suav cov txheeb cais. Cov ntaub ntawv ua tiav hauv txoj kev no yuav tsum tau muab tso rau ntawm tus thawj tswj hwm lub ntsiav tshuaj lossis ntawm lub rooj sib tham cov ntaub ntawv khaws cia hauv daim duab thiab cov duab nkag siab.

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Thaum xaiv qhov tsim nyog rau kev ua haujlwm ntawm thawj theem, peb xaiv Zabbix. Cov kab ke no twb tau siv los saib xyuas IT kev ua haujlwm ntawm cov khoom lag luam. Los ntawm kev ntxiv ib qho kev sib cais rau kev sau cov kev ntsuas kev lag luam ntawm cov khoom lag luam, koj tuaj yeem tau txais cov duab tag nrho ntawm kev noj qab haus huv ntawm lub tsev rau khoom.

General architecture ntawm lub system muab tawm raws li nyob rau hauv daim duab.

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Txhua qhov piv txwv WMS tau txhais ua tus tswv tsev rau kev saib xyuas. Metrics yog sau los ntawm lub hauv paus neeg rau zaub mov hauv cov ntaub ntawv chaw network los ntawm kev khiav ib tsab ntawv nrog cov lus nug SQL npaj. Yog tias koj xav tau los saib xyuas lub kaw lus uas tsis pom zoo kom nkag mus rau hauv cov ntaub ntawv ncaj qha (piv txwv li, SAP EWM), koj tuaj yeem siv cov ntawv hu rau cov ntaub ntawv API ua haujlwm kom tau txais cov ntsuas lossis sau ib qho kev pab cuam yooj yim hauv python/vbascript.

Zabbix proxy piv txwv yog siv nyob rau hauv lub warehouse network los faib cov load los ntawm lub ntsiab server. Los ntawm Proxy, ua haujlwm nrog txhua qhov xwm txheej WMS hauv zos tau lees paub. Lub sijhawm tom ntej tus neeg rau zaub mov Zabbix thov tsis txwv, tsab ntawv raug tua ntawm tus tswv tsev nrog Zabbix npe thov kev ntsuas los ntawm WMS database.

Txhawm rau tso tawm cov duab kos thiab cov khoom lag luam ntsuas ntawm lub hauv paus Zabbix server, peb xa Grafana. Ntxiv rau kev nthuav qhia cov dashboards npaj nrog infographics ntawm kev ua haujlwm hauv tsev rau khoom, Grafana yuav raug siv los saib xyuas qhov sib txawv ntawm cov ntsuas thiab xa cov ntawv ceeb toom tsis siv neeg rau lub tsev rau khoom siv rau kev ua haujlwm nrog cov xwm txheej ua lag luam.

Raws li ib qho piv txwv, cia peb xav txog qhov kev siv ntawm kev tswj kev thauj khoom hauv thaj chaw txais khoom. Cov hauv qab no tau raug xaiv los ua cov cim tseem ceeb ntawm cov txheej txheem kev ua haujlwm hauv cheeb tsam ntawm lub tsev khaws khoom:

  • tus naj npawb ntawm cov tsheb nyob rau hauv qhov chaw txais tos, suav nrog cov xwm txheej (kev npaj, tuaj txog, cov ntaub ntawv, tshem tawm, tawm mus;
  • kev ua haujlwm ntawm qhov chaw tso thiab rov ua dua (raws li kev cia khoom).

Chaw

Kev teeb tsa thiab kev teeb tsa ntawm cov khoom tseem ceeb ntawm lub kaw lus (SQLcl, Zabbix, Grafana) tau piav qhia hauv ntau qhov chaw thiab yuav tsis rov ua dua ntawm no. Kev siv SQLcl es tsis txhob siv SQLplus yog vim qhov tseeb tias SQLcl (cov kab lus hais kom ua ntawm Oracle DBMS, sau hauv java) tsis xav tau kev teeb tsa ntxiv ntawm Oracle Client thiab ua haujlwm tawm ntawm lub thawv.

Kuv yuav piav qhia txog cov ntsiab lus tseem ceeb uas yuav tsum tau them sai sai rau thaum siv Zabbix los saib xyuas cov txheej txheem kev lag luam warehouse, thiab ib txoj hauv kev ua tau zoo. Tsis tas li ntawd, qhov no tsis yog ib qho kev tshaj tawm txog kev ruaj ntseg. Kev ruaj ntseg ntawm kev sib txuas thiab kev siv cov txheej txheem nthuav tawm yuav tsum tau kawm ntxiv nyob rau hauv cov txheej txheem ntawm kev hloov cov kev daws teeb meem rau kev ua haujlwm tau zoo.

Qhov tseem ceeb tshaj plaws yog tias thaum siv cov txheej txheem zoo li no, nws tuaj yeem ua yam tsis muaj programming, siv cov chaw muab los ntawm qhov system.

Zabbix saib xyuas qhov system muab ntau txoj hauv kev los sau cov ntsuas ntsuas los ntawm kev saib xyuas. Qhov no tuaj yeem ua tau los ntawm kev xaiv tsa ncaj qha los saib xyuas cov tswv, lossis los ntawm txoj kev xa cov ntaub ntawv ntau dua rau cov neeg rau zaub mov ntawm tus tswv tsev zabbix_sender, suav nrog cov txheej txheem rau kev teeb tsa cov kev tshawb pom qis dua. Txhawm rau daws peb cov teeb meem, cov txheej txheem ntawm kev xaiv tsa ncaj qha ntawm cov tswv los ntawm lub hauv paus server yog qhov tsim nyog, vim qhov no tso cai rau koj kom tau txais kev tswj hwm tag nrho ntawm cov khoom lag luam metrics thiab xyuas kom meej tias koj siv ib txheej txheej / ntawv sau tsis tas yuav muab faib rau txhua tus neeg saib xyuas.

Raws li "cov ntsiab lus xeem" rau kev debugging thiab teeb tsa lub kaw lus, peb siv WMS daim ntawv ua haujlwm rau kev lees paub:

  1. Lub tsheb ntawm kev txais tos, txhua yam uas tau tuaj txog: Txhua lub tsheb nrog cov xwm txheej rau lub sijhawm "- 72 teev los ntawm lub sijhawm tam sim no" - SQL query identifier: getCars.
  2. Keeb kwm ntawm txhua lub tsheb xwm txheej: Cov xwm txheej ntawm txhua lub tsheb tuaj txog hauv 72 teev - SQL query identifier: tshebHistory.
  3. Teem caij tsheb rau kev lees txais: Cov xwm txheej ntawm txhua lub tsheb uas tuaj txog hauv "Scheduled" xwm txheej, lub sijhawm luv "- 24 teev" thiab "+24 teev" los ntawm lub sijhawm tam sim no - SQL query identifier: tsheb hauv.

Yog li, tom qab peb tau txiav txim siab txog cov txheej txheem kev ntsuas kev ua haujlwm hauv tsev khaws khoom, peb yuav npaj cov lus nug SQL rau WMS database. Txhawm rau ua cov lus nug, nws raug nquahu kom siv tsis yog cov ntaub ntawv tseem ceeb, tab sis nws cov ntawv "kub" - standby.

Peb txuas rau standby Oracle DBMS kom tau txais cov ntaub ntawv. IP chaw nyob rau kev txuas mus rau cov ntaub ntawv xeem 192.168.1.106. Peb khaws cov kev sib txuas tsis sib xws ntawm Zabbix server hauv TNSNames.ORA ntawm SQLcl ua haujlwm nplaub tshev:

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

Qhov no yuav tso cai rau peb khiav SQL queries rau txhua tus tswv ntawm EZconnect, qhia tsuas yog tus ID nkag mus / lo lus zais thiab lub npe database:

# sql znew/Zabmon1@WH1_1

Peb khaws cov lus nug SQL npaj rau hauv daim nplaub tshev ua haujlwm ntawm Zabbix server:

/etc/zabbix/sql

thiab tso cai rau nkag mus rau tus neeg siv zabbix ntawm peb lub server:

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

Cov ntaub ntawv nrog kev thov tau txais tus cim tshwj xeeb-lub npe rau kev nkag los ntawm Zabbix server. Txhua cov lus nug database ntawm SQLcl rov qab peb ob peb yam. Muab rau hauv tus account qhov tshwj xeeb ntawm Zabbix, uas tuaj yeem ua tiav tsuas yog ib qho kev ntsuas ib qho kev thov, peb yuav siv cov ntawv ntxiv los txheeb xyuas cov lus nug hauv ib tus neeg ntsuas.

Cia peb npaj cov ntawv tseem ceeb, cia peb hu nws wh_Metrics.sh, hu rau SQL lus nug rau hauv cov ntaub ntawv, txuag cov txiaj ntsig thiab xa rov qab cov kev ntsuas kev ntsuas nrog cov ntsuas kev ua tiav ntawm cov ntaub ntawv rov qab:

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

Peb tso cov ntaub ntawv tiav nrog cov ntawv sau rau hauv daim nplaub tshev rau khaws cov ntawv sau sab nraud raws li Zabbix-proxy configuration settings (los ntawm lub neej ntawd - /usr/local/share/zabbix/externalscripts).

Kev txheeb xyuas ntawm cov ntaub ntawv los ntawm cov ntawv sau yuav tau txais cov txiaj ntsig yuav dhau los ua cov ntawv ntsuas. Tus ID database yuav tsum phim cov kab teeb tsa hauv TNSNames.ORA cov ntaub ntawv.

Qhov tshwm sim ntawm SQL query hu tau txais kev cawmdim hauv cov ntaub ntawv zoo li mon_base_id_main.log qhov twg base_id = Tus database identifier tau txais raws li tsab ntawv parameter. Kev faib cov ntaub ntawv tshwm sim los ntawm database identifiers yog muab nyob rau hauv cov ntaub ntawv ntawm kev thov los ntawm lub server mus rau ntau lub databases ib txhij. Cov lus nug rov qab tau txheeb xyuas ob-dimensional array ntawm qhov tseem ceeb.

Cov ntawv hauv qab no, cia peb hu nws getMetrica.sh, xav tau kom tau txais ib qho kev ntsuas ntsuas los ntawm cov ntaub ntawv nrog rau qhov kev thov:

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

Tam sim no peb npaj txhij los teeb tsa Zabbix thiab pib saib xyuas cov txheej txheem kev lees paub hauv tsev rau khoom.

Ib tus neeg sawv cev Zabbix tau teeb tsa thiab teeb tsa ntawm txhua qhov chaw khaws ntaub ntawv.

Ntawm lub server tseem ceeb peb txhais tag nrho cov servers nrog Zabbix npe. Rau kev teeb tsa, mus rau txoj hauv qab no:

Administration → Proxy → Tsim npe

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Peb txhais cov tswv tswj hwm:

Chaw → Hosts → Tsim tus tswv tsev

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Lub hostname yuav tsum phim lub hostname uas tau teev nyob rau hauv tus neeg saib xyuas cov ntaub ntawv teeb tsa.

Peb qhia cov pab pawg rau ntawm node, nrog rau qhov chaw nyob IP lossis DNS npe ntawm node nrog cov ntaub ntawv.

Peb tsim metrics thiab qhia lawv cov khoom:

Chaw → Nodes → 'node npe' → Cov khoom siv ntaub ntawv> Tsim cov khoom siv

1) Tsim ib lub ntsiab metric los nug tag nrho cov tsis tau los ntawm cov ntaub ntawv

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Peb teeb tsa lub npe ntawm cov ntaub ntawv keeb kwm, qhia hom "External verification". Hauv qhov "Key" teb, peb txhais cov ntawv uas peb dhau los ua qhov tsis muaj lub npe ntawm Oracle database, lub npe ntawm cov lus nug sql, tus ID nkag mus thiab lo lus zais rau kev txuas mus rau cov ntaub ntawv. Teem sijhawm cov lus nug hloov tshiab rau 5 feeb (300 vib nas this).

2) Tsim cov metrics ntxiv rau txhua lub tsheb xwm txheej. Cov txiaj ntsig ntawm cov metrics no yuav raug tsim tawm raws li qhov tshwm sim ntawm kev kuaj xyuas lub ntsiab metric.

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Peb teeb tsa lub npe ntawm cov ntaub ntawv keeb kwm, qhia hom "External verification". Hauv "Key" teb, peb txhais ib tsab ntawv uas peb dhau los ua qhov tsis muaj lub npe ntawm Oracle database thiab tus lej txheej xwm uas nws tus nqi peb xav taug qab. Peb teeb tsa cov lus nug hloov tshiab ncua mus rau 10 vib nas this ntev tshaj qhov ntsuas qhov tseem ceeb (310 vib nas this) kom cov txiaj ntsig muaj sijhawm sau rau hauv cov ntaub ntawv.

Txhawm rau kom tau txais kev ntsuas kom raug, qhov kev txiav txim uas cov tshev qhib qhib yog qhov tseem ceeb. Txhawm rau kom tsis txhob muaj teeb meem thaum tau txais cov ntaub ntawv, ua ntej ntawm txhua yam peb qhib lub ntsiab metric GetCarsByStatus los ntawm kev hu rau tsab ntawv - wh_Metrics.sh.

Chaw → Nodes → 'node name' → Cov ntaub ntawv ntsiab lus → Subfilter “External checks”. Kos rau qhov yuav tsum tau kos thiab nyem "Activate".

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Tom ntej no, peb qhib cov metrics seem hauv ib qho kev ua haujlwm, xaiv lawv tag nrho ua ke:

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Tam sim no Zabbix tau pib sau cov khoom lag luam ntsuas kev lag luam.

Hauv cov ntawv hauv qab no, peb yuav ua tib zoo saib ntawm kev sib txuas Grafana thiab tsim cov ntaub ntawv dashboards ntawm kev ua haujlwm hauv tsev rau ntau pawg ntawm cov neeg siv. Grafana kuj tseem siv los saib xyuas qhov sib txawv hauv kev ua haujlwm hauv tsev khaws khoom thiab, nyob ntawm thaj tsam thiab qhov sib txawv ntawm qhov sib txawv, sau npe cov xwm txheej hauv lub tsev khaws khoom tswj chaw pabcuam ntawm API lossis tsuas yog xa cov ntawv ceeb toom rau tus thawj tswj hauv email.

DIY: Yuav ua li cas peb automate warehouse saib xyuas

Tau qhov twg los: www.hab.com

Ntxiv ib saib