Umlando wenkinga
Izinkampani ezincane, ngakolunye uhlangothi, zidinga ukuqapha izinga eliphezulu lengqalasizinda yazo (ikakhulukazi uma kubhekwa i-virtualization esabalele), ngakolunye uhlangothi, kunzima ngokwezimali ukuthi bathenge imishini emisha. Izinkinga zeseva/zezingxenyekazi zekhompuyutha nazo zivamile: ngokuvamile kukhona amaseva ombhoshongo angu-1-3 eduze kwezindawo zokusebenza zabasebenzisi noma ku-niche/closet encane.
Kulula ukusebenzisa umhlangano osewenziwe ngomumo (ukusabalalisa), odinga nje ukuwulayisha ekhadini le-microSD bese uwufaka kukhompuyutha evamile yebhodi elilodwa (imindeni ye-beaglebone, i-raspberry pi kanye ne-orange pi, i-asus tinker board). Ngaphezu kwalokho, imishini enjalo ayibizi futhi ingafakwa noma kuphi.
Ukwakheka kwenkinga
Ngezindlela eziningi, iphrojekthi ithuthukiswe njengohlobo lomsebenzi waselabhorethri okungenzeka ukuthi kusetshenziswe imiphumela.
I-Zabbix ikhethwe njengohlelo lokuqapha ngoba iwuhlelo olunamandla, olukhululekile futhi olubhalwe kahle.
Udaba ngeplathifomu yehadiwe selubucayi.Ukubeka umshini ohlukile ngaphansi kokuqashwa nakho akusona isixazululo esihle kakhulu - kungaba kuyabiza ukuthenga imishini emisha, noma ukubheka imishini emidala + ezinkampanini ezincane kuba nezinkinga ezijwayelekile ngeseva/ hardware.
Ukusebenzisa i-buildroot build system ikuvumela ukuthi udale izixazululo ezikhethekile ezingase zisetshenziswe abasebenzi abanolwazi oluncane lwezinhlelo zokusebenza ze-Linux. Lolu hlelo lunobungane kwabaqalayo, kodwa ngesikhathi esifanayo lunikeza amathuba amaningi okwenza ngokwezifiso ezandleni zonjiniyela onolwazi. Ilungele ukuxazulula inkinga yokuqapha okungabizi, kodwa okusebenzayo ngokugcwele kwengqalasizinda ye-IT, enezidingo ezincane zokuqeqeshwa kwabasebenzi abayisebenzisayo.
Izinyathelo zesixazululo
Kunqunywe ukuthi kwakhiwe i-firmware ekuqaleni ukuze i-x86_64 isebenze ku-qemu, njengoba lesi kuyisixazululo esilula nesisheshayo sokususa iphutha. Bese uyithumela kukhompyutha yebhodi elilodwa lengalo (ngithande ibhodi le-asus tinker).
I-buildroot ikhethwe njengohlelo lokwakha. Ekuqaleni, ayinayo iphakheji ye-zabbix, ngakho-ke kwakudingeka ifakwe.Kube nezinkinga zendawo yaseRussia, ezaxazululwa ngokusebenzisa ama-patches afanelekile (qaphela: ezinguqulweni ezintsha ze-buildroot, lawa ma-patches awasadingeki).
Ukuthwala iphakheji ye-zabbix ngokwayo kuzochazwa esihlokweni esihlukile.
Njengoba yonke into kufanele isebenze njenge-firmware (isithombe sohlelo esingaguquki + amafayela wokucushwa abuyiselekayo/isizindalwazi), bekudingeka ukuthi ubhale izinhloso zakho ze-systemd, izinsizakalo nezibali-sikhathi (okuhlosiwe, isevisi, isibali sikhathi).
Kwanqunywa ukuhlukanisa imidiya ibe izigaba ezi-2 - isigaba esinamafayela ohlelo kanye nesigaba esinezilungiselelo ezishintshayo kanye namafayela esizindalwazi se-zabbix.
Ukuxazulula izinkinga ezihlobene nesizindalwazi kuvele kwaba nzima kakhulu. Bengingafuni ukuyibeka ngqo kwabezindaba. Ngesikhathi esifanayo, usayizi wesizindalwazi ungafinyelela usayizi oweqa usayizi we-ramdisk engenzeka. Ngakho-ke, kwakhethwa isisombululo sokuyekethisa: i-database itholakala esigabeni sesibili sekhadi le-SD (amakhadi e-SLC yanamuhla anemijikelezo yokubhala efika ku-30), kodwa kunesilungiselelo esivumela ukusetshenziswa kwemidiya yangaphandle (isibonelo, i-usb- hdd).
Ukuqapha izinga lokushisa kwasetshenziswa ngedivayisi ye-RODOS-5. Yebo, ungasebenzisa i-Dallas 1820 ngokuqondile, kodwa ibishesha futhi kulula ukuxhuma i-USB.
I-grub86 ikhethwe njenge-bootloader ye-x64_2. Bekudingeka ukuthi kubhalwe ukulungiselelwa okuncane ukuze kuqalwe.
Ngemva kokulungisa iphutha ku-qemu, yathuthelwa ebhodini le-asus tinker. Isakhiwo sembondela yami ekuqaleni sasihloselwe ukuba sibe inkundla ephambene - ukwaba izilungiselelo eziqondile ebhodini ngalinye (ibhodi le-defconfig, i-bootloader, ekhiqiza isithombe nge-partition yesistimu) kanye nokufana okuphezulu ekwenzeni uhlelo lwefayela ngokwezifiso/ukudala isithombe ngedatha. Ngenxa yokulungiselela okunjalo, ukuthuthwa kwahamba ngokushesha.
Kunconywa kakhulu ukufunda izindatshana eziyisingeniso:
Uhlangana kanjani
Ngemuva kokuhlanganisa indawo yokugcina, kutholwa ukwakheka kwefayela okulandelayo:
[alexey@comp monitor]$ ls -1
buildroot-2019.05.tar.gz
overlay
README.md
run_me.sh
buildroot-2019.05.tar.gz - ingobo yomlando ehlanzekile ye-buildroot
imbondela uhla lwemibhalo lwami nge lwangaphandle-sihlahla. Kulapho konke okudingayo ukwakha i-firmware usebenzisa i-buildroot kugcinwa khona.
README.md - incazelo yephrojekthi kanye nemanuwali ngesiNgisi.
run_me.sh iskripthi esilungiselela uhlelo lokwakha. Inweba i-builroot kusuka kungobo yomlando, inamathisele imbondela kuyo (ngendlela yesihlahla sangaphandle) futhi ikuvumela ukuthi ukhethe ibhodi eliqondiwe lokwakha.
[0] my_asus_tinker_defconfig
[1] my_beaglebone_defconfig
[2] x86_64_defconfig
Select defconfig, press A for abort. Default [0]
Ngemuva kwalokhu, vele uye kumkhombandlela we-buildroot-2019.05 bese usebenzisa umyalo wokwenza.
Uma ukwakhiwa sekuqediwe, yonke imiphumela yokwakha izoba kuhla lwemibhalo lokuphumayo/lezithombe:
[alexey@comp buildroot-2019.05]$ ls -1 output/images/
boot.img
boot.vfat
bzImage
data
data.img
external.img
external.qcow2
grub-eltorito.img
grub.img
intel-ucode
monitor-0.9-beta.tar.gz
qemu.qcow2
rootfs.cpio
sdcard.img
sys
update
Amafayela adingekayo:
- sdcard.img - isithombe semidiya sokuqoshwa ekhadini le-SD (nge-dd noma irufus ngaphansi kwama-wibdows).
- qemu.qcow2 - isithombe semidiya esizosebenza ku-qemu.
- external.qcow2 - isithombe semidiya yangaphandle sesizindalwazi
- monitor-0.9-beta.tar.gz - ingobo yomlando ukuze ibuyekezwe ngesixhumi esibonakalayo sewebhu
Isizukulwane sabaqondisi
Akufanelekile ukubhala imiyalelo efanayo izikhathi eziningana. Futhi into enengqondo kakhulu ukuyibhala kanye ku-markdown, bese uyiguqulela ku-PDF ukuze uyilande kanye ne-html yesixhumi esibonakalayo sewebhu. Lokhu kungenzeka ngenxa yephakheji ye-pandoc.
Ngesikhathi esifanayo, wonke lawa mafayela adinga ukukhiqizwa ngaphambi kokuba isithombe sohlelo sihlanganiswe; leyo mibhalo yangemuva kokwakhiwa ayisasebenzi. Ngakho-ke, isizukulwane senziwa ngendlela yephakheji yezincwadi. Ungabheka imbondela/iphakheji/amanuwali.
Ifayela le-manuals.mk ( elenza wonke umsebenzi)
################################################################################
#
# manuals
#
################################################################################
MANUALS_VERSION:= 1.0.0
MANUALS_SITE:= ${BR2_EXTERNAL_monitorOverlay_PATH}/package/manuals
MANUALS_SITE_METHOD:=local
define MANUALS_BUILD_CMDS
pandoc -s -o ${TARGET_DIR}/var/www/manual_en.pdf ${BR2_EXTERNAL_monitorOverlay_PATH}/../README.md
pandoc -f markdown -t html -o ${TARGET_DIR}/var/www/manual_en.html ${BR2_EXTERNAL_monitorOverlay_PATH}/../README.md
endef
$(eval $(generic-package))
i-systemd
Umhlaba weLinux uhamba ngenkuthalo ku-systemd, futhi bekufanele ngikwenze futhi.
Enye yezinto ezintsha ezijabulisayo ubukhona bezibali sikhathi. Ngokuvamile, isihloko esihlukile sibhalwa ngabo (futhi hhayi ngabo kuphela), kodwa ngizokutshela kafushane.
Kunezenzo okufanele zenziwe ngezikhathi ezithile. Bengidinga ukusebenzisa i-logrotate ukusula izingodo ze-lighttpd ne-php-fpm. Into evamile kungaba ukubhala imiyalo ku-cron, kodwa nginqume ukusebenzisa i-systemd monotonic timer. Ngakho-ke i-logrotate isebenza ngesikhathi esiqinile.
Yiqiniso, kungenzeka ukudala izikhathi ezivutha ngezinsuku ezithile, kodwa angizange ngikudingile lokhu.
Isibonelo sesikhathi:
- Ifayela lesibali sikhathi
[Unit] Description=RODOS temp daemon timer
OnUnitActiveSec=1min [Faka] WantedBy=timers.target
- Файл сервиса, вызываемого таймером:
```bash
[Unit]
Description=RODOS temp daemon
[Service]
ExecStart=/usr/bin/rodos.sh
Amabhodi asekelwe
Ibhodi le-Asus tinker ibhodi eliyinhloko lapho konke kufanele kusebenze khona. Kukhethwe njengokungabizi futhi kunamandla kakhulu.
I-Beaglebone emnyama ibhodi lokuqala lapho ukusebenza kwahlolwa khona (ngesikhathi kukhethwa ibhodi elinamandla).
I-Qemu x86_64 - isetshenziselwa ukuthuthukiswa kokulungisa iphutha.
Isebenza kanjani
Ekuqaleni, ukubuyiselwa kwezinyathelo ezimbili kwenzeka:
- usebenzisa i-setting_restore script (ngesevisi). Ibuyisela izilungiselelo zesistimu eziyisisekelo - indawo yesikhathi, indawo, izilungiselelo zenethiwekhi, njll.
- ukusebenzisa iskripthi sokulungisa (ngesevisi) - lapha i-zabbix kanye ne-database ilungiswa, i-IP iphuma kukhonsoli.
Uma uqala ukuyiqala, usayizi wengxenye yesibili yekhadi le-SD uyanqunywa. Uma kusekhona indawo engabelwe, imidiya ihlukaniswa kabusha, futhi isigaba sedatha sithatha yonke indawo yamahhala. Lokhu kwenziwa ukuze kwehliswe usayizi wesithombe sokufaka (sdcard.img). Ukwengeza, inkomba yokusebenza ye-postgresql yenziwa kuleli phuzu. Kungakho ukwethulwa kokuqala ngenkampani yenethiwekhi entsha kuzoba isikhathi eside kunalandelayo.
Lapho ixhuma idrayivu yangaphandle, ngesikhathi iqalisa icinga idrayivu yamahhala bese iyifometha ibe yi-ext4 ngelebula yangaphandle.
Qaphela! Lapho uxhuma idrayivu yangaphandle (kanye nokunqamula noma ukuyishintsha), udinga ukwenza isipele futhi ubuyisele izilungiselelo!
Idivayisi ye-RODOS 5 isetshenziselwa ukuqapha izinga lokushisa. Umkhiqizi uhlinzeka ngekhodi yomthombo yokusetshenziswa kwayo ekusebenzeni nedivayisi. Uma isistimu ivuliwe, isibali sikhathi se-rodos siyaqala, esisebenzisa lesi sisetshenziswa kanye ngomzuzu. Izinga lokushisa lamanje libhalwe kufayela /tmp/rodos_current_temp, ngemva kwalokho i-zabbix ingakwazi ukuqapha leli fayela njengenzwa.
Imidiya yokumisa yokumisa ifakwe kuhla lwemibhalo/yedatha.
Lapho uqala uhlelo futhi ululungiselela ukusebenza, umyalezo olandelayo uvela kukhonsoli:
System starting, please wait
Ngemva kokuqeda umsebenzi wokulungiselela, izoshintshela ekuboniseni ikheli le-IP:
current ip 192.168.1.32
Ready to work
Isetha i-zabbix yokuqapha izinga lokushisa
Ukuqapha izinga lokushisa, vele uthathe izinyathelo ezi-2:
- xhuma idivayisi ye-RODOS embobeni ye-USB
- dala into yedatha ku-zabbix
Vula i-zabbix web interface:
- Vula ingxenye ethi Ukucushwa → Abasingathi
- Chofoza Izinto ezikulayini wethu we-zabbix server
- Chofoza okuthi Dala into
Faka idatha elandelayo:
- igama - ngokubona kwakho (ngokwesibonelo, i-serverRoomTemp )
- Uhlobo - i-ejenti ye-zabbix
- Ukhiye - Rodos
- Uhlobo-inombolo
- Amayunithi - C
- Isikhathi sokugcina umlando — isikhathi sokugcina umlando. ushiye izinsuku ezingu-10
- Isikhathi sokulondoloza esithrendayo—isikhathi sokugcina sokuguquguquka kwezinguquko. Kusele izinsuku ezingama-30
- Uhlelo olusha - iseva Room Temp
Bese ucindezela inkinobho ethi ADD.
Phatha izilungiselelo usebenzisa isixhumi esibonakalayo sewebhu
Isixhumi esibonakalayo sewebhu sibhalwe nge-PHP. Kukhona imisebenzi esemqoka:
- buka isimo sedivayisi
- ukushintsha izilungiselelo zenethiwekhi
- ukushintsha iphasiwedi yomsebenzisi
- ukukhetha indawo yesikhathi
- isipele/buyisela/ukusetha kabusha kwasefekthri
- ikhono lokuxhuma idrayivu yangaphandle
- Ukuvuselelwa kwesistimu
Ukungena ngemvume kusixhumi esibonakalayo sewebhu kuvikelwe ngephasiwedi. Ikhasi lokuqala - imanuwali.
Ikheli le-interface ye-Zabbix: ${ip/dns}/zabbix
Ikheli lokusebenzelana kokuphatha: ${ip/dns}/manage
Ukugijima kuqemu
qemu-system-x86_64 -smp 4 -m 4026M -vumela-kvm -umshini q35,accel=kvm -device intel-iommu -cpu host -net nic -net bridge,br=bridge0 -device virtio-scsi-pci,id= scsi0 -drive file=output/images/qemu.qcow2,format=qcow2,aio=threads -device virtio-scsi-pci,id=scsi0 -drive file=output/images/external.qcow2,format=qcow2,aio=threads
Lo myalo uzoqala uhlelo olunama-cores angu-4, i-RAM engu-2048, i-KVM inikwe amandla, ikhadi lenethiwekhi ku-bridge0 namadiski amabili: eyodwa yesistimu neyodwa yangaphandle ye-postgresql.
Izithombe zingaguqulwa futhi zisebenze ku-Virtualbox:
qemu-img convert -f qcow2 qemu.qcow2 -O vdi qcow2.vdi
qemu-img convert -f qcow2 external.qcow2 -O vdi external.vdi
Bese uzingenise ku-virtualbox bese uxhuma nge-sata.
isiphetho
Kulolu hlelo, ngaba nentshisekelo yokwenza umkhiqizo olungele ukusetshenziswa - onesixhumi esibonakalayo esingesihle kakhulu (angithandi ukuwabhala), kodwa osebenzayo futhi okulula ukuwulungisa.
Umzamo wokugcina wokufaka i-zabbix-appliance ku-KVM ubonise ukuthi lesi sinyathelo sasilungile (ngemuva kokuqedwa kokufakwa, isistimu ayiqali). Mhlawumbe kukhona engikwenzayo okungalungile 😉
Source: www.habr.com