DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

X5 imagwiritsa ntchito malo ogawa 43 ndi magalimoto ake 4, ndikuwonetsetsa kuti zinthu sizingasokonezedwe m'masitolo 029. M'nkhaniyi ndigawana zomwe ndakumana nazo popanga njira yolumikizirana yowunikira zochitika zanyumba yosungiramo zinthu kuyambira pachiyambi. Chidziwitsocho chidzakhala chothandiza kwa opanga makampani ogulitsa omwe ali ndi malo angapo ogawa omwe amayang'anira zinthu zosiyanasiyana.

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Monga lamulo, ntchito yomanga kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka kayendetsedwe ka bizinesi imayamba ndi mauthenga ndi zochitika. Nthawi yomweyo, mfundo yofunika yaukadaulo yokhudzana ndi kuthekera kodzipangira zokha zochitika zamabizinesi ndi kujambula zochitika zimaphonya. Mabizinesi ambiri monga WMS, TMS, ndi zina zambiri, ali ndi zida zopangira zowunikira zomwe zikuchitika. Koma, ngati awa ndi machitidwe ochokera kwa opanga osiyanasiyana kapena ntchito zowunikira sizinapangidwe mokwanira, muyenera kuyitanitsa zosintha zamtengo wapatali kapena kukopa alangizi apadera pazowonjezera zina.

Tiyeni tiganizire njira yomwe timangofunikira gawo laling'ono la zokambirana zomwe zimagwirizana ndi kuzindikira magwero (matebulo) kuti tipeze zizindikiro kuchokera ku dongosolo.

Zodziwika bwino za malo athu osungiramo zinthu ndikuti makina angapo osungiramo zinthu (WMS Exceed) amagwira ntchito pamalo amodzi. Malo osungiramo katundu amagawidwa malinga ndi magulu osungira katundu (zouma, mowa, mazira, etc.) osati zomveka. M'kati mwa malo amodzi osungiramo zinthu muli nyumba zingapo zosiyana zosungiramo katundu, zomwe zimayendetsedwa ndi WMS yake.

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Kuti apange chithunzithunzi cha njira zomwe zikuchitika mnyumba yosungiramo katundu, mameneja amasanthula malipoti a WMS iliyonse kangapo patsiku, kukonza mauthenga ochokera kwa ogwira ntchito m'malo osungiramo katundu (olandira, onyamula, osunga zinthu) ndi kufotokoza mwachidule zizindikiro zenizeni zogwirira ntchito kuti ziwonetsedwe pa bolodi lazidziwitso.

Kuti tisunge nthawi ya oyang'anira, tidaganiza zopanga njira yotsika mtengo yowongolera zochitika zosungiramo zinthu. Dongosolo latsopanoli, kuphatikiza pakuwonetsa zisonyezo "zotentha" za momwe ntchito yosungiramo zinthu zimagwirira ntchito, iyeneranso kuthandiza oyang'anira kujambula zochitika ndi kuyang'anira momwe ntchito zikuyendera kuti athetse zifukwa zomwe zimakhudza zizindikiro zomwe zaperekedwa. Pambuyo pofufuza kamangidwe ka kampani ya IT, tidazindikira kuti magawo amtundu wofunikira alipo kale mwanjira ina m'malo athu ndipo kwa iwo pali kuwunika kwa zoikamo ndi ntchito zofunikira zothandizira. Zomwe zatsala ndikubweretsa lingaliro lonse mu njira imodzi yomanga ndikuyerekeza kukula kwa chitukuko.

Pambuyo powunika kuchuluka kwa ntchito yomwe ikuyenera kuchitidwa pomanga dongosolo latsopano, adaganiza zogawa ntchitoyi m'magawo angapo:

  1. Kusonkhanitsa zizindikiro za njira zosungiramo katundu, kuyang'ana ndi kuwongolera zizindikiro ndi zopotoka
  2. Makina oyendetsera miyezo ndi kulembetsa zofunsira mubizinesi yantchito zopatuka
  3. Kuyang'anira mwachidwi ndi kulosera zam'mutu ndi kupanga malingaliro kwa oyang'anira.

