TurboStreetCar Posted September 16, 2022 Share Posted September 16, 2022 @VRx Im having a touch of difficulty. If i run Zabbix Agent, Server, and Web Interface all on host network, im all good. However, if i run them on Br0 network, i lose the ability to monitor my unraid network interface traffic. Using key net.if.in and net.if.out, i believe it monitors network interfaces listed in /proc/net/dev. When running agent on Br0, it appears, proc/net/dev is of the container, not the host system, and it doesnt appear that i can pass the host file to the container. Any chance i could get some help with that? Also, it doesnt seem that Agent, Server and Web Interface can be on the same Br0 IP address, even though there all using different ports. Quote Link to comment
VRx Posted September 28, 2022 Author Share Posted September 28, 2022 On 9/16/2022 at 10:56 PM, TurboStreetCar said: Also, it doesnt seem that Agent, Server and Web Interface can be on the same Br0 IP address, even though there all using different ports. I omit the technical possibilities but do you think it logical that two containers should use the same ip? Do you also assign the same ip for two computers in the network? On 9/16/2022 at 10:56 PM, TurboStreetCar said: When running agent on Br0, it appears, proc/net/dev is of the container, not the host system, and it doesnt appear that i can pass the host file to the container. https://forums.docker.com/t/container-read-host-proc-net-dev/3439 Quote Link to comment
VRx Posted September 28, 2022 Author Share Posted September 28, 2022 On 9/16/2022 at 10:56 PM, TurboStreetCar said: Any chance i could get some help with that? You could try to bind /proc/net/dev to /host/proc/net/dev inside container. But You need also to instruct zabbix agent it should monitor /host/proc/net/dev. I have not tried this solution. 1 Quote Link to comment
TurboStreetCar Posted September 30, 2022 Share Posted September 30, 2022 On 9/28/2022 at 3:11 AM, VRx said: I omit the technical possibilities but do you think it logical that two containers should use the same ip? Do you also assign the same ip for two computers in the network? Well, i would say computers are different that containers, as containers only use specific ports and have specific purposes. Additionally, when on host network, they all are using the same IP. I'm aware internally there is separate networks broken up within Unraid, or dockers network system, but externally, all three containers (Zabbix Agent, Server, and Web Interface) are all on the same host IP. Would be nice to break that out to a separate network. On 9/28/2022 at 3:23 AM, VRx said: You could try to bind /proc/net/dev to /host/proc/net/dev inside container. But You need also to instruct zabbix agent it should monitor /host/proc/net/dev. I have not tried this solution. I will try passing /proc/net/dev to the container at the /host/ path, but im not sure how to "reroute" the net key to that new location. i assume it would be somewhere in the conf file? Only issue with that is updates would break that modification. Appreciate the input. Quote Link to comment
VRx Posted October 6, 2022 Author Share Posted October 6, 2022 On 9/30/2022 at 11:34 AM, TurboStreetCar said: Well, i would say computers are different that containers, as containers only use specific ports and have specific purposes. This is not as clear cut as you say, it depends on the configuration. The assignment of the ip address to the container is the use of the macvlan driver. This assigns the mac address to the container and binds it to the physical network. This is a very different situation to the one you describe and is much closer to computers than containers. On 9/30/2022 at 11:34 AM, TurboStreetCar said: Additionally, when on host network, they all are using the same IP. I'm aware internally there is separate networks broken up within Unraid, or dockers network system, but externally, all three containers (Zabbix Agent, Server, and Web Interface) are all on the same host IP. Would be nice to break that out to a separate network. How can I help You? This is how bridged and macvlan networks are working in docker environment. It is not my fault and it is also not the fault of the unRAID developers. Quite simply, docker was created for something other than what is used by many. For many reasons, a container should represent one service / process, meanwhile, we build containers that include a database, an application or several applications. Probably if you build one image containing the agent server and zabbix web it will work according to your expectations. I am not in favor of duplicating applications since they already exist in the image repository. Unfortunately, but applications such as zabbix server should be run in a host or virtual machine, not in a container, it will not cause such problems. On 9/30/2022 at 11:34 AM, TurboStreetCar said: I will try passing /proc/net/dev to the container at the /host/ path, but im not sure how to "reroute" the net key to that new location. i assume it would be somewhere in the conf file? Only issue with that is updates would break that modification. Try looking for a solution on the zabbix community forum Quote Link to comment
VRx Posted October 6, 2022 Author Share Posted October 6, 2022 From now Privileged mode is default off in the template. Everyone can switch it on if there is a need. Quote Link to comment
autumnwalker Posted November 30, 2022 Share Posted November 30, 2022 On 1/11/2022 at 6:25 AM, VRx said: Sorry, I think I missed notification about reply. On the docker configuration page you have preconfigured /mnt/user and /mnt/cache (as array and cache pool). You can change it on Your own, for example by disk or maybe add some other pools. Access Mode can be just Read Only For example: /mnt/user on host You can bind to /mnt/array in zabbix agent container /mnt/cache on host You can bind to /mnt/something in zabbix agent container In Zabbix GUI You must set container paths to monitor, so: /mnt/array and /mnt/something I'm drawing a blank here. I've got the template configured using Linux by Zabbix Agent and it's working great. It has discovered /mnt/cache but it is not discovering /mnt/array. It has also discovered all sorts of other filesystems (/, /etc/hostname - and some others). I assume those are related to the docker file as they seem to be detecting my docker file size. Any tips to get /mnt/array detected? Quote Link to comment
VRx Posted November 30, 2022 Author Share Posted November 30, 2022 @autumnwalker try to set /mnt/user as Host path Quote Link to comment
autumnwalker Posted December 1, 2022 Share Posted December 1, 2022 17 hours ago, VRx said: @autumnwalker try to set /mnt/user as Host path That one is there by default in the template. Quote Link to comment
chaosratt Posted January 21, 2023 Share Posted January 21, 2023 (edited) How do I get userparameter support with this? I updated my unraid from an older version and my locally "installed" version of the stand-alone agent segfaults on launch now. Switching to this container works, but I cannot seem to figure out how to get all my custom userparameter scripts over for monitoring individual disks. Edited January 21, 2023 by chaosratt typos Quote Link to comment
VRx Posted January 22, 2023 Author Share Posted January 22, 2023 @chaosratt "You may write a command that retrieves the data you need and include it in the user parameter in the agent configuration file ('UserParameter' configuration parameter)." docs "Allowed volumes for the Zabbix agent container /etc/zabbix/zabbix_agentd.d The volume allows include *.conf files and extend Zabbix agent using UserParameter feature." more info So You should add another docker volume /etc/zabbix/zabbix_agentd.d And make some .conf files inside Quote Link to comment
davek79 Posted February 1, 2023 Share Posted February 1, 2023 On 11/30/2022 at 2:17 PM, autumnwalker said: I'm drawing a blank here. I've got the template configured using Linux by Zabbix Agent and it's working great. It has discovered /mnt/cache but it is not discovering /mnt/array. It has also discovered all sorts of other filesystems (/, /etc/hostname - and some others). I assume those are related to the docker file as they seem to be detecting my docker file size. Any tips to get /mnt/array detected? Any follow up on this? I'm having the same situation - just detects the cache disk, and despite the mount point of /mnt/array in the container pointing to /mnt/user on unraid, zabbix isn't discovering the array... Quote Link to comment
chaosratt Posted February 1, 2023 Share Posted February 1, 2023 Here's my setup. I've adjusted a few settings here and there. Gives very nice data you can put into a graph: 1 Quote Link to comment
mikeyosm Posted December 29, 2023 Share Posted December 29, 2023 Thanks for the docker, I just started messing about with Zabbix for monitoring all of my homelab, really like it. Lots of nice stats that I can import as graphs as you can see from the pic below... One thing that is missing is the output from sensors (lmsensors) from the UNRAID host. Is it possible to configure the docker to grab sensors output? I have a USB corsair PSU and temperatures that I would like to add to Zabbix. Thank you. Quote Link to comment
VRx Posted January 5 Author Share Posted January 5 @mikeyosm You could try to bind paths: /usr/bin/sensors from host to /usr/local/bin/sensors /usr/lib64/libsensors.so.5 to /usr/lib64/libsensors.so.5 [RO] And lmsensors should work inside the container Quote Link to comment
mikeyosm Posted January 6 Share Posted January 6 (edited) 15 hours ago, VRx said: @mikeyosm You could try to bind paths: /usr/bin/sensors from host to /usr/local/bin/sensors /usr/lib64/libsensors.so.5 to /usr/lib64/libsensors.so.5 [RO] And lmsensors should work inside the container UPDATE - I got it working! Edited January 6 by mikeyosm Quote Link to comment
Deadringers Posted February 12 Share Posted February 12 (edited) Hey, I'm monitoring the Eth0 interface with Zabbix but it's not adding up with what Unraid is reporting. Zabbix is reporting a few Kbps, but Unraid is reporting 100+ Mbps. Unraid is correct as I was watching a film through plex container, which uses this interface. Is there something I need to change? Screenshots attached here of what Unraid web ui shows me, and what Zabbix is reporting. Edited February 12 by Deadringers Quote Link to comment
VRx Posted February 13 Author Share Posted February 13 There is no good solution. eth0 inside container is not the same as host interface. You could use host network with zabbix agent container, but macvlan not allow to connect from other vlans/subnets configured on Unraid server, if You use some. 1 Quote Link to comment
chip Posted February 23 Share Posted February 23 How do we monitor dockers with the agent? Quote Link to comment
VRx Posted April 2 Author Share Posted April 2 On 2/23/2024 at 11:30 PM, chip said: How do we monitor dockers with the agent? Quote Link to comment
trashit Posted May 18 Share Posted May 18 (edited) On 7/28/2021 at 2:55 PM, VRx said: Note, In Zabbix WebGUI You must set disk monitoring like Container Paths. * Please specify which version is affected by the problem (Agent or Agent2) Can you explain this to me? I use the Agent2 and i can only see the array, but not the Cache as FS in zabbix. Also I would like to the the disks itself. Where I have to the theses Settings in the zabbixGUI? Edited May 18 by trashit Quote Link to comment
VRx Posted May 20 Author Share Posted May 20 @trashit You must set "cache disks" path were You have mounted cache on Unraid, for example if You have /mnt/cache1234 You must set /mnt/cache1234 Container path can remain unchanged, but You must set at Zabbix Web what You want to monitor as container path, not Unraid path. Monitoring physical disks is tricki, You could mount /proc/diskstats to the container as new "virtual" path, and then prepare Zabbix to monitor diskstats from mounted file instead default /proc/diskstats (by default it will be diskstats from container, not Unraid) Quote Link to comment
epiphanyplx Posted June 6 Share Posted June 6 On 2/1/2023 at 4:43 PM, davek79 said: Any follow up on this? I'm having the same situation - just detects the cache disk, and despite the mount point of /mnt/array in the container pointing to /mnt/user on unraid, zabbix isn't discovering the array... For anyone else having this issue, here's what I did to resolve it: Clone the "/mnt/cache : Get filesystem data" Item in Zabbix and change every instance of "/mnt/cache" to "/mnt/array" (NOT /mnt/user) After executing you should get something like this: {"fsname":"/mnt/array","options":"ro,noatime,user_id=0,group_id=0,default_permissions,allow_other","bytes":{"used":80068584370176,"free":59912069906432,"total":139980654276608,"pused":57.19975005400169,"pfree":42.80024994599831},"fstype":"fuse.shfs","inodes":{"used":277191,"free":13672003897,"total":13672281088,"pused":0.0020273939528882806,"pfree":99.997972606047114}} You can then clone the "/mnt/cache: Total space" and "/mnt/cache: Used space" and replace "/mnt/cache" with "/mnt/array" and should be good to go. Quote Link to comment
ikerib Posted June 14 Share Posted June 14 Hi, I'm new with Zabbix... I need help or some clues... I added a screenshot with my config, but how can I see the data in Zabbix? I added a Host like the second screenshot, but what template should I use? thanks in advance Quote Link to comment
VRx Posted June 17 Author Share Posted June 17 On 6/14/2024 at 9:58 AM, ikerib said: how can I see the data in Zabbix? What data? Zabbix is monitoring system which needs minimum three parts: zabbix-server - to put it simply: it collects data zabbix-webinterface - is responsible for the ability to display data in the browser zabbix-agent - must be installed on the host from which it collects monitoring data and sends it to zabbix-server (active or passive) On 6/14/2024 at 9:58 AM, ikerib said: what template should I use? it depends on what data you want to monitor, templates are related to the operating system, application or other parameters that can be collected and monitored Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.