[ZBXNEXT-8186] Build zabbix-proxy-sqlite3 docker image without using shared memory for MikroTik Created: 2023 Jan 01 Updated: 2024 Sep 21 Resolved: 2024 Feb 14 |
|
Status: | Closed |
Project: | ZABBIX FEATURE REQUESTS |
Component/s: | Proxy (P) |
Affects Version/s: | 6.0.12 |
Fix Version/s: | None |
Type: | New Feature Request | Priority: | Trivial |
Reporter: | Martin Vancl | Assignee: | Andris Zeila |
Resolution: | Fixed | Votes: | 2 |
Labels: | docker, mikrotik, proxy, routeros | ||
Remaining Estimate: | Not Specified | ||
Time Spent: | Not Specified | ||
Original Estimate: | Not Specified | ||
Environment: |
MikroTik RouterOS 7.6 |
Attachments: |
![]() |
Description |
Mikrotik in version 7 supports Docker. It would be great to run a zabbix proxy on a $79 router. I tried running "zabbix/zabbix-proxy-sqlite3:alpine-6.0-latest" docker image on router MikroTik hAP ac². The container starts without any problem but finally crashes with this error: "zabbix_proxy [2]: cannot create locks: cannot allocate shared memory for locks" I looked it up, and it's a MikroTik "bug/missing feature": https://forum.mikrotik.com/viewtopic.php?t=178342#p886791
Link to the official documentation: https://help.mikrotik.com/docs/display/ROS/Container Is it possible to create zabbix-proxy-sqlite3 docker image without using shared memory?
[mikrotik] > /disk/format-drive 0 file-system=ext4 partition-table=yes label=flashdrive formatted: 100% [mikrotik] > /disk/print Flags: M, r - RAID-MEMBER; p - PARTITION Columns: SLOT, MODEL, SERIAL, INTERFACE, NAME, FS, LABEL # SLOT MODEL SERIAL INTERFACE NAME FS LABEL 0 usb1 USB SanDisk 3.2Gen1 050.....7bd7 USB 2.10 480Mbps 1 Mp usb1-part1 disk3 ext4 flashdrive [mikrotik] > [mikrotik] > /interface/veth/add name=veth1 address=10.70.3.2/24 gateway=10.70.3.1 [mikrotik] > /interface/bridge/add name=dockers [mikrotik] > /ip/address/add address=10.70.3.1/24 interface=dockers [mikrotik] > /interface/bridge/port add bridge=dockers interface=veth1 [mikrotik] > /ip/firewall/nat/add chain=srcnat action=masquerade src-address=10.70.3.0/24 [mikrotik] > /container/config/set ram-high=32M [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_HOSTNAME value="mikrotik.example.net" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_SERVER_HOST value="zabbix.example.net" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_TIMEOUT value="15" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_STARTPOLLERS value="2" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_STARTTRAPPERS value="1" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_CONFIGFREQUENCY value="30" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_TLSPSKIDENTITY value="mikrotik.example.net" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_TLSPSKFILE value="/etc/zabbix/zabbix_proxy.psk" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_TLSCONNECT value="psk" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_TLSACCEPT value="psk" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_CACHESIZE value="2M" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_HISTORYCACHESIZE value="4M" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_HISTORYINDEXCACHESIZE value="2M" [mikrotik] > /container/envs/add name=zabbixproxy_envs key=ZBX_VMWARECACHESIZE value="1M" [mikrotik] > /container/mounts/add name=zabbixproxy_psk src=disk3/zabbixproxy.psk dst=/etc/zabbix/zabbix_proxy.psk [mikrotik] > /container/config/set registry-url=https://registry-1.docker.io tmpdir=disk3/pull [mikrotik] > /container/add remote-image="zabbix/zabbix-proxy-sqlite3:alpine-6.0-latest" interface=veth1 root-dir="disk3/zabbixproxy" mounts=zabbixproxy_psk envlist=zabbixproxy_envs hostname="mikrotik.example.net" [mikrotik] > /container/print 0 name="40ecd139-4104-46b4-8daf-05824001ef89" tag="zabbix/zabbix-proxy-sqlite3:alpine-6.0-latest" os="linux" arch="arm" interface=veth1 envlist="zabbixproxy_envs" root-dir=disk3/zabbixproxy mounts=zabbixproxy_psk dns="" hostname="mikrotik.example.net" workdir="/var/lib/zabbix" logging=yes status=stopped [mikrotik] >
|
Comments |
Comment by Jay Motetris [ 2023 Feb 12 ] |
The WISP industry would love Zabbix-Proxy to be able to run in Mikrotik Container. I get the same error when running the container - "zabbix_proxy [2]: cannot create locks: cannot allocate shared memory for locks" |
Comment by Martin Vancl [ 2023 Nov 18 ] |
I have great news! Running zabbix proxy 6.0.1 without encryption on MikroTik hAP ac²: I have problem with new images, so I used 6.0.1. I have problem with encryption too. /disk/format-drive 0 file-system=ext4 partition-table=yes label=flashdrive /disk/print Flags: B - BLOCK-DEVICE; M - MOUNTED; p - PARTITION Columns: SLOT, MODEL, SERIAL, INTERFACE, SIZE, FREE, FS # SLOT MODEL SERIAL INTERFACE SIZE FREE FS 0 B usb1 USB SanDisk 3.2Gen1 05019xxxxx7bd7 USB 2.10 480Mbps 15 376 318 464 1 BMp usb1-part1 @512-15'376'318'464 15 376 317 952 15 187 513 344 ext4 /interface/veth/add name=veth1 address=10.70.3.2/24 gateway=10.70.3.1 /interface/bridge/add name=dockers /ip/address/add address=10.70.3.1/24 interface=dockers /interface/bridge/port add bridge=dockers interface=veth1 /ip/firewall/nat/add chain=srcnat action=masquerade src-address=10.70.3.0/24 /container/envs/add name=zabbixproxy_envs key=ZBX_HOSTNAME value="mikrotik.test.cz" /container/envs/add name=zabbixproxy_envs key=ZBX_SERVER_HOST value="zabbix.test.net" /container/envs/add name=zabbixproxy_envs key=ZBX_TIMEOUT value="15" /container/envs/add name=zabbixproxy_envs key=ZBX_STARTPOLLERS value="2" /container/envs/add name=zabbixproxy_envs key=ZBX_STARTTRAPPERS value="1" /container/envs/add name=zabbixproxy_envs key=ZBX_CONFIGFREQUENCY value="30" /container/envs/add name=zabbixproxy_envs key=ZBX_CACHESIZE value="2M" /container/envs/add name=zabbixproxy_envs key=ZBX_HISTORYCACHESIZE value="4M" /container/envs/add name=zabbixproxy_envs key=ZBX_HISTORYINDEXCACHESIZE value="2M" /container/envs/add name=zabbixproxy_envs key=ZBX_VMWARECACHESIZE value="1M" /container/config/set registry-url=https://registry-1.docker.io tmpdir=disk3/pull /container/config/set ram-high=32M /container/add remote-image="zabbix/zabbix-proxy-sqlite3:alpine-6.0.1" interface=veth1 root-dir="disk3/zabbixproxy" envlist=zabbixproxy_envs hostname="mikrotik.test.cz" logging=yes status=stopped /container/set 0 logging=yes /container/start 0 |
Comment by Martin Vancl [ 2024 Feb 14 ] |
I tried it yesterday and it works on RouterOS 7.13.4. |
Comment by Nicolae [ 2024 Sep 21 ] |
Could you make builds alpine-7.0-latest, alpine-7.0.* , alpine-trunk for linux/arm/v7 ? |