Pa gawo loyambirira, dongosololi liyenera kusonkhanitsa magawo okonzekera a data kuchokera ku WMS yonse yazovuta. Kuwerenga kumachitika pafupifupi nthawi yeniyeni (nthawi zosakwana mphindi 5). Chinyengo ndi chakuti deta iyenera kupezedwa kuchokera ku DBMS ya malo osungiramo khumi ndi awiri potumiza dongosolo ku netiweki yonse. Deta yolandilidwa yogwira ntchito imakonzedwa ndi malingaliro apakati pa dongosolo kuti awerengere zopotoka kuchokera paziwonetsero zomwe zakonzedwa ndikuwerengera ziwerengero. Deta yokonzedwa motere iyenera kuwonetsedwa pa piritsi la woyang'anira kapena pa bolodi lachidziwitso cha malo osungiramo zinthu monga ma grafu omveka bwino.

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Posankha njira yoyenera yoyendetsera woyendetsa gawo loyamba, tidasankha Zabbix. Dongosololi limagwiritsidwa ntchito kale kuyang'anira momwe IT imagwirira ntchito panyumba zosungiramo katundu. Powonjezera kukhazikitsa kosiyana kuti mutolere ma metric abizinesi osungiramo zinthu, mutha kupeza chithunzi chonse cha thanzi la nyumba yosungiramo zinthu.

Mamangidwe ambiri a dongosololi adakhala ngati chithunzi.

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Chitsanzo chilichonse cha WMS chimatanthauzidwa ngati chothandizira dongosolo loyang'anira. Ma metrics amasonkhanitsidwa ndi seva yapakati mu netiweki ya data center pogwiritsa ntchito script ndi funso lokonzekera la SQL. Ngati mukufunikira kuyang'anitsitsa dongosolo lomwe silikulangiza kuti mulowetse mwachindunji ku database (mwachitsanzo, SAP EWM), mungagwiritse ntchito script script ku ntchito zolembedwa za API kuti mupeze zizindikiro kapena kulemba pulogalamu yosavuta mu python / vbascript.

Chitsanzo cha projekiti ya Zabbix imayikidwa mu netiweki yosungiramo katundu kuti igawire katunduyo kuchokera pa seva yayikulu. Kudzera mu Proxy, ntchito ndi zochitika zonse zapa WMS zimatsimikiziridwa. Nthawi yotsatira seva ya Zabbix ikapempha magawo, script imayikidwa kwa wolandirayo ndi Zabbix proxy kuti apemphe ma metric kuchokera ku database ya WMS.

Kuti tiwonetse ma graph ndi zizindikiro zosungiramo katundu pa seva yapakati ya Zabbix, timatumiza Grafana. Kuphatikiza pa kuwonetsa ma dashboards okonzeka okhala ndi infographics za ntchito zosungiramo zinthu zosungiramo katundu, Grafana idzagwiritsidwa ntchito kuyang'anira zopotoka pazizindikiro ndikutumiza zidziwitso zodziwikiratu ku makina osungiramo zinthu zogwirira ntchito ndi zochitika zamabizinesi.

