ZoneMinder "Cluster" based operation
ZoneMinder "Cluster" based operation
Hi,
I've been using Zoneminder at the Electrical Engineering department (University of Stellenbosch in South Africa) for quite a while now. I've integrated it with our Active Directory for user authentication (with LDAP), and also linked it to our Access Control system so that everything can be viewed from the ZoneMinder console.
We have been running 20 IP cameras at 320 x 240 on a Pentium 4 Dual Core System with 2 GB of RAM and a 320GB drive. System load is under 2.0 most of the time, which is quite good for a computer with 2 active processors.
The cameras can all support 640 x 480 (they are cheap D-Link DCS-900's), but the system is a bit overloaded when running 20 cameras at this high resolution. My idea was to change ZoneMinder so that you can have x amount of "servers" doing the actual capturing and analysis of frames, but when logging in to the ZoneMinder frontend, it looks like there is only one system running: The streams automatically get loaded from the correct machines.
I started work on it about 2 days ago, and am pleased to announce that the first "alpha" release of my changes are ready. I've tested it here at home with 3 machines in a ZM cluster, and everything (from live stream viewing to thumbnail generation) seems to be working properly.
Please let me know if anyone is interested in my initial release. I'm currently working on a detailed CHANGELOG and HOWTO.
Regards,
Christiaan
I've been using Zoneminder at the Electrical Engineering department (University of Stellenbosch in South Africa) for quite a while now. I've integrated it with our Active Directory for user authentication (with LDAP), and also linked it to our Access Control system so that everything can be viewed from the ZoneMinder console.
We have been running 20 IP cameras at 320 x 240 on a Pentium 4 Dual Core System with 2 GB of RAM and a 320GB drive. System load is under 2.0 most of the time, which is quite good for a computer with 2 active processors.
The cameras can all support 640 x 480 (they are cheap D-Link DCS-900's), but the system is a bit overloaded when running 20 cameras at this high resolution. My idea was to change ZoneMinder so that you can have x amount of "servers" doing the actual capturing and analysis of frames, but when logging in to the ZoneMinder frontend, it looks like there is only one system running: The streams automatically get loaded from the correct machines.
I started work on it about 2 days ago, and am pleased to announce that the first "alpha" release of my changes are ready. I've tested it here at home with 3 machines in a ZM cluster, and everything (from live stream viewing to thumbnail generation) seems to be working properly.
Please let me know if anyone is interested in my initial release. I'm currently working on a detailed CHANGELOG and HOWTO.
Regards,
Christiaan
-
- Posts: 5111
- Joined: Wed Jun 08, 2005 8:07 pm
- Location: Midlands UK
yes im interested. Good work
James Wilson
Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
Disclaimer: The above is pure theory and may work on a good day with the wind behind it. etc etc.
http://www.securitywarehouse.co.uk
Hi guys,
I've run into a little snag... Everything seems to be working fine, except the extra polling script I needed to implement to keep everything synchronized.
Maybe James or Phil can help with this one:
I created a new perl script (with much the same content as zmwatch.pl). I added this file to the list of daemons in zmdc.pl.
Starting this script from the command line, works perfectly, but as soon as I try to start it using zmdc.pl start zmpoll.pl, I get the following output:
[root@cctv bin]# zmdc.pl start zmpoll.pl
'zmpoll.pl' starting at 07/05/22 01:57:42, pid = 2489
When I do a status request, I get the following:
[root@cctv bin]# zmdc.pl status zmpoll.pl
'zmpoll.pl' pending at 07/05/22 01:54:54
'zmpoll.pl' running since 07/05/22 01:54:44, pid =
And obviously, the script isn't running. I found out that, after executing "zmdc.pl start zmpoll.pl" about 20 times, I get the following output:
[root@cctv zm]# zmdc.pl start zmpoll.pl
Can't find child with pid of '1333'
'zmpoll.pl' starting at 07/05/22 01:50:25, pid = 1333
At this point, the script is running at LAST.
I thought that it might be something in my zmpoll.pl code, and copied zmwatch.pl over zmpoll.pl. Trying to start zmpoll.pl (with the zmwatch's code) gave EXACTLY the same problem. The real zmwatch.pl however continued to start absolutely without any problems.
I'm running Fedora Core 6 on a Pentium 4 3Ghz Dual Core machine.
Does anyone have ANY idea what could cause something like this?
Regards,
Christiaan
I've run into a little snag... Everything seems to be working fine, except the extra polling script I needed to implement to keep everything synchronized.
Maybe James or Phil can help with this one:
I created a new perl script (with much the same content as zmwatch.pl). I added this file to the list of daemons in zmdc.pl.
Starting this script from the command line, works perfectly, but as soon as I try to start it using zmdc.pl start zmpoll.pl, I get the following output:
[root@cctv bin]# zmdc.pl start zmpoll.pl
'zmpoll.pl' starting at 07/05/22 01:57:42, pid = 2489
When I do a status request, I get the following:
[root@cctv bin]# zmdc.pl status zmpoll.pl
'zmpoll.pl' pending at 07/05/22 01:54:54
'zmpoll.pl' running since 07/05/22 01:54:44, pid =
And obviously, the script isn't running. I found out that, after executing "zmdc.pl start zmpoll.pl" about 20 times, I get the following output:
[root@cctv zm]# zmdc.pl start zmpoll.pl
Can't find child with pid of '1333'
'zmpoll.pl' starting at 07/05/22 01:50:25, pid = 1333
At this point, the script is running at LAST.
I thought that it might be something in my zmpoll.pl code, and copied zmwatch.pl over zmpoll.pl. Trying to start zmpoll.pl (with the zmwatch's code) gave EXACTLY the same problem. The real zmwatch.pl however continued to start absolutely without any problems.
I'm running Fedora Core 6 on a Pentium 4 3Ghz Dual Core machine.
Does anyone have ANY idea what could cause something like this?
Regards,
Christiaan
Hi everyone.
I've been running my "Beta Version" here at our University for a few weeks now and everything seems to be working fine... The only problem I'm still having is the one a mentioned a few posts up.. about the starting of new deamons...
It just stays in the pending AND running queues, without ever starting up. I got around that by putting my own script in the computers crontab at startup, but the better solution would be to have zmdc.pl handle it. Again, I'm asking anyone with ZoneMinder coding experience to see if they can reproduce my problem and have any ideas on fixing it.
I'll upload my Beta version with Cluster Support as soon as I can iron that problem out...
Regards,
Christiaan
I've been running my "Beta Version" here at our University for a few weeks now and everything seems to be working fine... The only problem I'm still having is the one a mentioned a few posts up.. about the starting of new deamons...
It just stays in the pending AND running queues, without ever starting up. I got around that by putting my own script in the computers crontab at startup, but the better solution would be to have zmdc.pl handle it. Again, I'm asking anyone with ZoneMinder coding experience to see if they can reproduce my problem and have any ideas on fixing it.
I'll upload my Beta version with Cluster Support as soon as I can iron that problem out...
Regards,
Christiaan
I have been watching this thread with interest. Please don't think the lack of our involvement is a sign on non-interest. I just started getting parts in for a new server for development as well as test. Soon as I have it up I will get involved and help you work things out.
Kudo's BTW for getting this far
Kudo's BTW for getting this far