snmp,how to edit code generated by mib2c?


 
Thread Tools Search this Thread
Special Forums UNIX and Linux Applications Infrastructure Monitoring snmp,how to edit code generated by mib2c?
# 1  
Old 04-07-2008
Data snmp,how to edit code generated by mib2c?

Hi,

I'm reading net-snmp site, using C language and unix environment, I have manager ( do get/set command), agent and server ... I'm trying to monitor cpu, memory and disk usage and get Ip address of server and send the value back to agent, stored in variable which enable manager to gets the value through get command...


- if I use mib2c -c mib2c.int_watch.conf myMIB ( I provide a sample code at the end of this message):
it declare the variables as integers (same managed object in myMIB, e.g: example1: in the provided code), how can I manipulate the variable outside of SNMP gets/sets ? ( example1= 20, will not change the value of example1 that seen by the manager).

-If I use mib2c -c mib2c.scalar.conf myMIB
It declare no variables just provide handler function ... how to edit the handler and change value of managed object if it is not declared?

Thanks in advance ..

----------------------------------------------

Code example: (mib2c -c mib2c.int_watch.conf myMIB)
This example creates some scalar registrations that allows some simple variables to be accessed via SNMP. In a more realistic example, it is likely that these variables would also be manipulated in other ways outside of SNMP gets/sets.
If this module is compiled into an agent, you should be able to issue snmp commands that look something like (authentication information not shown in these commands):

snmpget localhost netSnmpExampleInteger.0
netSnmpExampleScalars = 42
snmpset localhost netSnmpExampleInteger.0 = 1234
netSnmpExampleScalars = 1234
snmpget localhost netSnmpExampleInteger.0
netSnmpExampleScalars = 1234
/*
* start be including the appropriate header files
*/
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/agent/net-snmp-agent-includes.h>

/*
* Then, we declare the variables we want to be accessed
*/
static int example1 = 42; /* default value */

/*
* our initialization routine, automatically called by the agent
* (to get called, the function name must match init_FILENAME())
*/
void
init_scalar_int(void)
{
/*
* the OID we want to register our integer at. This should be a
* fully qualified instance. In our case, it's a scalar at:
* NET-SNMP-EXAMPLES-MIB::netSnmpExampleInteger.0 (note the
* trailing 0 which is required for any instantiation of any
* scalar object)
*/
oid my_registration_oid[] =
{ 1, 3, 6, 1, 4, 1, 8072, 2, 1, 1, 0 };

/*
* a debugging statement. Run the agent with -Dexample_scalar_int to see
* the output of this debugging statement.
*/
DEBUGMSGTL(("example_scalar_int",
"Initalizing example scalar int. Default value = %d\n",
example1));

/*
* the line below registers our "example1" variable above as
* accessible and makes it writable. A read only version of the
* same registration would merely call
* register_read_only_int_instance() instead.
*
* If we wanted a callback when the value was retrieved or set
* (even though the details of doing this are handled for you),
* you could change the NULL pointer below to a valid handler
* function.
*/
netsnmp_register_int_instance("my example int variable",
my_registration_oid,
OID_LENGTH(my_registration_oid),
&example1, NULL);

DEBUGMSGTL(("example_scalar_int",
"Done initalizing example scalar int\n"));
}
# 2  
Old 04-22-2009
No output from mib2c compiled MIB

Hey dude!

I am working on a 64 bit system for which I need to know its
diagnostics. Like array status, cpu temp, hard drive status, temp
etc.
What I have done is I have written a new MIB for that system which is
error free [I checked it through snmpB mib editor].
Then I produced the 2 files[.h & .c] through mib2c script provided
along with net-snmp 5.4.2.1 which are required to compile with new mib
modules.
Then I built the net-snmp package from the source using the option ./
configure --with-mib-modules and edited the snmpd.conf file as per
need.
Its reading my MIB and snmpwalk returns me some default values. for
example:

[root@vik local]# snmpwalk -v2c -c myco localhost .1.3.6.1.4.1.myoid
SNMPv2-SMI::enterprises.myoid.1.1.2.2.1.1.1.2.0 = INTEGER: 0
SNMPv2-SMI::enterprises.myoid.1.1.2.2.1.1.1.3.0 = INTEGER: 0
SNMPv2-SMI::enterprises.myoid.1.1.2.2.1.1.1.4.0 = INTEGER: 0
SNMPv2-SMI::enterprises.myoid.1.1.2.2.1.1.1.5.0 = INTEGER: 0
SNMPv2-SMI::enterprises.myoid.1.1.2.2.1.1.1.6.0 = INTEGER: 0
SNMPv2-SMI::enterprises.myoid.1.1.2.2.1.1.1.7.0 = INTEGER: 0