Mwachitsanzo, taganizirani za kukhazikitsidwa kwa kayendetsedwe ka katundu m'malo olandirira katundu. Zotsatirazi zidasankhidwa ngati zizindikilo zazikulu zogwirira ntchito mderali la nyumba yosungiramo zinthu:

  • kuchuluka kwa magalimoto pamalo olandirira alendo, poganizira masitepe (okonzedwa, adafika, zikalata, kutsitsa, kunyamuka;
  • kuchuluka kwa ntchito za malo oyika ndi kubwezeretsanso (malinga ndi malo osungira).

Makhalidwe

Kuyika ndi kukonza zigawo zikuluzikulu za dongosolo (SQLcl, Zabbix, Grafana) zikufotokozedwa m'mabuku osiyanasiyana ndipo sizidzabwerezedwa apa. Kugwiritsiridwa ntchito kwa SQLcl m'malo mwa SQLplus ndi chifukwa chakuti SQLcl (mawonekedwe a mzere wa malamulo a Oracle DBMS, olembedwa mu java) safuna kuyika kwina kwa Oracle Client ndipo amagwira ntchito kunja kwa bokosi.

Ndidzafotokozera mfundo zazikulu zomwe ziyenera kuganiziridwa pogwiritsira ntchito Zabbix kuyang'anira zizindikiro za ndondomeko ya bizinesi yosungiramo katundu, ndi imodzi mwa njira zomwe zingatheke kuzigwiritsira ntchito. Komanso, iyi si positi yokhudza chitetezo. Chitetezo cha maulumikizidwe ndi kugwiritsa ntchito njira zomwe zaperekedwa zimafunikira maphunziro owonjezera pakusintha njira yoyeserera kuti igwire bwino ntchito.

Chachikulu ndichakuti mukakhazikitsa dongosolo lotere, ndizotheka kuchita popanda mapulogalamu, pogwiritsa ntchito makonda operekedwa ndi dongosolo.

Dongosolo lowunikira la Zabbix limapereka njira zingapo zosonkhanitsira ma metric kuchokera pamakina owunikira. Izi zitha kuchitika potsatira mavoti omwe amawunikidwa mwachindunji, kapena njira yaukadaulo yotumizira deta ku seva kudzera pa zabbix_sender ya wolandirayo, kuphatikiza njira zokhazikitsira magawo otsika opezeka. Kuti tithane ndi vuto lathu, njira yowunikira makamu mwachindunji ndi seva yapakati ndiyoyenera, chifukwa izi zimakuthandizani kuti mukhale ndi mphamvu zokwanira zopezera ma metrics ndikuwonetsetsa kuti mumagwiritsa ntchito seti imodzi ya zoikamo/zolemba popanda kufunikira kuti muwagawire kwa wolandila aliyense wowunika.

Monga "mitu yoyesera" pakuwongolera ndikukhazikitsa dongosolo, timagwiritsa ntchito tsamba la WMS pakuwongolera kuvomereza:

  1. Magalimoto olandirira alendo, onse omwe afika: Magalimoto onse okhala ndi ziphaso zanthawiyo "- maola 72 kuchokera pano" - SQL query identifier: getCars.
  2. Mbiri yamagalimoto onse: Magalimoto onse omwe amafika mkati mwa maola 72 - SQL query identifier: carsHistory.
  3. Magalimoto okonzedwa kuti avomerezedwe: Makhalidwe a magalimoto onse omwe afika mu "Scheduled", nthawi "- 24 hours" ndi "+24 hours" kuyambira nthawi yamakono - SQL query identifier: magalimotoMu.

Chifukwa chake, titatha kusankha njira zogwirira ntchito zosungiramo katundu, tikonzekera mafunso a SQL a database ya WMS. Kuti mufunse mafunso, ndikofunikira kuti musagwiritse ntchito nkhokwe yayikulu, koma kopi yake "yotentha" - standby.

Timalumikiza ku standby Oracle DBMS kuti tilandire deta. IP adilesi yolumikizira ku database yoyeserera 192.168.1.106. Timasunga magawo olumikizirana pa seva ya Zabbix mu TNSNames.ORA ya chikwatu chogwira ntchito cha 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)
    )
  )

Izi zidzatilola kuyendetsa mafunso a SQL kwa wolandira aliyense kudzera pa EZconnect, kutchula dzina lolowera / mawu achinsinsi ndi dzina la database:

# sql znew/Zabmon1@WH1_1

Timasunga mafunso okonzekera a SQL mufoda yogwira ntchito pa seva ya Zabbix:

/etc/zabbix/sql

ndi kulola mwayi wogwiritsa ntchito zabbix pa seva yathu:

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

Mafayilo okhala ndi zopempha amalandira dzina lapadera loti muwapeze kuchokera pa seva ya Zabbix. Funso lililonse la database kudzera pa SQLcl limatibwezera magawo angapo. Poganizira za Zabbix, zomwe zimatha kugwiritsa ntchito metric imodzi yokha pa pempho lililonse, tidzagwiritsa ntchito zolemba zina kuti tifotokoze zotsatira za mafunso kukhala ma metric omwewo.

Tiyeni tikonzekere script yayikulu, tiyeni tiyitchule wh_Metrics.sh, kuti tiyitane funso la SQL ku database, sungani zotsatira ndikubweza ukadaulo waukadaulo wokhala ndi zisonyezo za kupambana kwa kubweza deta:

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

Timayika fayilo yomalizidwa ndi script mufoda kuti tisunge zolemba zakunja molingana ndi zosintha za Zabbix-proxy (mwachikhazikitso - /usr/local/share/zabbix/externalscripts).

Chidziwitso cha database yomwe script idzalandira zotsatira idzaperekedwa ngati script parameter. ID ya Nawonsoweya iyenera kufanana ndi mzere wa zoikamo mu fayilo ya TNSNames.ORA.

