-
Notifications
You must be signed in to change notification settings - Fork 56
Home
SnmpCollector is an Open Source tool and is full featured Generic SNMP data collector with Web Administration Interface which has as main goal simplify the configuration for getting data from any device witch snmp protocol support and send resulting data to a influxdb.
These are the features for the snmp agent and the webui embedded tool
- SNMP versions 1, 2/2c, 3
- Support for gather any SNMP (SMI) data type.
- Support for cooked counters , can compute increments and/or rate conversion
- Support for cooked STRINGS to get any sub-string as integer
- Support for cooked Process data from previously gathered data (these are the supported expressions )
- Gather of SNMP Scalar an Tabular values.
- Support for filtering table rows, based on snmp data conditions (OIDConditions)
- Support for table row filtering,based on fixed rules (fileConditions) --compatibility with influxsnmp tool--
- Support for custom filters from any table (online selectable via webUI)
- Support for multiple conditions (combined in evaluated expressions)
- Support for Override column aliases with custom labels
- Send self monitoring stats to any influxdb
- Support for Influxdb > 1.0
- SQLite/MySQL SQL based configuration
- influxdb complete customized measurements,field and tag names
- Metric OID Condition Counter (to send only counted results of OID conditions)
- Complete configuration Interface for all objects
- Snmp web console as snmpget/snmpwalk replacement
- Automatic snmp connectivity check
- Online Runtime data viewer for all gathered metrics.
- Online Configuration reload
- Online device activation/deactivation , and log
- REST API support
- Configuration for Import and Export
- Automatic OID lookup and form completion from MIB database
- token based authentication to enable Remote Authentication via REST API
Head to and download the latest release and Install the suitable package for your distribution
Debian | RedHat |
---|---|
deb - signature | rpm - signature |
You can see a list of features and changes in the ChangeLog
Check an feel free to change any of the predefined parameters in the main configuration placed in /etc/snmpcollector/config.toml
############################
# General Config
############################
[general]
# InstanceID will be a string identifying the collector , It will be useful when
# more than one running on the same server, this ID will be shown in the WebUI.
instanceID = "WAN Communicactions"
# datadir set the directory where the data will be placed , also sqlite db if set as db engine
# if not set the default datadir will be placed in the configuration directory
# datadir = "/var/lib/snmpcollector"
# there are as many logs as devices configured
# logdir set the Directory path for each device individual log, default is /var/log/snmpcollector
# logdir = "/var/log/somelogpath"
# NOTE: main process log is now sent to standard output
# logLevel set the main process log level
# valid values: panic,fatal,error,warn,info,debug
logLevel = "warn"
############################
# DataBase Config
############################
[database]
#type sets the sql backend , valid values sqlite3,mysql
type = "sqlite3"
# these parameters are only for mysql
# host = 127.0.0.1:3306
# user = "root"
# password = ""
# name sets the database name
name = "snmpcollector"
# sqllogfile sets the name for a file in the log/ directory where sql backend will write all SQL transactions
# sqllogfile = "sql.log"
# debug adds extra verbosity to the SQL log
debug = false
############################
# Self Monitorig Config
############################
#config for sending self monitoring metrics to our default influx db
# Sent Measurements will be <prefix>selfmon_gvm with the following fields
# runtime_goroutines
# *mem.alloc
# *mem.mallocs
# *mem.frees
# *gc.total_pause_ns
# *memory.heap
# *gc.pause_per_second
# *gc.pause_per_interval
# *gc.gc_per_second
# *gc.gc_per_interval
[selfmon]
#enable true/false enable/disable self monitoring
enabled = true
#send data Frequency
freq = 60
#prefix for measurement naming
prefix = ""
#adds extra tags to the measurement config should be set as a csv - tag=value1,tag2=value2,...,tagN=valN
extratags = [ "instance=snmpcollector01" ]
############################
# Embedded WebServer Config
############################
[http]
#port where webserver will listen waiting for connections
port = 8090
#Admin credentials to access to the SnmpCollector agent
adminuser = "adm1"
adminpassword = "adm1pass"
#When more than one instance you will need customize the cookie_id allowing navigate to all instances
cookieid ="my_instance_cookie"
After that you will be able to start an snmpcollector agent instance with a zero configuration (without devices or metric definitions).
If you have any problems please open issue to the snmpcollector team
Open the url http://your_snmpcollector_agent_host:8090/
You will be prompted to insert valid credentials.
Once logged you will see the main Runtime view with a list of devices and it's state.
snmpcollector has not yet support for different users with customized Access control , right now It has only one administrative user that can be customized into the [database] config.toml section with full access to all devices, configurations, runtime , console
Component | Description |
---|---|
Influx Servers | Add/edit/view InfluxDB servers to store data |
OID Conditions | Add/edit/view OID queries with some conditions to be applied on Metrics and Filters |
SNMP Metrics | Add/edit/view Metrics you want to collect |
Measurements | Add/edit/view Measurements with selected defined Metrics |
Measurement Groups | Add/edit/view groups of Measurements to create easy configuration templates |
Measurement Filters | Add/edit/view Filters to be applied on Measurements and attached to the Device |
Custom Filters | Add/edit/view filters based on a results query |
SNMP Devices | Add/edit/view desired Devices to collect data from |
All components are listed with a table. The list view allows the user to add/modify/view/remove items stored on database.
- Edit Item: enters on modify view allowing to modify components parameters
- Export Item: Allows the user export selected item.
- View Item: Allows the user to see all parameters of selected item
- New Item: Allows the user enter into parameters form to create a new component
- Filter: Allows the user filter all columns. Note: it accepts regex expressions
- Remove Item: Allows the user to remove selected item. When it is clicked it will show to the user elements that would be affected if the item is removed.
- Items per page: select the maximum items shown at same page
Component | Description |
---|---|
Runtime | View what the agent is collecting and change options on runtime |
Component | Description |
---|---|
Import | Allows the user import data from file |
Export | Allows the user export data from different components |