pid files...
Carter Bullard
carter at qosient.com
Wed Jun 29 10:37:18 EDT 2011
Hey Phil,
Getting a since of the needs makes the design go better.
The bug fix is done, but not up on the server yet.
With the bug fix I think we will do much better with multiple argi using multiple interfaces, but you will still miss some info that you need I think.
I like that there are good reasons to use two separate argi.
Radium does support PID files, and I could put it in all the ra* programs pretty quickly. I'll look into that.
Thanks!!!!!
Carter
Carter Bullard, QoSient, LLC
150 E. 57th Street Suite 12D
New York, New York 10022
+1 212 588-9133 Phone
+1 212 588-9134 Fax
On Jun 29, 2011, at 7:04 AM, Phillip Deneault <deneault at WPI.EDU> wrote:
> I can't speak for Russell, but I've run into the same race condition of
> defining pids for multiple Argi.
>
> I define one Argus service per interface and then use the pid to track
> whether I am no longer monitoring that interface using Monit. This has
> been extremely useful in finding Argi who have otherwise crashed across
> my various sensors to keep my monitoring posture as consistent as
> possible. Using a single Argus instance to monitor both interfaces
> would not be ideal in this situation since I would have no idea which
> interface stopped monitoring or for how long.
>
> In my configuration, the naming convention which keeps the interface
> name works fine, but if you want to support multiple interfaces per Argi
> as well as multiple Argi per interface, it may be best to just allow the
> definition of an arbitrary PID name and path for each Argi.
> Unless, I've interpreted your messages totally wrong.
>
> Not to get off the subject, but there are other places where being able
> to define a pid would be useful in some of the client tools. Radium and
> rastream jump into my head since they can be used as long-running
> processes that have the potential to hiccup at certain intervals and
> would need to be restarted. Maybe whatever gets worked out could be
> added to those clients as well as an optional variable? I'm monitoring
> these services now, but I wrap these processes with python scripts which
> generate the pids, and it works, but its pretty gross.
>
> Thanks,
> Phil
>
> On 6/28/2011 10:11 PM, Carter Bullard wrote:
>> Hey Russell, I looked at pid file processing and found a bug, which I
>> have fixed, but I'm perplexed by the support we now provide. Pid
>> files are used for lots of things, but we've evolved ours so that it
>> can't support a critical function. We can't use the file to provide
>> exclusive access. I'm going to add a configuration variable, so you
>> can specify the number of concurrent argi that can use a given
>> interface.
>>
>> Currently we support 5 concurrent argi per interface, bit it is hard
>> coded.
>>
>> Would this be helpful to you?
>>
>> Carter
>>
>>
>> On Jun 27, 2011, at 7:53 PM, Carter Bullard <carter at qosient.com>
>> wrote:
>>
>>> Russell, Use only one argus to process both interfaces. Look at the
>>> new argus.conf file, in argus-3.0.4 or argus-3.0.5.4, and have one
>>> argus open both interfaces "ind"ependantly. Give them different
>>> srcid's like this:
>>>
>>> ARGUS_INTERFACE=ind:en0/192.168.0.39,en1/192.168.1.39
>>>
>>> or use two declarations ARGUS_INTERFACE=en0/192.168.0.39
>>> ARGUS_INTERFACE=en1/192.168.1.39
>>>
>>> Carter
>>>
>>> On Jun 27, 2011, at 9:40 PM, Russell Fulton wrote:
>>>
>>>>
>>>> On 28/06/2011, at 1:13 PM, Russell Fulton wrote:
>>>>
>>>>> Wow, long time no posts :) Yes I'm still doing things with
>>>>> argus -- just totally snowed under :(
>>>>>
>>>>> I am currently reworking the management of my sensors and using
>>>>> puppet to do all the heavy lifting and I have got the to the
>>>>> point that I really want to be able to specify the name of the
>>>>> pid file as well as the path. I could make separate
>>>>> directories for the various argus processors but I would much
>>>>> rather not.
>>>>>
>>>>> Currently I am running multiple argus processes on one
>>>>> interface but I am only getting one pid file argus.eth1.0.pid
>>>>>
>>>>> The two processes are spawned very close together and I suspect
>>>>> there is a race condition where the files are being
>>>>> overwritten.
>>>>>
>>>>> Google turns up a reference to a config option
>>>>> ARGUS-PID-FILENAME but it does not appear to be current.
>>>>>
>>>>> Have I missed something?
>>>>>
>>>>> Russell
>>>>>
>>>>> PS. running 3.0.2 if it matters....
>>>>
>>>> I tried putting a two second sleep in the script that spawns the
>>>> process but it did not make any difference, the second process
>>>> seems to overwrite:
>>>>
>>>> 19911 ? Ss 0:01 /usr/sbin/argus -F
>>>> /home/sensors/dmzo/conf/argus-std.conf 19913 ? Ss 0:01
>>>> /usr/sbin/argus -F /home/sensors/dmzo/conf/argus-user-data.conf
>>>> [sensors at mon263550 ~]$ ls dmzo/run/ argus.eth1.0.pid
>>>> [sensors at mon263550 ~]$ cat dmzo/run/argus.eth1.0.pid 19913
>>>>
>>>> Even putting a 10 sec delay made no difference I still got just
>>>> one pid file.
>>>>
>>>> Russell
>>>>
>>>>
>>>>
>>>
>
More information about the argus
mailing list