Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server

Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server

Tantaran'ny olana

Ny orinasa madinika, etsy ankilany, dia mila fanaraha-maso avo lenta amin'ny fotodrafitrasany (indrindra amin'ny virtoaly miparitaka be), etsy ankilany, sarotra ara-bola ny mividy fitaovana vaovao. Matetika koa ny olan'ny mpizara/fitaovana: matetika misy mpizara tilikambo 1-3 eo akaikin'ny toeram-piasana mpampiasa na ao amin'ny toeram-pisakafoanana kely.

Mora kokoa ny mampiasa fivoriambe efa vita (fizarana), izay mila ampidirinao amin'ny karatra microSD fotsiny ary ampidiro ao anaty solosaina tokana tokana (beaglebone, raspberry pi ary fianakaviana pi orange, asus tinker board). Ankoatra izany, ny fitaovana toy izany dia tsy lafo ary azo apetraka na aiza na aiza.

Fanambarana olana

Amin'ny lafiny maro, ny tetikasa dia novolavolaina ho karazana asa laboratoara ahafahana mampihatra ny valiny.

Zabbix dia nofidina ho rafitra fanaraha-maso satria rafitra matanjaka, maimaim-poana ary voarakitra tsara.

Ny olana amin'ny sehatry ny hardware dia lasa manjavozavo. Tsy vahaolana tsara ihany koa ny fametrahana milina misaraka eo ambany fanaraha-maso - na lafo ny mividy fitaovana vaovao, na mitady fitaovana taloha + any amin'ny orinasa madinika dia misy olana matetika amin'ny server/ fitaovana.

Ny fampiasana ny rafitra buildroot dia ahafahanao mamorona vahaolana manokana izay azon'ny mpiasa manana fahalalana kely momba ny rafitra fandidiana Linux. Ity rafitra ity dia sariaka ho an'ireo vao manomboka, saingy amin'ny fotoana iray ihany dia manome fahafaha-manao fanamboarana be dia be eo am-pelatanan'ny mpamorona za-draharaha. Izy io dia tonga lafatra amin'ny famahana ny olana amin'ny fanaraha-maso tsy misy vidiny, fa miasa tanteraka amin'ny fotodrafitrasa IT, miaraka amin'ny fepetra kely indrindra amin'ny fanofanana ny mpiasa miasa azy.

Dingana vahaolana

Tany am-boalohany dia nanapa-kevitra ny hamorona firmware ho an'ny x86_64 hihazakazaka amin'ny qemu, satria ity dia vahaolana mety sy haingana amin'ny debugging. Avy eo dia ampidiro amin'ny ordinatera tokana tokana (tiako ny board tinker asus).

buildroot dia nofantenana ho rafitra fananganana. Tany am-boalohany dia tsy ampy ny fonosana zabbix, noho izany dia tsy maintsy nampidirina izy.Nisy olana tamin'ny faritra Rosiana, izay voavaha tamin'ny fampiharana ireo patch mety (fanamarihana: amin'ny dikan-teny vaovao amin'ny buildroot dia tsy ilaina intsony ireo patch ireo).

Ny fandefasana ny fonosana zabbix dia holazaina amin'ny lahatsoratra misaraka.

Koa satria ny zava-drehetra dia tokony hiasa toy ny firmware (sary rafitra tsy azo ovaina + rakitra fikirakirana / data base) dia ilaina ny manoratra ny tanjonao manokana, serivisy ary timer (kendrena, serivisy, fameram-potoana).

Tapa-kevitra ny hizara ny haino aman-jery ho fizarana 2 - fizarana misy rakitra rafitra sy fizarana misy config azo ovaina sy rakitra tahiry zabbix.

