mod_snmp
The mod_snmp
module implements SNMPv1 and SNMPv2, for monitoring
of proftpd
statistics via SNMP.
The mod_snmp
module does not currently support:
Set
requests
The mod_snmp
module is contained in the mod_snmp/
directory, is intended for ProFTPD 1.3.4rc3 and later, and is not compiled by
default. Installation instructions are discussed
here.
The most current version of mod_sftp
is distributed with the
ProFTPD source code.
Please contact TJ Saunders <tj at castaglia.org> with any questions, concerns, or suggestions regarding this module.
2013-01-09: Thanks to <cliles at capario.com> for testing
out most of the mod_snmp
features, requesting additional useful
functionality, and providing OpenNMS support/examples.
The SNMPAgent
directive configures the mod_snmp
module to act as a "master" SNMP agent/entity, or as an AgentX sub-agent.
(Note that the AgentX capability is not currently implemented.)
The address parameter can be an IP address or a DNS name; this
parameter configures the address/port on which mod_snmp
will listen
for UDP SNMP packets. By default, a port of 161 is assumed, use
address:port to specify an alternate port, e.g.:
SNMPAgent master localhost:1161Note that IPv6 addresses should be enclosed in square brackets, as they can contain colons as well, e.g.:
SNMPAgent master [::1]:1161
Multiple addresses can be supplied, allowing mod_snmp
to listen
on multiple addresses/ports simultaneously:
SNMPAgent master 1.2.3.4:1161 [a::f]:2262
Note that the SNMPAgent
directive is required.
The SNMPCommunity
directive configures the community
string (effectively a passphrase) used for authenticating SNMPv1 and SNMPv2
messages.
Note that the SNMPCommunity
directive is required.
The SNMPEngine
directive controls whether the mod_snmp
will run as an SNMP agent, and handle SNMP messages.
The SNMPLog
directive is used to specify a log file for
mod_snmp
's reporting. The file parameter given must be
the full path to the file to use for logging.
Note that this path must not be to a world-writable directory and,
unless AllowLogSymlinks
is explicitly set to on
(generally a bad idea), the path must not be a symbolic link.
<VirtualHost>
, <Global>
The SNMPNotify
directive is used to specify the address
of any SNMP manager that should receive any notification (i.e.
SNMPv2 trap) that mod_snmp
can generated. Read here for more details on the types of notifications that
mod_snmp
supports.
The address parameter can be an IP address or DNS name. By default, a port number of 162 is assumed. To specify the port number, use:
SNMPNotify address:port
Multiple SNMPNotify
directives can be configured;
mod_snmp
will send notifications to all of them.
The SNMPOptions
directive is used to configure various optional
behaviors of mod_snmp
.
Example:
SNMPOptions RestartClearsCounters
The currently implemented options are:
RestartClearsCounters
This option will cause mod_snmp
to clear/reset every
counter (except for the daemon.restartCount
counter)
whenever proftpd
is restarted via the SIGHUP signal.
The SNMPTables
directive is used to specify a directory that
mod_snmp
will use for storing its database files; these files
are used for tracking the various statistics reported via SNMP.
mod_snmp
module is distributed with ProFTPD. For including
mod_snmp
as a statically linked module, use:
$ ./configure --with-modules=mod_snmp ...Alternatively,
mod_snmp
can be built as a DSO module:
$ ./configure --enable-dso --with-shared=mod_snmp ...Then follow the usual steps:
$ make $ make install
Important Security Considerations
Do not configure mod_snmp
to listen on a public Internet
address. The information provided via mod_snmp
can be used
by attackers to gain more information about your running proftpd
,
including being able to determine whether their logins fail due to a wrong
password (in which case, they know that that user name is valid) or not. It
is highly recommended that you configure mod_snmp
to only
listen on internal/LAN addresses. Furthermore, you should employ a firewall
rule that rejects any UDP packets from the public Internet to your
proftpd
instance.
SNMP Listening Process
When proftpd
starts up with mod_snmp
enabled, the
mod_snmp
module will fork a new process that acts as the SNMP
agent, receiving and responding to all SNMP requests. This SNMP listening
process automatically switches to the privileges configured by the
User
and Group
directives, and will also automatically
chroot itself to a subdirectory of the SNMPTables
directory,
after which all root privileges are permanently dropped.
Example Configuration
The mod_snmp
module uses a UDP socket for listening for SNMP
requests. Thus it does not require any separate
<VirtualHost>
sections, and does not interfere with the
normal FTP operations.
Here is an example configuration for mod_snmp
:
<IfModule mod_snmp.c> SNMPEngine on SNMPLog /etc/proftpd/snmp/snmp.log # Configure the agent to listen on 1.2.3.4, port 161 SNMPAgent master 1.2.3.4 161 # Configure the SNMP community string SNMPCommunity MySnmpCommunity # Configure the directory that mod_snmp will use for its database files SNMPTables /var/proftpd/snmp </IfModule>
Access Controls for SNMP Messages
Since the SNMPv1/SNMPv2 does not have authentication of "users" as such,
the normal user/group-based ACLs that can be configured in proftpd
have no effect on SNMP messages.
In order to provide IP-based access control, then, the mod_snmp
module supports a <Limit SNMP>
section, like the following:
Example:
<Limit SNMP> # Allow SNMP packets from 10.x.x.x and 127.0.0.1 addresses Allow from 10., 127.0.0.1 DenyAll </Limit>It is easy to spoof the source address for UDP packets, however. So it is far better (and more secure) to use a firewall to restrict which UDP packets can reach the
mod_snmp
address/port.
Logging
The mod_snmp
module supports different forms of logging. The
main module logging is done via the SNMPLog
directive. For
debugging purposes, the module also uses trace logging, via the module-specific log channels:
proftpd.conf
:
TraceLog /path/to/snmp-trace.log Trace snmp:20This trace logging can generate large files; it is intended for debugging use only, and should be removed from any production configuration.
mod_snmp
OIDs
Note that all mod_snmp
OIDs begin with
1.3.6.1.4.1.17852.2.2. The ProFTPD
column in the table below
contains the ProFTPD versions where the OID is present.
OID | Name | Type | ProFTPD |
Description |
*.1.1.0 | daemon.software | STRING | 1.3.4rc3+ | Always "proftpd" |
*.1.2.0 | daemon.version | STRING | 1.3.4rc3+ | Version of proftpd |
*.1.3.0 | daemon.admin | STRING | 1.3.4rc3+ | Administrative contact, i.e. the ServerAdmin |
*.1.4.0 | daemon.uptime | TimeTicks | 1.3.4rc3+ | Uptime of the proftpd daemon |
*.1.5.0 | daemon.vhostCount | INTEGER | 1.3.4rc3+ | Number of vhosts (including "server config") configured |
*.1.6.0 | daemon.connectionCount | Gauge32 | 1.3.4rc3+ | Number of current connections |
*.1.7.0 | daemon.connectionTotal | Counter32 | 1.3.4rc3+ | Total number of connections since daemon started |
*.1.8.0 | daemon.connectionRefusedTotal | Counter32 | 1.3.4rc3+ | Total number of connections refused |
*.1.9.0 | daemon.restartCount | Counter32 | 1.3.4rc3+ | Total number of times daemon has been restarted |
*.1.10.0 | daemon.segfaultCount | Counter32 | 1.3.4rc3+ | Total number of SIGSEGV occurrences |
*.1.11.0 | daemon.maxInstancesLimitCount | Counter32 | 1.3.4rc3+ | Total number of times MaxInstances reached |
*.2.1.0 | timeouts.idleTimeoutTotal | Counter32 | 1.3.4rc3+ | Total number of times TimeoutIdle was reached |
*.2.2.0 | timeouts.loginTimeoutTotal | Counter32 | 1.3.4rc3+ | Total number of times TimeoutLogin was reached |
*.2.3.0 | timeouts.noTransferTimeoutTotal | Counter32 | 1.3.4rc3+ | Total number of times TimeoutNoTransfer was reached |
*.2.4.0 | timeouts.stalledTimeoutTotal | Counter32 | 1.3.4rc3+ | Total number of times TimeoutStalled was reached |
*.3.1.1.0 | ftp.sessions.sessionCount | Gauge32 | 1.3.4rc3+ | Number of current FTP sessions |
*.3.1.2.0 | ftp.sessions.sessionTotal | Counter32 | 1.3.4rc3+ | Total number of FTP sessions handled |
*.3.1.3.0 | ftp.sessions.commandInvalidTotal | Counter32 | 1.3.4rc3+ | Total number of invalid FTP commands received |
*.3.2.1.0 | ftp.logins.loginTotal | Counter32 | 1.3.4rc3+ | Total number of successful FTP logins |
*.3.2.2.0 | ftp.logins.loginFailedTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTP logins |
*.3.2.3.0 | ftp.logins.loginBadUserTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTP logins due to bad/wrong user name |
*.3.2.4.0 | ftp.logins.loginBadPasswordTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTP logins due to bad password |
*.3.2.5.0 | ftp.logins.loginGeneralErrorTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTP logins due to config/other issues |
*.3.2.6.0 | ftp.logins.anonLoginCount | Gauge32 | 1.3.4rc3+ | Number of current anonymous FTP logins |
*.3.2.7.0 | ftp.logins.anonLoginTotal | Counter32 | 1.3.4rc3+ | Total number of anonymous FTP logins |
*.3.3.1.0 | ftp.dataTransfers.dirListCount | Gauge32 | 1.3.4rc3+ | Number of directories currently being listed via FTP |
*.3.3.2.0 | ftp.dataTransfers.dirListTotal | Counter32 | 1.3.4rc3+ | Total number of directories listed via FTP |
*.3.3.3.0 | ftp.dataTransfers.dirListFailedTotal | Counter32 | 1.3.4rc3+ | Total number of directory list failures via FTP |
*.3.3.4.0 | ftp.dataTransfers.fileUploadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being uploaded via FTP |
*.3.3.5.0 | ftp.dataTransfers.fileUploadTotal | Counter32 | 1.3.4rc3+ | Total number of files uploaded via FTP |
*.3.3.6.0 | ftp.dataTransfers.fileUploadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file upload failures via FTP |
*.3.3.7.0 | ftp.dataTransfers.fileDownloadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being downloaded via FTP |
*.3.3.8.0 | ftp.dataTransfers.fileDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of files downloaded via FTP |
*.3.3.9.0 | ftp.dataTransfers.fileDownloadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file download failures via FTP |
*.3.3.10.0 | ftp.dataTransfers.kbUploadTotal | Counter32 | 1.3.4rc3+ | Total number of KB uploaded via FTP |
*.3.3.11.0 | ftp.dataTransfers.kbDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of KB downloaded via FTP |
*.4.1.0 | snmp.packetsReceivedTotal | Counter32 | 1.3.4rc3+ | Total number of SNMP packets received |
*.4.2.0 | snmp.packetsSentTotal | Counter32 | 1.3.4rc3+ | Total number of SNMP packets sent |
*.4.3.0 | snmp.trapsSentTotal | Counter32 | 1.3.4rc3+ | Total number of SNMP traps/notifications sent |
*.4.4.0 | snmp.packetsAuthFailedTotal | Counter32 | 1.3.4rc3+ | Total number of SNMP packets failing authentication check |
*.4.5.0 | snmp.packetsDroppedTotal | Counter32 | 1.3.4rc3+ | Total number of SNMP packets dropped |
*.5.1.1.0 | ftps.tlsSessions.sessionCount | Gauge32 | 1.3.4rc3+ | Number of current FTPS sessions |
*.5.1.2.0 | ftps.tlsSessions.sessionTotal | Counter32 | 1.3.4rc3+ | Total number of FTPS sessions handled |
*.5.1.3.0 | ftps.tlsSessions.ctrlHandshakeFailedTotal | Counter32 | 1.3.5rc1+ | Total number of failed control connection SSL/TLS handshakes |
*.5.1.4.0 | ftps.tlsSessions.dataHandshakeFailedTotal | Counter32 | 1.3.5rc1+ | Total number of failed data connection SSL/TLS handshakes |
*.5.1.5.0 | ftps.tlsSessions.clearCommandChannelTotal | Counter32 | 1.3.4rc3+ | Total number of successful CCC (Clear Command Channel) FTP commands |
*.5.1.6.0 | ftps.tlsSessions.clearCommandChannelFailedTotal | Counter32 | 1.3.4rc3+ | Total number of failed CCC (Clear Command Channel) FTP commands |
*.5.1.7.0 | ftps.tlsSessions.verifyClientTotal | Counter32 | 1.3.5rc2+ | Total number of successful client cert verifications |
*.5.1.8.0 | ftps.tlsSessions.verifyClientFailedTotal | Counter32 | 1.3.4rc3+ | Total number of failed client cert verifications |
*.5.2.1.0 | ftps.tlsLogins.loginTotal | Counter32 | 1.3.4rc3+ | Total number of successful FTPS logins |
*.5.2.2.0 | ftps.tlsLogins.loginFailedTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTPS logins |
*.5.2.3.0 | ftps.tlsLogins.loginBadUserTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTPS logins due to bad/wrong user name |
*.5.2.4.0 | ftps.tlsLogins.loginBadPasswordTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTPS logins due to bad password |
*.5.2.5.0 | ftps.tlsLogins.loginGeneralErrorTotal | Counter32 | 1.3.4rc3+ | Total number of failed FTPS logins due to config/other issues |
*.5.2.6.0 | ftps.tlsLogins.loginCertTotal | Counter32 | 1.3.4rc3+ | Total number of FTPS logins succeeding due to the client cert (e.g. AllowDotLogin TLSOption , TLSUserName , etc) |
*.5.3.1.0 | ftps.tlsDataTransfers.dirListCount | Gauge32 | 1.3.4rc3+ | Number of directories currently being listed via FTPS |
*.5.3.2.0 | ftps.tlsDataTransfers.dirListTotal | Counter32 | 1.3.4rc3+ | Total number of directories listed via FTPS |
*.5.3.3.0 | ftps.tlsDataTransfers.dirListFailedTotal | Counter32 | 1.3.4rc3+ | Total number of directory list failures via FTPS |
*.5.3.4.0 | ftps.tlsDataTransfers.fileUploadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being uploaded via FTPS |
*.5.3.5.0 | ftps.tlsDataTransfers.fileUploadTotal | Counter32 | 1.3.4rc3+ | Total number of files uploaded via FTPS |
*.5.3.6.0 | ftps.tlsDataTransfers.fileUploadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file upload failures via FTPS |
*.5.3.7.0 | ftps.tlsDataTransfers.fileDownloadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being downloaded via FTPS |
*.5.3.8.0 | ftps.tlsDataTransfers.fileDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of files downloaded via FTPS |
*.5.3.9.0 | ftps.tlsDataTransfers.fileDownloadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file download failures via FTPS |
*.5.3.10.0 | ftps.tlsDataTransfers.kbUploadTotal | Counter32 | 1.3.4rc3+ | Total number of KB uploaded via FTPS |
*.5.3.11.0 | ftps.tlsDataTransfers.kbDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of KB downloaded via FTPS |
*.6.1.1.0 | ssh.sshSessions.keyExchangeFailedTotal | Counter32 | 1.3.4c+ | Total number of SSH2 key exchange failures |
*.6.1.2.0 | ssh.sshSessions.clientCompressionTotal | Counter32 | 1.3.4c+ | Total number of SSH2 sessions using client-to-server compression |
*.6.1.3.0 | ssh.sshSessions.serverCompressionTotal | Counter32 | 1.3.4c+ | Total number of SSH2 sessions using server-to-client compression |
*.6.2.1.0 | ssh.sshLogins.hostbasedAuthTotal | Counter32 | 1.3.4c+ | Total number of SSH2 hostbased authentications |
*.6.2.2.0 | ssh.sshLogins.hostbasedAuthFailedTotal | Counter32 | 1.3.4c+ | Total number of failed SSH2 hostbased authentications |
*.6.2.3.0 | ssh.sshLogins.keyboardInteractiveAuthTotal | Counter32 | 1.3.4c+ | Total number of SSH2 keyboard-interactive authentications |
*.6.2.4.0 | ssh.sshLogins.keyboardInteractiveAuthFailedTotal | Counter32 | 1.3.4c+ | Total number of failed SSH2 keyboard-interactive authentications |
*.6.2.5.0 | ssh.sshLogins.passwordAuthTotal | Counter32 | 1.3.4c+ | Total number of SSH2 password authentications |
*.6.2.6.0 | ssh.sshLogins.passwordAuthFailedTotal | Counter32 | 1.3.4c+ | Total number of failed SSH2 password authentications |
*.6.2.7.0 | ssh.sshLogins.publickeyAuthTotal | Counter32 | 1.3.4c+ | Total number of SSH2 publickey authentications |
*.6.2.8.0 | ssh.sshLogins.publickeyAuthFailedTotal | Counter32 | 1.3.4c+ | Total number of failed SSH2 publickey authentications |
*.7.1.1.0 | sftp.sftpSessions.sessionCount | Gauge32 | 1.3.4c+ | Number of current SFTP sessions |
*.7.1.2.0 | sftp.sftpSessions.sessionTotal | Counter32 | 1.3.4c+ | Total number of SFTP sessions handled |
*.7.2.1.0 | sftp.sftpDataTransfers.dirListCount | Gauge32 | 1.3.4rc3+ | Number of directories currently being listed via SFTP |
*.7.2.2.0 | sftp.sftpDataTransfers.dirListTotal | Counter32 | 1.3.4rc3+ | Total number of directories listed via SFTP |
*.7.2.3.0 | sftp.sftpDataTransfers.dirListFailedTotal | Counter32 | 1.3.4rc3+ | Total number of directory list failures via SFTP |
*.7.2.4.0 | sftp.sftpDataTransfers.fileUploadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being uploaded via SFTP |
*.7.2.5.0 | sftp.sftpDataTransfers.fileUploadTotal | Counter32 | 1.3.4rc3+ | Total number of files uploaded via SFTP |
*.7.2.6.0 | sftp.sftpDataTransfers.fileUploadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file upload failures via SFTP |
*.7.2.7.0 | sftp.sftpDataTransfers.fileDownloadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being downloaded via SFTP |
*.7.2.8.0 | sftp.sftpDataTransfers.fileDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of files downloaded via SFTP |
*.7.2.9.0 | sftp.sftpDataTransfers.fileDownloadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file download failures via SFTP |
*.7.2.10.0 | sftp.sftpDataTransfers.kbUploadTotal | Counter32 | 1.3.4rc3+ | Total number of KB uploaded via SFTP |
*.7.2.11.0 | sftp.sftpDataTransfers.kbDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of KB downloaded via SFTP |
*.8.1.1.0 | scp.scpSessions.sessionCount | Gauge32 | 1.3.4c+ | Number of current SCP sessions |
*.8.1.2.0 | scp.scpSessions.sessionTotal | Counter32 | 1.3.4c+ | Total number of SCP sessions handled |
*.8.2.1.0 | scp.scpDataTransfers.fileUploadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being uploaded via SCP |
*.8.2.2.0 | scp.scpDataTransfers.fileUploadTotal | Counter32 | 1.3.4rc3+ | Total number of files uploaded via SCP |
*.8.2.3.0 | scp.scpDataTransfers.fileUploadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file upload failures via SCP |
*.8.2.4.0 | scp.scpDataTransfers.fileDownloadCount | Gauge32 | 1.3.4rc3+ | Number of files currently being downloaded via SCP |
*.8.2.5.0 | scp.scpDataTransfers.fileDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of files downloaded via SCP |
*.8.2.6.0 | scp.scpDataTransfers.fileDownloadFailedTotal | Counter32 | 1.3.4rc3+ | Total number of file download failures via SCP |
*.8.2.7.0 | scp.scpDataTransfers.kbUploadTotal | Counter32 | 1.3.4rc3+ | Total number of KB uploaded via SCP |
*.8.2.8.0 | scp.scpDataTransfers.kbDownloadTotal | Counter32 | 1.3.4rc3+ | Total number of KB downloaded via SCP |
*.9.1.1.0 | ban.connections.connectionBannedTotal | Counter32 | 1.3.5rc2+ | Total number of connections rejected by bans |
*.9.1.2.0 | ban.connections.userBannedTotal | Counter32 | 1.3.5rc2+ | Total number of connections rejected by user-specific bans |
*.9.1.3.0 | ban.connections.hostBannedTotal | Counter32 | 1.3.5rc2+ | Total number of connections rejected by host-specific bans |
*.9.1.4.0 | ban.connections.classBannedTotal | Counter32 | 1.3.5rc2+ | Total number of connections rejected by class-specific bans |
*.9.2.1.0 | ban.bans.banCount | Gauge32 | 1.3.5rc2+ | Total number of bans currently in effect |
*.9.2.2.0 | ban.bans.banTotal | Counter32 | 1.3.5rc2+ | Total number of bans that were ever in effect |
*.9.2.3.0 | ban.bans.userBanCount | Gauge32 | 1.3.5rc2+ | Total number of user-specific bans currently in effect |
*.9.2.4.0 | ban.bans.userBanTotal | Counter32 | 1.3.5rc2+ | Total number of user-specific bans that were ever in effect |
*.9.2.5.0 | ban.bans.hostBanCount | Gauge32 | 1.3.5rc2+ | Total number of host-specific bans currently in effect |
*.9.2.6.0 | ban.bans.hostBanTotal | Counter32 | 1.3.5rc2+ | Total number of host-specific bans that were ever in effect |
*.9.2.7.0 | ban.bans.classBanCount | Gauge32 | 1.3.5rc2+ | Total number of class-specific bans currently in effect |
*.9.2.8.0 | ban.bans.classBanTotal | Counter32 | 1.3.5rc2+ | Total number of class-specific bans that were ever in effect |
SNMP MIB
The MIB provided for proftpd
is distributed with the
mod_snmp
module source code, and will be installed by default.
It is contained in the "PROFTPD-MIB.txt" file, and uses SMIv2.
Suggested Future Features
The following lists the features I hope to add to mod_snmp
,
according to need, demand, inclination, and time:
Notifications
The mod_snmp
module supports sending notifications (via SNMP
traps) whenever certain events occur or conditions are met. Note
that only SNMPv2 traps are generated; there is currently no support for
SNMPv1 traps.
Currently supported notifications:
MaxInstances
limit exceeded
To enable notifications, simply configure the address of an SNMP manager
that should be notified via the
SNMPNotify
directive.
Frequently Asked Questions
Question: How can I query the mod_snmp
Agent process?
Answer: You can test if your proftpd
supports SNMP with the snmpwalk
program (snmpwalk
is
a part of the
Net-SNMP
project).
Note that you have to specify the SNMP port, which in mod_snmp
is
configured via the SNMPAgent
directive.
For example, you might try:
# snmpwalk -m /path/to/PROFTPD-MIB.txt -v2c -Cc -c communitystring hostname:161 .1.3.6.1.4.1.17852.2.2If it gives output like:
enterprises.proftpd.modules.snmp.daemon.software = proftpd enterprises.proftpd.modules.snmp.daemon.softwareVersion = ProFTPD Version 1.3.4rc4 (built at Sat Oct 22 2011 11:50:38 PDT) enterprises.proftpd.modules.snmp.daemon.admin = root@127.0.0.1or
PROFTPD-MIB::software.0 = String: proftpd PROFTPD-MIB::softwareVersion.0 = STRING: ProFTPD Version 1.3.4rc4 (built at Sat Oct 22 2011 11:50:38 PDT) PROFTPD-MIB::admin.0 = STRING: root@127.0.0.1or
SNMPv2-SMI::enterprises.17852.2.2.1.1.0 = STRING: "proftpd" SNMPv2-SMI::enterprises.17852.2.2.1.2.0 = STRING: "ProFTPD Version 1.3.4rc4 (built at Sat Oct 22 2011 11:50:38 PDT)" SNMPv2-SMI::enterprises.17852.2.2.1.3.0 = STRING: "root@127.0.0.1"then your
proftpd
was compiled with the mod_snmp
module and it is working properly; you should be able to make nice statistics
out of it.
Question: Why doesn't the
scp.scpDataTransfers
arc have any directory listing
counters/gauges, such as the ftp.dataTransfers
and
sftp.sftpDataTransfers
arcs do?
Answer: The SCP protocol does not have the ability
to get just a directory listing; the protocol only transfers files.