Le Vendredi 23 Octobre 2009 17:24:17, Noah Baker a écrit :
> Can we get customizable socket support for the snmp agentx subagent? I've
> implemented it using a -S flag. It's useful if you need multiple subagents
> for monitoring multiple amavisd instances. Tested w/ Net SNMP 5.4.2.1 with
> multiple agents. Here's the patch:
>
> --- /usr/sbin/amavisd-snmp-subagent 2009-10-15 17:23:36.000000000 -0700
> +++ /usr/sbin/amavisd-snmp-subagent 2009-10-16 17:27:15.000000000 -0700
> @@ -99,6 +99,8 @@
> my($syslog_open) = 0;
> my($num_proc_gone) = 0;
>
> +my($agentx_socket); # e.g. "localhost:705";
> +
> # geometic progression, rounded,
> # common ratio = exp((ln(60)-ln(1))/6) = 1.97860
> my(@age_slots) = (
> @@ -125,6 +127,7 @@
> use NetSNMP::OID;
> use NetSNMP::ASN qw(:all);
> use NetSNMP::agent qw(:all);
> +use NetSNMP::agent::default_store qw(:all);
> use NetSNMP::default_store qw(:all);
>
> my(%oidstr_to_name);
> @@ -722,6 +725,8 @@
> -f stay in foreground
> -d log_level debugging level, 0..5, default 0
> -P pid_file a file name to receive a PID of a damonized process
> + -S socket agentx socket/port
> + default localhost:705
> -D db_home_dir amavis database directory ($db_home),
> default AMAVISD_DB_HOME or /var/amavis/db
> EOD
> @@ -735,7 +740,7 @@
> $SIG{TERM} = sub { die "terminated\n" }; # do the END code block
> $SIG{PIPE} = 'IGNORE'; # don't signal on a write to a widowed pipe
>
> - while (@ARGV >= 2 && $ARGV[0] =~ /^-[dDP]\z/ ||
> + while (@ARGV >= 2 && $ARGV[0] =~ /^-[dDPS]\z/ ||
> @ARGV >= 1 && $ARGV[0] =~ /^-[hVf-]\z/) {
> my($opt,$val);
> $opt = shift @ARGV;
> @@ -754,6 +759,8 @@
> $db_home = untaint($val) if $val ne '';
> } elsif ($opt eq '-P') { # -P pid_file
> $pid_filename = untaint($val) if $val ne '';
> + } elsif ($opt eq '-S') { # -S agentx_socket
> + $agentx_socket = untaint($val) if $val ne '';
> } else {
> die "Error in parsing command line options: $opt\n\n" . usage();
> }
> @@ -1100,6 +1107,10 @@
>
> #netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID,
> # NETSNMP_DS_LIB_DONT_READ_CONFIGS, 1);
> + if (defined($agentx_socket)) {
> + netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID,
> + NETSNMP_DS_AGENT_X_SOCKET, $agentx_socket);
> + }
>
> my($agent) = NetSNMP::agent->new('Name' => $agent_name, 'AgentX' => 1)
> or die "Can't create a SNMP agent $agent_name";
>
> ---------------------------------------------------------------------------
> --- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is
> the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> AMaViS-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/amavis-user
> AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
> AMaViS-HowTos:http://www.amavis.org/howto/
If we miss -S will listen 705 by default then?
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
AMaViS-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/amavis-user
AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
AMaViS-HowTos:http://www.amavis.org/howto/