[erlang-questions] System monitoring and logging

Rick Pettit rpettit@REDACTED
Wed Mar 19 16:10:19 CET 2008


On Wed, Mar 19, 2008 at 02:54:43PM +0100, Peter Mechlenborg wrote:
> Hi
> 
> For the last 18 month or so I have been working on an interesting  
> project written in Erlang.  Over the last months it has become clear  
> to me that we need a more structured way of monitoring our systems.   
> Right now we basically just have a log file with lots of different  
> information.  I'm starting to realize that monitoring and visibility  
> are important properties that should be an integrated part of our  
> architecture; not an add-on.  I also think this applies to almost all  
> server systems, especially those with high demands on fault  
> tolerance, so this issue must have been solved many times before in  
> Erlang, or am I wrong here?
> 
> We have started looking into SNMP, and this seems promising, even  
> though it seem a bit old (I get the impression that SNMP where hot 10  
> years ago, but is kind of phasing out right now.  Is this correct?)  

I think SNMP still has a place at many shops. Not sure it is going away anytime
soon.

> and rigid.  I have not been able to find any alternatives to SNMP, do  
> there exist any?
> I would really like some feedback on how you guys  
> handle monitoring and logging on the systems you develop and operate,  
> do you use SNMP, some other framework, nothing, or something home grown.

I suppose in my case a combination of all of the above.

Regarding SNMP though, I haven't worked with it in some time. You might want to
check out the snmp(3) man page, and the mnesia(3) man page where the 'snmp'
configurable is documented:

  * {snmp,   SnmpStruct}.  See  mnesia:snmp_open_table/2  for  a
    description of SnmpStruct. If this attribute is  present  in
    the  ArgList  to mnesia:create_table/2, the table is immedi-
    ately accessible by means of the Simple  Network  Management
    Protocol (SNMP). This means that applications which use SNMP
    to manipulate and control the system can be designed easily,
    since  Mnesia  provides a direct mapping between the logical
    tables that make up an  SNMP  control  application  and  the
    physical data which makes up a Mnesia table.

I haven't worked with this myself, but it seems others have:

  Making a Mnesia Table SNMP Accessible
  http://www.drxyzzy.org/mnesia-snmp/index.html

Seems SNMP could be used as another means of having SNMP-enabled C/C++/Java/etc
components talk to erlang (i.e. besides ei and J-interface) , but I haven't
experimented with that, either.

-Rick



More information about the erlang-questions mailing list