Zotsatira za SQL query call zimasungidwa mu fayilo ngati mon_base_id_main.log pomwe base_id = Chizindikiritso cha database chidalandiridwa ngati script parameter. Kugawika kwa fayilo yotsatila ndi zozindikiritsa za database kumaperekedwa ngati zopempha kuchokera ku seva kupita kumasamba angapo nthawi imodzi. Funso limabweretsanso mindandanda yamitundu iwiri.

Zolemba zotsatirazi, tiyeni tizitcha getMetrica.sh, ndizofunika kuti mupeze metric yodziwika kuchokera pafayilo ndi zotsatira za pempho:

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

Tsopano takonzeka kukonza Zabbix ndikuyamba kuyang'anira zizindikiro za njira zolandirira nyumba yosungiramo katundu.

Wothandizira Zabbix amayikidwa ndikukonzedwa pa node iliyonse ya database.

Pa seva yayikulu timatanthauzira ma seva onse okhala ndi Zabbix proxy. Pazokonda, pitani kunjira iyi:

Ulamuliro → Woyimira → Pangani woyimira

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Timatanthauzira makamu oyendetsedwa:

Zokonda → Hosts → Pangani host host

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Dzina la olandila liyenera kufanana ndi dzina la olandila lomwe lafotokozedwa mufayilo yosinthira wothandizira.

Timafotokozera gulu la node, komanso adilesi ya IP kapena dzina la DNS la node yokhala ndi database.

Timapanga ma metric ndikufotokozera zomwe ali nazo:

Zokonda → Node → 'node name' → Zinthu Zazidziwitso> Pangani Chidziwitso

1) Pangani metric yayikulu kuti mufunse magawo onse kuchokera ku database

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Timayika dzina lachidziwitso cha data, ndikuwonetsa mtundu wa "Kutsimikizira Kwakunja". M'munda wa "Key", timafotokozera script yomwe timadutsamo monga magawo dzina la database ya Oracle, dzina la funso la sql, lolowera ndi mawu achinsinsi kuti mulumikizane ndi database. Khazikitsani nthawi yosinthira mafunso kukhala mphindi 5 (masekondi 300).

2) Pangani ma metric otsala amtundu uliwonse wagalimoto. Miyezo yama metrics awa idzapangidwa kutengera zotsatira zowunika ma metric akulu.

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Timayika dzina lachidziwitso cha data, ndikuwonetsa mtundu wa "Kutsimikizira Kwakunja". Mugawo la "Key", timafotokozera script yomwe timadutsamo monga magawo dzina la database ya Oracle ndi code code yomwe mtengo wake tikufuna kuutsatira. Timayika nthawi yosinthira mafunso kukhala masekondi 10 kutalika kuposa metric yayikulu (masekondi 310) kuti zotsatira zikhale ndi nthawi yoti zilembedwe ku fayilo.

Kuti mupeze ma metric molondola, dongosolo lomwe macheke amayatsidwa ndi lofunikira. Pofuna kupewa mikangano polandira deta, choyamba timatsegula metric yayikulu GetCarsByStatus poyimba script - wh_Metrics.sh.

Zokonda → Node → 'dzina la mfundo' → Zinthu za data → Zosefera "Zofufuza zakunja". Lembani cheke chofunikira ndikudina "Yambitsani".

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Kenako, timayatsa ma metric otsala mu ntchito imodzi, kuwasankha onse pamodzi:

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Tsopano Zabbix wayamba kusonkhanitsa ma metric a bizinesi yosungiramo katundu.

M'nkhani zotsatirazi, tiyang'anitsitsa kulumikiza Grafana ndikupanga ma dashboards a chidziwitso cha ntchito zosungiramo zinthu zamagulu osiyanasiyana a ogwiritsa ntchito. Komanso kutengera Grafana, kuyang'anira zopotoka m'malo osungiramo katundu kumayendetsedwa ndipo, kutengera malire ndi kubwerezabwereza kwa zolakwika, kulembetsa zochitika mu dongosolo la malo osungiramo zinthu zosungiramo katundu kudzera pa API kapena kutumiza zidziwitso kwa manejala ndi imelo.

DIY: momwe timasinthira kuyang'anira nyumba yosungiramo zinthu

Source: www.habr.com

Kuwonjezera ndemanga