It looks like I have to add some code in the .c & .h file but I am not sure what it is?
Also I am using python scripts to retrieve the diagnostics, since its the external program I think I can pass the OIDs along with the script name & path in the snmpd.conf file.
It looks like if you are using an externam programme then u dnt need to compile it thru mib2c.

I am not sure as whats happening in there...

Anyways please reply if you have any information.

Thanks
Vik
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Need to transfer all kernel logs (var/log/messages) to the snmp listener as snmp trap

i am working with embedded system -Dell DCS management sub system. my question is as below: currently we are using linux kernel 2.6.30 build and we have a kernel logs stored to the /var/log/messages path. now we have to transfer all this logs to the specified SNMP target as a part of SNMP... (4 Replies)
Discussion started by: vipul_prajapati
4 Replies

2. Programming

C++ Edit code

Hi guys, I am learning C++ on my own and i wanna redit the code using classes and heritance to revamp the code below. example class for the card attributes -suit , - rank, - face and also class deck to contain shuffle and a class player with the function to setcard and a function handonecard... (1 Reply)
Discussion started by: ment0smintz
1 Replies

3. Web Development

Want to edit a sh file using php code

Hi friends, I want to edit sh file using php, i have tried different method. but its shows permission issues. Folder path : xyz permission :0755 owner: 545 group: 0 filename : abc.sh permission :0644 owner:0 group: 0 how to edit these files using php/ i have use below codes, but... (3 Replies)
Discussion started by: sanjay833i
3 Replies

4. Programming

Are there any C code r instruction to see where is the creation or last edit for the file

Are there any C or termina instructin code or instruction to see where is the creation or last edit for the file (1 Reply)
Discussion started by: fwrlfo
1 Replies

5. Infrastructure Monitoring

SNMP traps to SNMP server

Dear Champs, I am new to unix, and need to configure linux server to send below traps to a SNMP server. Monitoring TRAP Disk Space Low Monitoring TRAP Memory Low Monitoring TRAP CPU high Monitoring TRAP Admin login/Logoff Please help me how to send this information to my SNMP server... (2 Replies)
Discussion started by: stavar
2 Replies

6. IP Networking

SNMP Problem - SNMP not getting to the agent.

I am having a problem with an SNMP event, and I am not sure where I should be looking to solve this problem. Description: There is an SNMP event in our system that for one reason or another is not getting sent out as an email because it is never getting to our SNMP agent. I see where the... (0 Replies)
Discussion started by: broberts
0 Replies

7. Red Hat

Sending data from DELL OMSA SNMP and Custom SNMP MIB to same UDP port 161

Hi , Currently DELL OMSA SNMP sends data through default udp port 161.I want my custom SNMP MIB also to send data in the same udp port 161.Whether its possible.If yes where to configure .I tried starting my custom MIB in udp port 161,but it throws port already in use.Kindly guide. (1 Reply)
Discussion started by: prabakar4all
1 Replies

8. IP Networking

Sending data from DELL OMSA SNMP and Custom SNMP MIB to same UDP port 161

Hi , Currently DELL OMSA SNMP sends data through default udp port 161.I want my custom SNMP MIB also to send data in the same udp port 161.Whether its possible.If yes where to configure .I tried starting my custom MIB in udp port 161,but it throws port already in use.Kindly guide. (0 Replies)
Discussion started by: prabakar4all
0 Replies

9. Shell Programming and Scripting

Script to Check & Edit Content of a file (Addition of comma in each lines of code)

Hi all, I need to write an automated bash shell script which performs such operations: 1. Grep the header of everyline with the initial of "T" in "FILE_A" 2. Perform a for loop, Count the numbers of comma in the line of code, if (no. of comma < 17) ADD the comma until 17; ... (2 Replies)
Discussion started by: big_nutz
2 Replies

10. IP Networking

snmp ... mib2c.scalar.conf, how manipulate variables

Hi, I'm reading net-snmp, using Unix (Solaries) and C language ... - using mib2c.scalar.conf to get the .c and .h code ... I want to manipulate variable ( managed object which already defined in MIB file ) but there is no such variable declared in the generated .c code only handler for each... (0 Replies)
Discussion started by: zainab
0 Replies
Login or Register to Ask a Question