Hello Dave,
i have changed the code of logging from the perlscript, but i become
not more entries:
mysql_agent.pl: started us as a subagent
(NetSNMP::agent=HASH(0x83ee44c))
mysql_agent.pl: refs:
mysql_agent.pl: - finished processing
mysql_agent.pl: shutting down
mysql_agent.pl: shutting down
mysql_agent.pl: Refreshed at 1183466657
If i use -x localhost:705 i see that the SubAgent search an filepath !
Then i have changed the -x localhost:705 to -x tcp:localhost:705 and
now the connection from SubAgent to the MasterAgent seams to work.
I have now make a check:
Start the SNMPD
/usr/sbin/snmpd -Ls DAEMON -Lf /var/log/snmpd.log -u
root -p /var/run/snmpd.pid -x tcp:localhost:705 -c /etc/snmp/snmpd.conf -Dperl
-Dread_config -Dagentx/master -Dagentx/subagent
Then I have make a new agent like the example from `perldoc
NetSNMP::agent`
[EMAIL PROTECTED]:~#
/usr/lib/net-snmp/agents/mysql_agent.pl
NET-SNMP version 5.4 AgentX subagent connected
registering pdu failed: 263!
As you can see, the SubAgent will find the MasterAgent but then
come this errormessage.
In an strace i can see many timeouts:
connect(7, {sa_family=AF_INET, sin_port=htons(705),
sin_addr=inet_addr("127.0.0.1")}, 16) = 0
getsockopt(7, SOL_SOCKET, SO_SNDBUF, [50592], [4]) = 0
getsockopt(7, SOL_SOCKET, SO_RCVBUF, [87888], [4]) = 0
send(7, "\1\1\0\0\0\0\0\0\0\0\0\0\354b\6J<\0\0\0\0\0\0\0\5\4\0\0"..., 80, 0) =
80
gettimeofday({1183469846, 171336}, NULL) = 0
gettimeofday({1183469846, 171373}, NULL) = 0
select(8, [3 5 7], NULL, NULL, {0, 999963}) = 1 (in [7], left {1, 0})
brk(0x8382000) = 0x8382000
recv(7, "\1\22\0\0\27\0\0\0\0\0\0\0\354b\6JD\0\0\0\7\25\1\0\0\0"..., 65536, 0)
= 88
gettimeofday({1183469846, 172485}, NULL) = 0
brk(0x8372000) = 0x8372000
write(2, "NET-SNMP version 5.4 AgentX suba"..., 47NET-SNMP version 5.4 AgentX
subagent connected
) = 47
send(7, "\1\3\0\0\27\0\0\0\0\0\0\0\355b\6J\34\0\0\0\0\177\0\0\5"..., 48, 0) = 48
gettimeofday({1183469846, 176211}, NULL) = 0
gettimeofday({1183469846, 176294}, NULL) = 0
select(8, [3 5 7], NULL, NULL, {0, 999917}) = 1 (in [7], left {1, 0})
recv(7, "\1\22\0\0\27\0\0\0\0\0\0\0\355b\6J$\0\0\0\7\25\1\0\7\1"..., 65536, 0)
= 56
gettimeofday({1183469846, 176590}, NULL) = 0
write(2, "registering pdu failed: 263!\n", 29registering pdu failed: 263!
) = 29
gettimeofday({1183469846, 176819}, NULL) = 0
times({tms_utime=11, tms_stime=2, tms_cutime=0, tms_cstime=0}) = 1572397666
times({tms_utime=11, tms_stime=2, tms_cutime=0, tms_cstime=0}) = 1572397666
gettimeofday({1183469846, 177108}, NULL) = 0
gettimeofday({1183469846, 177175}, NULL) = 0
gettimeofday({1183469846, 177200}, NULL) = 0
select(8, [3 5 7], NULL, NULL, {14, 999644}) = 0 (Timeout)
gettimeofday({1183469861, 174977}, NULL) = 0
gettimeofday({1183469861, 175063}, NULL) = 0
gettimeofday({1183469861, 175148}, NULL) = 0
gettimeofday({1183469861, 175234}, NULL) = 0
gettimeofday({1183469861, 175359}, NULL) = 0
gettimeofday({1183469861, 175448}, NULL) = 0
select(8, [3 5 7], NULL, NULL, {0, 1460}) = 0 (Timeout)
gettimeofday({1183469861, 176888}, NULL) = 0
gettimeofday({1183469861, 176972}, NULL) = 0
gettimeofday({1183469861, 177056}, NULL) = 0
gettimeofday({1183469861, 177133}, NULL) = 0
send(7, "\1\r\0\0\27\0\0\0\0\0\0\0\356b\6J\0\0\0\0", 20, 0) = 20
gettimeofday({1183469861, 177945}, NULL) = 0
gettimeofday({1183469861, 178030}, NULL) = 0
gettimeofday({1183469861, 178108}, NULL) = 0
select(8, [3 5 7], NULL, NULL, {0, 1}) = 1 (in [7], left {0, 1000})
recv(7, "\1\22\0\0\27\0\0\0\0\0\0\0\356b\6J\10\0\0\0\344\32\1\0"..., 65536, 0)
= 28
gettimeofday({1183469861, 178414}, NULL) = 0
gettimeofday({1183469861, 178501}, NULL) = 0
gettimeofday({1183469861, 178591}, NULL) = 0
gettimeofday({1183469861, 178670}, NULL) = 0
select(8, [3 5 7], NULL, NULL, {14, 998542} <unfinished ...>
I hope this will help :-)
Regards
Stefan
-----Ursprüngliche Nachricht-----
Von: Stefan Mikuszeit
Gesendet: Dienstag, 3. Juli 2007 13:34
An: Stefan Mikuszeit; 'Dave Shield'
Cc: '[email protected]'
Betreff: AW: SNMP AgentX Problem <LONG MAIL>
Hello Dave
Log Output from the subagent:
[EMAIL PROTECTED]:~# /usr/lib/net-snmp/agents/mysql_agent.pl
started us as a subagent (NetSNMP::agent=HASH(0x82cb94c))
refs: , , ,
- finished processing
shutting down
shutting down
Refreshed at 1183462255 0
Log Output from tcpdump at starting the subagent:
[EMAIL PROTECTED]:~# tcpdump -i lo -v
tcpdump: listening on lo, link-type EN10MB (Ethernet), capture size 96
bytes
13:32:53.888535 IP (tos 0x0, ttl 64, id 21438, offset 0, flags [DF],
proto: TCP (6), length: 60) localhost.localdomain.43798 >
localhost.localdomain.mysql: S, cksum 0xb45d (correct),
245440441:245440441(0) win 32767 <mss 16396,sackOK,timestamp 2833992711
0,nop,wscale 2>
13:32:53.888863 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF],
proto: TCP (6), length: 60) localhost.localdomain.mysql >
localhost.localdomain.43798: S, cksum 0x9595 (correct),
246094617:246094617(0) ack 245440442 win 32767 <mss 16396,sackOK,timestamp
2833992711 2833992711,nop,wscale 2>
13:32:53.888623 IP (tos 0x0, ttl 64, id 21440, offset 0, flags [DF],
proto: TCP (6), length: 52) localhost.localdomain.43798 >
localhost.localdomain.mysql: ., cksum 0x5eb4 (correct), ack 1 win 8192
<nop,nop,timestamp 2833992711 2833992711>
13:32:53.888938 IP (tos 0x8, ttl 64, id 22301, offset 0, flags [DF],
proto: TCP (6), length: 95) localhost.localdomain.mysql >
localhost.localdomain.43798: P 1:44(43) ack 1 win 8192 <nop,nop,timestamp
2833992711 2833992711>
13:32:53.889104 IP (tos 0x0, ttl 64, id 21442, offset 0, flags [DF],
proto: TCP (6), length: 52) localhost.localdomain.43798 >
localhost.localdomain.mysql: ., cksum 0x5e89 (correct), ack 44 win 8192
<nop,nop,timestamp 2833992711 2833992711>
13:32:53.889348 IP (tos 0x8, ttl 64, id 21444, offset 0, flags [DF],
proto: TCP (6), length: 74) localhost.localdomain.43798 >
localhost.localdomain.mysql: P, cksum 0xfe3e (incorrect (-> 0x462c),
1:23(22) ack 44 win 8192 <nop,nop,timestamp 2833992711 2833992711>
13:32:53.889381 IP (tos 0x8, ttl 64, id 22303, offset 0, flags [DF],
proto: TCP (6), length: 52) localhost.localdomain.mysql >
localhost.localdomain.43798: ., cksum 0x5e73 (correct), ack 23 win 8192
<nop,nop,timestamp 2833992711 2833992711>
13:32:53.889424 IP (tos 0x8, ttl 64, id 22305, offset 0, flags [DF],
proto: TCP (6), length: 61) localhost.localdomain.mysql >
localhost.localdomain.43798: P, cksum 0xfe31 (incorrect (-> 0x595d),
44:53(9) ack 23 win 8192 <nop,nop,timestamp 2833992712 2833992711>
13:32:53.889660 IP (tos 0x8, ttl 64, id 21446, offset 0, flags [DF],
proto: TCP (6), length: 73) localhost.localdomain.43798 >
localhost.localdomain.mysql: P, cksum 0xfe3d (incorrect (-> 0x1df7),
23:44(21) ack 53 win 8192 <nop,nop,timestamp 2833992712 2833992712>
13:32:53.889761 IP (tos 0x8, ttl 64, id 22307, offset 0, flags [DF],
proto: TCP (6), length: 61) localhost.localdomain.mysql >
localhost.localdomain.43798: P, cksum 0xfe31 (incorrect (-> 0x593f),
53:62(9) ack 44 win 8192 <nop,nop,timestamp 2833992712 2833992712>
13:32:53.890074 IP (tos 0x8, ttl 64, id 21448, offset 0, flags [DF],
proto: TCP (6), length: 87) localhost.localdomain.43798 >
localhost.localdomain.mysql: P 44:79(35) ack 62 win 8192
<nop,nop,timestamp 2833992712 2833992712>
13:32:53.890205 IP (tos 0x8, ttl 64, id 22309, offset 0, flags [DF],
proto: TCP (6), length: 3330) localhost.localdomain.mysql >
localhost.localdomain.43798: P 62:3340(3278) ack 79 win 8192
<nop,nop,timestamp 2833992712 2833992712>
13:32:53.895815 IP (tos 0x8, ttl 64, id 21450, offset 0, flags [DF],
proto: TCP (6), length: 57) localhost.localdomain.43798 >
localhost.localdomain.mysql: P, cksum 0xfe2d (incorrect (-> 0x3ee7),
79:84(5) ack 3340 win 12383 <nop,nop,timestamp 2833992718 2833992712>
13:32:53.895865 IP (tos 0x8, ttl 64, id 22311, offset 0, flags [DF],
proto: TCP (6), length: 52) localhost.localdomain.mysql >
localhost.localdomain.43798: F, cksum 0x5147 (correct), 3340:3340(0)
ack 84 win 8192 <nop,nop,timestamp 2833992718 2833992718>
13:32:53.896018 IP (tos 0x8, ttl 64, id 21452, offset 0, flags [DF],
proto: TCP (6), length: 52) localhost.localdomain.43798 >
localhost.localdomain.mysql: F, cksum 0x40e7 (correct), 84:84 (0) ack 3341
win 12383 <nop,nop,timestamp 2833992718 2833992718>
13:32:53.896028 IP (tos 0x8, ttl 64, id 22313, offset 0, flags [DF],
proto: TCP (6), length: 52) localhost.localdomain.mysql >
localhost.localdomain.43798: ., cksum 0x5146 (correct), ack 85 win 8192
<nop,nop,timestamp 2833992718 2833992718>
Regards
Stefan
-----Ursprüngliche Nachricht-----
Von: Stefan Mikuszeit
Gesendet: Dienstag, 3. Juli 2007 13:10
An: Stefan Mikuszeit; Dave Shield
Cc: [email protected]
Betreff: AW: SNMP AgentX Problem <LONG MAIL>
Hello Dave,
i have found following:
if i put this line to snmpd.conf the snmpd dosn't work anymore
(snmpwalk / snmpget becomes timeout):
perl do '/usr/lib/net-snmp/agents/mysql_agent.pl';
Wenn i start the agent (snmpd) via the '-X' argument i have the
same problem as above.
The next i have found is with the /tmp/shtest that is
configured in the snmpd.conf via this line:
exec enterprises.ucdavis.50.100.1 /bin/sh /tmp/shtest
as you can see the OID is running at
enterprises.ucdavis.50.100.1, but if i make an snmpwalk i become an
errormessage:
[EMAIL PROTECTED]:/etc/snmp# snmpwalk localhost -c
public -v2c enterprises.ucdavis.50.100.1
UCD-SNMP-MIB::ucdavis.50.100.1 = No Such Object
available on this agent at this OID
[EMAIL PROTECTED]:/etc/snmp# cat /tmp/shtest
#!/bin/sh
echo hello world
echo hi there
exit 35
with an snmpwalk at enterprises.ucdavis i find following
entries in the table:
UCD-SNMP-MIB::extIndex.1 = INTEGER: 1
UCD-SNMP-MIB::extIndex.2 = INTEGER: 2
UCD-SNMP-MIB::extNames.1 = STRING:
enterprises.ucdavis.50.100.1
UCD-SNMP-MIB::extNames.2 = STRING:
enterprises.ucdavis.50.100.1
UCD-SNMP-MIB::extCommand.1 = STRING: /bin/sh /tmp/shtest
UCD-SNMP-MIB::extCommand.2 = STRING: /bin/sh /tmp/shtest
UCD-SNMP-MIB::extResult.1 = INTEGER: 35
UCD-SNMP-MIB::extResult.2 = INTEGER: 35
UCD-SNMP-MIB::extOutput.1 = STRING: hello world
hi there
UCD-SNMP-MIB::extOutput.2 = STRING: hello world
hi there
UCD-SNMP-MIB::extErrFix.1 = INTEGER: noError(0)
UCD-SNMP-MIB::extErrFix.2 = INTEGER: noError(0)
UCD-SNMP-MIB::extErrFixCmd.1 = STRING:
UCD-SNMP-MIB::extErrFixCmd.2 = STRING:
It's seams that no extension is make to the table :-(
Is this right, that the subagent must start before the agent is startet
?
Like this:
/usr/lib/net-snmp/agents/mysql_agent.pl &
`which snmpd` -Ls DAEMON -Lf /var/log/snmpd.log -u root
-p /var/run/snmpd.pid -X -x localhost:705 -c /etc/snmp/snmpd.conf
Sorry i have forgotten to tell you that i work on an Linux Ubuntu 6.06
Server :-)
I have attached the actual snmpd.conf.
Regards
Stefan
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Auftrag von
Stefan Mikuszeit
Gesendet: Dienstag, 3. Juli 2007 12:38
An: Dave Shield
Cc: [email protected]
Betreff: AW: SNMP AgentX Problem <LONG MAIL>
Hello Dave,
thx for your help :-)
This is the code for set the new Value to the OID, it's included in the
Script ;-)
if ($next ne "") {
$value = $global_status{$next}{'value'};
$request->setOID($next);
$request->setValue(ASN_OCTET_STR, "$value");
The Debugging Info you will find at the attachment.
Regards
Stefan
-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Auftrag von Dave Shield
Gesendet: Dienstag, 3. Juli 2007 10:40
An: Stefan Mikuszeit
Cc: [email protected]
Betreff: Re: SNMP AgentX Problem <LONG MAIL>
On 02/07/07, Stefan Mikuszeit <[EMAIL PROTECTED]> wrote:
> The problem is that the subagent dos not submit the collected data's
> to the snmp agent, but i don't no why :(
Try activating the debugging code in your subagent.
What does that show?
What are the exact commands you are trying?
I haven't looked through the whole of your code, but:
> My Subagent Perlscript
>
> <-- SNIP -->
>
> #!/usr/bin/perl --
> sub mysql_snmp_handler {
> if ($mode == MODE_GET) {
[snip]
> }
>
> if ($mode == MODE_GETNEXT) {
[snip]
> }
> }
> #print STDERR "- finished processing\n" if ($debugging);
> }
This handler doesn't seem to include and code to support SET
requests - just GET and GETNEXT. So it's not too surprising
that SET requests aren't working :-)
Dave
PS: Please don't include so much in-line information.
If you've got various additional code, MIB and config files,
it's probably better to include them as attachments.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users