Ny famahana olana mifandraika amin'ny angon-drakitra dia nanjary sarotra kokoa. Tsy te hametraka izany mivantana amin'ny haino aman-jery aho. Mandritra izany fotoana izany, ny haben'ny angon-drakitra dia mety hahatratra habe mihoatra ny haben'ny ramdisk mety. Noho izany, ny vahaolana marimaritra iraisana dia nofidina: ny angon-drakitra dia hita eo amin'ny fizarana faharoa amin'ny karatra SD (ny karatra SLC maoderina dia manana tsingerina fanoratana hatramin'ny 30), saingy misy toerana ahafahana mampiasa media ivelany (ohatra, usb- hdd).

Ny fanaraha-maso ny mari-pana dia nampiharina tamin'ny alalan'ny fitaovana RODOS-5. Mazava ho azy fa afaka mampiasa mivantana ny Dallas 1820 ianao, saingy haingana sy mora kokoa ny nampiditra USB.

grub86 dia voafidy ho bootloader ho an'ny x64_2. Nilaina ny nanoratra config kely indrindra hanombohana azy.

Taorian'ny debugging tamin'ny qemu dia nafindra tany amin'ny birao tinker asus. Ny firafitry ny overlay nataoko tamin'ny voalohany dia natao ho cross-platform - manome configs manokana ho an'ny board tsirairay (birao defconfig, bootloader, mamorona sary miaraka amin'ny fizarazarana rafitra) ary ny fitoviana ambony indrindra amin'ny fampifanarahana ny rafi-drakitra / famoronana sary miaraka amin'ny data. Noho ny fiomanana toy izany dia nandeha haingana ny fandefasana entana.

Tena ilaina ny mamaky ny lahatsoratra fampidirana:
https://habr.com/ru/post/448638/
https://habr.com/ru/post/449348/

Ahoana ny fanangonana?

Ny tetikasa dia voatahiry ao amin'ny github
Aorian'ny fametahana ny tahiry dia azo ny firafitry ny rakitra manaraka:

[alexey@comp monitor]$ ls -1
buildroot-2019.05.tar.gz
overlay
README.md
run_me.sh

buildroot-2019.05.tar.gz - arsiva buildroot madio
overlay no lahatahirako miaraka amin'ny hazo ivelany. Eto no misy ny zavatra rehetra ilainao hanamboarana ny firmware amin'ny fampiasana buildroot.
README.md - famaritana ny tetikasa sy ny boky fampianarana amin'ny teny anglisy.
run_me.sh dia script manomana ny rafitra fananganana. Manitatra buildroot avy amin'ny arisiva, mametaka overlay aminy (amin'ny alΓ lan'ny mekanika hazo ivelany) ary mamela anao hisafidy ny birao kendrena ho an'ny fananganana.

[0] my_asus_tinker_defconfig
[1] my_beaglebone_defconfig
[2] x86_64_defconfig
Select defconfig, press A for abort. Default [0]

Aorian'izany dia mandehana fotsiny any amin'ny lahatahiry buildroot-2019.05 ary tanteraho ny baiko make.
Rehefa vita ny fananganana dia ho ao amin'ny lahatahiry output/images ny valin'ny fananganana rehetra:

[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

Ireo rakitra ilaina:

  • sdcard.img - sarin'ny haino aman-jery ho firaketana amin'ny karatra SD (amin'ny alΓ lan'ny dd na rufus eo ambanin'ny wibdows).
  • qemu.qcow2 - sary fampahalalam-baovao mandeha amin'ny qemu.
  • external.qcow2 - sary media ivelany ho an'ny angon-drakitra
  • monitor-0.9-beta.tar.gz - arisiva ho an'ny fanavaozana amin'ny alΓ lan'ny interface Internet

Generation of Guides

Tsy ilaina ny manoratra toromarika mitovy imbetsaka. Ary ny tena lojika dia ny manoratra azy indray mandeha amin'ny marika, ary avy eo avadika ho PDF mba hisintonana sy html ho an'ny interface Internet. Azo atao izany noho ny fonosana pandoc.

Mandritra izany fotoana izany, ireo rakitra rehetra ireo dia mila amboarina alohan'ny hanangonana ny sarin'ny rafitra; efa tsy misy ilana azy ireo script post-build. Noho izany, ny taranaka dia atao amin'ny endrika fonosana boky fampianarana. Azonao atao ny mijery ny overlay/package/manual.

Ny rakitra manuals.mk (izay manao ny asa rehetra)

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

systemd

Ny tontolon'ny Linux dia mihetsika mavitrika amin'ny systemd, ary tsy maintsy nanao izany koa aho.
Ny iray amin'ireo fanavaozana mahafinaritra dia ny fisian'ny timer. Amin'ny ankapobeny, lahatsoratra mitokana no nosoratana momba azy ireo (ary tsy momba azy ireo ihany), fa holazaiko anao fohifohy.

Misy hetsika tsy maintsy atao tsindraindray. Mila mihazakazaka logrotate aho mba hanesorana ny loghttpd sy php-fpm. Ny zavatra mahazatra dia ny manoratra ny baiko amin'ny cron, saingy nanapa-kevitra ny hampiasa ny fameram-potoana monotonika systemd aho. Noho izany, ny logrotate dia mandeha amin'ny elanelana henjana.

Mazava ho azy fa azo atao ny mamorona timer izay mirehitra amin'ny daty sasany, saingy tsy nila izany aho.
Ohatra fameram-potoana:

  • File timer
    
    [Unit]
    Description=RODOS temp daemon timer

[Timer] OnBootSec=1min
OnUnitActiveSec=1min

[Install] WantedBy=timers.target

- Π€Π°ΠΉΠ» сСрвиса, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ:
```bash
[Unit]
Description=RODOS temp daemon

[Service]
ExecStart=/usr/bin/rodos.sh

Boards tohanana

Asus tinker board no birao lehibe tokony hiasana ny zava-drehetra. Voafantina ho tsy lafo ary tena mahery.

Beaglebone mainty no birao voalohany nanaovana fitiliana (nandritra ny fifantenana ny birao matanjaka kokoa).

Qemu x86_64 - ampiasaina amin'ny fampandrosoana ny debugging.

Ahoana ny fomba fiasany

Amin'ny fanombohana dia misy famerenana amin'ny laoniny roa dingana:

  • mihazakazaka ny script settings_restore (amin'ny alΓ lan'ny serivisy). Mamerina ny firafitry ny rafitra fototra izy io - faritry ny ora, toerana, firafitry ny tambajotra, sns.
  • mihazakazaka ny script manomana (amin'ny alΓ lan'ny serivisy) - eto zabbix sy ny angon-drakitra voaomana, ny IP dia mivoaka amin'ny console.

Rehefa manomboka izany ianao dia voafaritra ny haben'ny fizarana faharoa amin'ny karatra SD. Raha mbola misy toerana tsy voatokana, dia averina zaraina indray ny haino aman-jery, ary ny sehatra angon-drakitra dia maka ny habaka malalaka rehetra. Izany dia atao mba hampihenana ny haben'ny sary fametrahana (sdcard.img). Ankoatra izany, ny lahatahiry miasa postgresql dia noforonina amin'ity fotoana ity. Izany no mahatonga ny fandefasana voalohany miaraka amin'ny mpitatitra vaovao ho lava kokoa noho ny manaraka.

Rehefa mampifandray fiara ivelany, amin'ny fotoana fanombohana dia mikaroka fiara maimaim-poana izy ary manamboatra azy ho ext4 miaraka amin'ny marika ivelany.

Attention! Rehefa mampifandray fiara ivelany (ary koa manapaka na manolo azy) dia mila manao backup ianao ary mamerina ny fanovana!

Ny fitaovana RODOS 5 dia ampiasaina amin'ny fanaraha-maso ny mari-pana. Rehefa mandeha ny rafitra dia manomboka ny fameram-potoana rodos, izay mandeha indray mandeha isan-minitra io fitaovana io. Ny mari-pana amin'izao fotoana izao dia voasoratra ao amin'ny rakitra /tmp/rodos_current_temp, aorian'izay zabbix dia afaka manara-maso ity rakitra ity ho sensor.

Ny haino aman-jery fitahirizana fanamafisana dia napetraka ao amin'ny lahatahiry / data.

Rehefa manomboka ny rafitra sy manomana azy ho amin'ny fandidiana, ity hafatra manaraka ity dia miseho ao amin'ny console:

System starting, please wait

Rehefa vita ny asa fanomanana dia hiova ho fampisehoana ny adiresy IP:

current ip 192.168.1.32
Ready to work

Fametrahana zabbix ho fanaraha-maso ny mari-pana

Mba hanaraha-maso ny maripana dia manaova dingana 2 fotsiny:

  • mampifandray ny fitaovana RODOS amin'ny seranan-tsambo USB
  • mamorona singa data amin'ny zabbix

Sokafy ny zabbix web interface:

  • Sokafy ny fizarana Configuration β†’ Hosts
  • Kitiho ny singa ao amin'ny andalana amin'ny mpizara zabbix
  • Tsindrio ny Create item

Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server

Ampidiro ireto data manaraka ireto:

  • anarana - araka ny fanapahan-kevitrao (ohatra, serverRoomTemp )
  • Karazana - zabbix agent
  • Key - Rodos
  • Karazana isa
  • Units - C
  • Vanim-potoana fitehirizana tantara β€” vanim-potoana fitahirizana tantara. sisa 10 andro
  • Ny vanim-potoana fitehirizana fironana β€” vanim-potoana fitahirizana ho an'ny dinamikan'ny fiovana. 30 andro sisa
  • Fampiharana vaovao - Server Room Temp

Ary tsindrio ny bokotra ADD.
Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server

Tantano ny fika amin'ny alΓ lan'ny interface interface

Ny interface web dia voasoratra amin'ny PHP. Misy asa lehibe:

  • jereo ny satan'ny fitaovana
  • manova ny firafitry ny tambajotra
    Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server
  • fanovana tenimiafina mpampiasa
  • fifantenana faritra
  • backup / famerenana / famerenan'ny orinasa
  • fahafahana mampifandray fiara ivelany
  • Fanavaozana ny rafitra
    Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server

Ny fidirana amin'ny interface web dia voaaro amin'ny tenimiafina. Pejy fanombohana - manual.

Adiresy interface tsara Zabbix: ${ip/dns}/zabbix
Adiresin'ny serasera fitantanana: ${ip/dns}/manage
Buildroot: Mamorona firmware cross-platform miaraka amin'ny zabbix-server

Hiverina any amin'ny qemu

qemu-system-x86_64 -smp 4 -m 4026M -enable-kvm -machine q35,accel=kvm -device intel-iommu -cpu host -net nic -net bridge,br=bridge0 -device virtio-scsi-pci,id= scsi0 -fichier drive=output/images/qemu.qcow2,format=qcow2,aio=threads -device virtio-scsi-pci,id=scsi0 -drive file=output/images/external.qcow2,format=qcow2,aio=threads

Ity baiko ity dia hanomboka rafitra misy cores 4, 2048 RAM, KVM afaka, karatra tambajotra amin'ny bridge0 ary kapila roa: ny iray ho an'ny rafitra ary ny iray ivelany ho an'ny postgresql.

Ny sary dia azo ovaina sy mandeha amin'ny Virtualbox:

qemu-img convert -f qcow2  qemu.qcow2 -O vdi qcow2.vdi
qemu-img convert -f qcow2  external.qcow2 -O vdi external.vdi

Avy eo ampidiro ao anaty boaty virtoaly izy ireo ary mifandray amin'ny sata.

famaranana

Tao anatin'izany dingana izany dia nanjary liana tamin'ny fanaovana vokatra efa vonona aho - miaraka amin'ny interface tsara tsy dia tsara loatra (tsy tiako ny manoratra azy ireo), fa iray izay miasa ary mora amboarina.

Ny fanandramana farany hametraka zabbix-fitaovana ao amin'ny KVM dia nampiseho fa marina io dingana io (rehefa vita ny fametrahana dia tsy manomboka ny rafitra). Sao dia misy tsy mety ataoko πŸ˜‰

fitaovana

https://buildroot.org/

Source: www.habr.com

Add a comment