Documentation ¶
Index ¶
- func CatalogVar2Map(cv map[string]*VarCatalogCfg) map[string]interface{}
- func InitMetricsCfg(cfg *DBConfig) error
- func SetDirs(data string, log string, conf string)
- func SetLogger(l *logrus.Logger)
- type Config
- type ConversionMode
- type CustomFilterCfg
- type CustomFilterItems
- type DBConfig
- type DatabaseCfg
- func (dbc *DatabaseCfg) AddCustomFilterCfg(dev CustomFilterCfg) (int64, error)
- func (dbc *DatabaseCfg) AddInfluxCfg(dev InfluxCfg) (int64, error)
- func (dbc *DatabaseCfg) AddMGroupsCfg(dev MGroupsCfg) (int64, error)
- func (dbc *DatabaseCfg) AddMeasFilterCfg(dev MeasFilterCfg) (int64, error)
- func (dbc *DatabaseCfg) AddMeasurementCfg(dev MeasurementCfg) (int64, error)
- func (dbc *DatabaseCfg) AddOidConditionCfg(dev OidConditionCfg) (int64, error)
- func (dbc *DatabaseCfg) AddSnmpDeviceCfg(dev SnmpDeviceCfg) (int64, error)
- func (dbc *DatabaseCfg) AddSnmpMetricCfg(dev SnmpMetricCfg) (int64, error)
- func (dbc *DatabaseCfg) AddVarCatalogCfg(dev VarCatalogCfg) (int64, error)
- func (dbc *DatabaseCfg) DelCustomFilterCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelInfluxCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelMGroupsCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelMeasFilterCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelMeasurementCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelOidConditionCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelSnmpDeviceCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelSnmpMetricCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) DelVarCatalogCfg(id string) (int64, error)
- func (dbc *DatabaseCfg) GeSnmpDeviceCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetCustomFilterCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetCustomFilterCfgArray(filter string) ([]*CustomFilterCfg, error)
- func (dbc *DatabaseCfg) GetCustomFilterCfgByID(id string) (CustomFilterCfg, error)
- func (dbc *DatabaseCfg) GetCustomFilterCfgMap(filter string) (map[string]*CustomFilterCfg, error)
- func (dbc *DatabaseCfg) GetInfluxCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetInfluxCfgArray(filter string) ([]*InfluxCfg, error)
- func (dbc *DatabaseCfg) GetInfluxCfgByID(id string) (InfluxCfg, error)
- func (dbc *DatabaseCfg) GetInfluxCfgMap(filter string) (map[string]*InfluxCfg, error)
- func (dbc *DatabaseCfg) GetMGroupsCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetMGroupsCfgArray(filter string) ([]*MGroupsCfg, error)
- func (dbc *DatabaseCfg) GetMGroupsCfgByID(id string) (MGroupsCfg, error)
- func (dbc *DatabaseCfg) GetMGroupsCfgMap(filter string) (map[string]*MGroupsCfg, error)
- func (dbc *DatabaseCfg) GetMeasFilterCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetMeasFilterCfgArray(filter string) ([]*MeasFilterCfg, error)
- func (dbc *DatabaseCfg) GetMeasFilterCfgByID(id string) (MeasFilterCfg, error)
- func (dbc *DatabaseCfg) GetMeasFilterCfgMap(filter string) (map[string]*MeasFilterCfg, error)
- func (dbc *DatabaseCfg) GetMeasurementCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetMeasurementCfgArray(filter string) ([]*MeasurementCfg, error)
- func (dbc *DatabaseCfg) GetMeasurementCfgByID(id string) (MeasurementCfg, error)
- func (dbc *DatabaseCfg) GetMeasurementCfgMap(filter string) (map[string]*MeasurementCfg, error)
- func (dbc *DatabaseCfg) GetOidConditionCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetOidConditionCfgArray(filter string) ([]*OidConditionCfg, error)
- func (dbc *DatabaseCfg) GetOidConditionCfgByID(id string) (OidConditionCfg, error)
- func (dbc *DatabaseCfg) GetOidConditionCfgMap(filter string) (map[string]*OidConditionCfg, error)
- func (dbc *DatabaseCfg) GetSnmpDeviceCfgArray(filter string) ([]*SnmpDeviceCfg, error)
- func (dbc *DatabaseCfg) GetSnmpDeviceCfgByID(id string) (SnmpDeviceCfg, error)
- func (dbc *DatabaseCfg) GetSnmpDeviceCfgMap(filter string) (map[string]*SnmpDeviceCfg, error)
- func (dbc *DatabaseCfg) GetSnmpMetricCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetSnmpMetricCfgArray(filter string) ([]*SnmpMetricCfg, error)
- func (dbc *DatabaseCfg) GetSnmpMetricCfgByID(id string) (SnmpMetricCfg, error)
- func (dbc *DatabaseCfg) GetSnmpMetricCfgMap(filter string) (map[string]*SnmpMetricCfg, error)
- func (dbc *DatabaseCfg) GetVarCatalogCfgAffectOnDel(id string) ([]*DbObjAction, error)
- func (dbc *DatabaseCfg) GetVarCatalogCfgArray(filter string) ([]*VarCatalogCfg, error)
- func (dbc *DatabaseCfg) GetVarCatalogCfgByID(id string) (VarCatalogCfg, error)
- func (dbc *DatabaseCfg) GetVarCatalogCfgMap(filter string) (map[string]*VarCatalogCfg, error)
- func (dbc *DatabaseCfg) InitDB() error
- func (dbc *DatabaseCfg) LoadDbConfig(cfg *DBConfig)
- func (dbc *DatabaseCfg) UpdateCustomFilterCfg(id string, dev CustomFilterCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateInfluxCfg(id string, dev InfluxCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateMGroupsCfg(id string, dev MGroupsCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateMeasFilterCfg(id string, dev MeasFilterCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateMeasurementCfg(id string, dev MeasurementCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateOidConditionCfg(id string, dev OidConditionCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateSnmpDeviceCfg(id string, dev SnmpDeviceCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateSnmpMetricCfg(id string, dev SnmpMetricCfg) (int64, error)
- func (dbc *DatabaseCfg) UpdateVarCatalogCfg(id string, dev VarCatalogCfg) (int64, error)
- type DbObjAction
- type GeneralConfig
- type HTTPConfig
- type InfluxCfg
- type MGroupsCfg
- type MGroupsMeasurements
- type MeasFilterCfg
- type MeasurementCfg
- func (mc *MeasurementCfg) CheckComputedMetricEval(parameters map[string]interface{}) error
- func (mc *MeasurementCfg) CheckComputedMetricVars(parameters map[string]interface{}) error
- func (mc *MeasurementCfg) GetAllUsedVarNamesInMetrics() ([]string, error)
- func (mc *MeasurementCfg) GetEvaluableVarNames() ([]string, error)
- func (mc *MeasurementCfg) GetExternalVars() ([]string, error)
- func (mc *MeasurementCfg) Init(MetricCfg *map[string]*SnmpMetricCfg, varmap map[string]interface{}) error
- type MeasurementFieldCfg
- type MeasurementFieldReport
- type MetricMultiMap
- type MultiIndexCfg
- type MultipleTagOID
- type OidConditionCfg
- type SelfMonConfig
- type SnmpDevFilters
- type SnmpDevMGroups
- type SnmpDeviceCfg
- type SnmpMetricCfg
- func (m *SnmpMetricCfg) CheckEvalCfg(parameters map[string]interface{}) error
- func (m *SnmpMetricCfg) GetEvaluableVarNames() ([]string, error)
- func (m *SnmpMetricCfg) GetMetricHeader(report int) interface{}
- func (m *SnmpMetricCfg) GetMultiStringTagFieldMap() ([]*MetricMultiMap, error)
- func (m *SnmpMetricCfg) GetUsedVarNames() ([]string, error)
- func (m *SnmpMetricCfg) GetValidConversions() ([]ConversionMode, ConversionMode, error)
- func (m *SnmpMetricCfg) Init() error
- func (m *SnmpMetricCfg) MarshalJSON() ([]byte, error)
- func (m *SnmpMetricCfg) UnmarshalJSON(data []byte) error
- type VarCatalogCfg
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CatalogVar2Map ¶
func CatalogVar2Map(cv map[string]*VarCatalogCfg) map[string]interface{}
CatalogVar2Map return interface map from variable table
func InitMetricsCfg ¶
InitMetricsCfg this function does 2 things 1.- Initialice id from key of maps for all SnmpMetricCfg and InfluxMeasurementCfg objects 2.- Initialice references between InfluxMeasurementCfg and SnmpMetricGfg objects
InitMetricsCfg xx
Types ¶
type Config ¶
type Config struct { General GeneralConfig `mapstructure:"general"` Database DatabaseCfg `mapstructure:"database"` Selfmon SelfMonConfig `mapstructure:"selfmon"` HTTP HTTPConfig `mapstructure:"http"` }
Config Main Configuration struct
type ConversionMode ¶
type ConversionMode int
const ( FLOAT ConversionMode = 0 INTEGER ConversionMode = 1 UNSIGNED ConversionMode = 2 STRING ConversionMode = 3 BOOLEAN ConversionMode = 4 HWADDRESS ConversionMode = 5 IPADDRESS ConversionMode = 6 NONE ConversionMode = 5000 )
func (ConversionMode) GetString ¶
func (c ConversionMode) GetString() string
GetString transform type to string
type CustomFilterCfg ¶
type CustomFilterCfg struct { ID string `xorm:"'id' unique" binding:"Required"` Description string `xorm:"description"` RelatedDev string `xorm:"related_dev"` RelatedMeas string `xorm:"related_meas"` Items []struct { TagID string Alias string } `xorm:"-"` }
CustomFilterCfg table with user custom choosed indexes swagger:model CustomFilterCfg
type CustomFilterItems ¶
type CustomFilterItems struct { CustomID string `xorm:"customid"` TagID string `xorm:"tagid"` Alias string `xorm:"alias"` }
CustomFilterItems list of items on each custom filter
type DBConfig ¶
type DBConfig struct { Metrics map[string]*SnmpMetricCfg Measurements map[string]*MeasurementCfg MFilters map[string]*MeasFilterCfg GetGroups map[string]*MGroupsCfg SnmpDevice map[string]*SnmpDeviceCfg Influxdb map[string]*InfluxCfg VarCatalog map[string]interface{} }
DBConfig read from DB
type DatabaseCfg ¶
type DatabaseCfg struct { Type string `mapstructure:"type" envconfig:"SNMPCOL_DATABASE_DRIVER_TYPE"` Host string `mapstructure:"host" envconfig:"SNMPCOL_DATABASE_SERVER_HOST"` Name string `mapstructure:"name" envconfig:"SNMPCOL_DATABASE_NAME"` User string `mapstructure:"user" envconfig:"SNMPCOL_DATABASE_USERNAME"` Password string `mapstructure:"password" envconfig:"SNMPCOL_DATABASE_PASSWORD"` SslMode string `mapstructure:"ssl_mode" envconfig:"SNMPCOL_DATABASE_SSL_MODE"` ClientCertPath string `mapstructure:"client_cert_path" envconfig:"SNMPCOL_DATABASE_CLIENT_CERT_PATH"` ClientKeyPath string `mapstructure:"client_key_path" envconfig:"SNMPCOL_DATABASE_CLIENT_KEY_PATH"` CaCertPath string `mapstructure:"ca_cert_path" envconfig:"SNMPCOL_DATABASE_CA_CERT_PATH"` SQLLogFile string `mapstructure:"sqllogfile" envconfig:"SNMPCOL_DATABASE_SQL_LOG_FILE"` Debug string `mapstructure:"debug" envconfig:"SNMPCOL_DATABASE_SQL_DEBUG"` LogMode string `mapstructure:"log_mode" envconfig:"SNMPCOL_DATABASE_LOG_MODE"` // contains filtered or unexported fields }
DatabaseCfg de configuration for the database
func (*DatabaseCfg) AddCustomFilterCfg ¶
func (dbc *DatabaseCfg) AddCustomFilterCfg(dev CustomFilterCfg) (int64, error)
AddCustomFilterCfg for adding new Metric
func (*DatabaseCfg) AddInfluxCfg ¶
func (dbc *DatabaseCfg) AddInfluxCfg(dev InfluxCfg) (int64, error)
AddInfluxCfg for adding new devices
func (*DatabaseCfg) AddMGroupsCfg ¶
func (dbc *DatabaseCfg) AddMGroupsCfg(dev MGroupsCfg) (int64, error)
AddMGroupsCfg for adding new Metric
func (*DatabaseCfg) AddMeasFilterCfg ¶
func (dbc *DatabaseCfg) AddMeasFilterCfg(dev MeasFilterCfg) (int64, error)
AddMeasFilterCfg for adding new Metric
func (*DatabaseCfg) AddMeasurementCfg ¶
func (dbc *DatabaseCfg) AddMeasurementCfg(dev MeasurementCfg) (int64, error)
AddMeasurementCfg for adding new Metric
func (*DatabaseCfg) AddOidConditionCfg ¶
func (dbc *DatabaseCfg) AddOidConditionCfg(dev OidConditionCfg) (int64, error)
AddOidConditionCfg for adding new Metric
func (*DatabaseCfg) AddSnmpDeviceCfg ¶
func (dbc *DatabaseCfg) AddSnmpDeviceCfg(dev SnmpDeviceCfg) (int64, error)
AddSnmpDeviceCfg for adding new devices
func (*DatabaseCfg) AddSnmpMetricCfg ¶
func (dbc *DatabaseCfg) AddSnmpMetricCfg(dev SnmpMetricCfg) (int64, error)
AddSnmpMetricCfg for adding new Metric
func (*DatabaseCfg) AddVarCatalogCfg ¶
func (dbc *DatabaseCfg) AddVarCatalogCfg(dev VarCatalogCfg) (int64, error)
AddVarCatalogCfg for adding new Global Variable
func (*DatabaseCfg) DelCustomFilterCfg ¶
func (dbc *DatabaseCfg) DelCustomFilterCfg(id string) (int64, error)
DelCustomFilterCfg for deleting influx databases from ID
func (*DatabaseCfg) DelInfluxCfg ¶
func (dbc *DatabaseCfg) DelInfluxCfg(id string) (int64, error)
DelInfluxCfg for deleting influx databases from ID
func (*DatabaseCfg) DelMGroupsCfg ¶
func (dbc *DatabaseCfg) DelMGroupsCfg(id string) (int64, error)
DelMGroupsCfg for deleting influx databases from ID
func (*DatabaseCfg) DelMeasFilterCfg ¶
func (dbc *DatabaseCfg) DelMeasFilterCfg(id string) (int64, error)
DelMeasFilterCfg for deleting influx databases from ID
func (*DatabaseCfg) DelMeasurementCfg ¶
func (dbc *DatabaseCfg) DelMeasurementCfg(id string) (int64, error)
DelMeasurementCfg for deleting influx databases from ID
func (*DatabaseCfg) DelOidConditionCfg ¶
func (dbc *DatabaseCfg) DelOidConditionCfg(id string) (int64, error)
DelOidConditionCfg for deleting influx databases from ID
func (*DatabaseCfg) DelSnmpDeviceCfg ¶
func (dbc *DatabaseCfg) DelSnmpDeviceCfg(id string) (int64, error)
DelSnmpDeviceCfg for deleting devices from ID
func (*DatabaseCfg) DelSnmpMetricCfg ¶
func (dbc *DatabaseCfg) DelSnmpMetricCfg(id string) (int64, error)
DelSnmpMetricCfg for deleting influx databases from ID
func (*DatabaseCfg) DelVarCatalogCfg ¶
func (dbc *DatabaseCfg) DelVarCatalogCfg(id string) (int64, error)
DelVarCatalogCfg for deleting influx databases from ID
func (*DatabaseCfg) GeSnmpDeviceCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GeSnmpDeviceCfgAffectOnDel(id string) ([]*DbObjAction, error)
GeSnmpDeviceCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetCustomFilterCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetCustomFilterCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetCustomFilterCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetCustomFilterCfgArray ¶
func (dbc *DatabaseCfg) GetCustomFilterCfgArray(filter string) ([]*CustomFilterCfg, error)
GetCustomFilterCfgArray generate an array of metrics with all its information
func (*DatabaseCfg) GetCustomFilterCfgByID ¶
func (dbc *DatabaseCfg) GetCustomFilterCfgByID(id string) (CustomFilterCfg, error)
GetCustomFilterCfgByID get metric data by id
func (*DatabaseCfg) GetCustomFilterCfgMap ¶
func (dbc *DatabaseCfg) GetCustomFilterCfgMap(filter string) (map[string]*CustomFilterCfg, error)
GetCustomFilterCfgMap return data in map format
func (*DatabaseCfg) GetInfluxCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetInfluxCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetInfluxCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetInfluxCfgArray ¶
func (dbc *DatabaseCfg) GetInfluxCfgArray(filter string) ([]*InfluxCfg, error)
GetInfluxCfgArray generate an array of devices with all its information
func (*DatabaseCfg) GetInfluxCfgByID ¶
func (dbc *DatabaseCfg) GetInfluxCfgByID(id string) (InfluxCfg, error)
GetInfluxCfgByID get device data by id
func (*DatabaseCfg) GetInfluxCfgMap ¶
func (dbc *DatabaseCfg) GetInfluxCfgMap(filter string) (map[string]*InfluxCfg, error)
GetInfluxCfgMap return data in map format
func (*DatabaseCfg) GetMGroupsCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetMGroupsCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetMGroupsCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetMGroupsCfgArray ¶
func (dbc *DatabaseCfg) GetMGroupsCfgArray(filter string) ([]*MGroupsCfg, error)
GetMGroupsCfgArray generate an array of metrics with all its information
func (*DatabaseCfg) GetMGroupsCfgByID ¶
func (dbc *DatabaseCfg) GetMGroupsCfgByID(id string) (MGroupsCfg, error)
GetMGroupsCfgByID get metric data by id
func (*DatabaseCfg) GetMGroupsCfgMap ¶
func (dbc *DatabaseCfg) GetMGroupsCfgMap(filter string) (map[string]*MGroupsCfg, error)
GetMGroupsCfgMap return data in map format
func (*DatabaseCfg) GetMeasFilterCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetMeasFilterCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetMeasFilterCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetMeasFilterCfgArray ¶
func (dbc *DatabaseCfg) GetMeasFilterCfgArray(filter string) ([]*MeasFilterCfg, error)
GetMeasFilterCfgArray generate an array of measurements with all its information
func (*DatabaseCfg) GetMeasFilterCfgByID ¶
func (dbc *DatabaseCfg) GetMeasFilterCfgByID(id string) (MeasFilterCfg, error)
GetMeasFilterCfgByID get metric data by id
func (*DatabaseCfg) GetMeasFilterCfgMap ¶
func (dbc *DatabaseCfg) GetMeasFilterCfgMap(filter string) (map[string]*MeasFilterCfg, error)
GetMeasFilterCfgMap return data in map format
func (*DatabaseCfg) GetMeasurementCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetMeasurementCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetMeasurementCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetMeasurementCfgArray ¶
func (dbc *DatabaseCfg) GetMeasurementCfgArray(filter string) ([]*MeasurementCfg, error)
GetMeasurementCfgArray generate an array of measurements with all its information
func (*DatabaseCfg) GetMeasurementCfgByID ¶
func (dbc *DatabaseCfg) GetMeasurementCfgByID(id string) (MeasurementCfg, error)
GetMeasurementCfgByID get metric data by id
func (*DatabaseCfg) GetMeasurementCfgMap ¶
func (dbc *DatabaseCfg) GetMeasurementCfgMap(filter string) (map[string]*MeasurementCfg, error)
GetMeasurementCfgMap return data in map format
func (*DatabaseCfg) GetOidConditionCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetOidConditionCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetOidConditionCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetOidConditionCfgArray ¶
func (dbc *DatabaseCfg) GetOidConditionCfgArray(filter string) ([]*OidConditionCfg, error)
GetOidConditionCfgArray generate an array of metrics with all its information
func (*DatabaseCfg) GetOidConditionCfgByID ¶
func (dbc *DatabaseCfg) GetOidConditionCfgByID(id string) (OidConditionCfg, error)
GetOidConditionCfgByID get metric data by id
func (*DatabaseCfg) GetOidConditionCfgMap ¶
func (dbc *DatabaseCfg) GetOidConditionCfgMap(filter string) (map[string]*OidConditionCfg, error)
GetOidConditionCfgMap return data in map format
func (*DatabaseCfg) GetSnmpDeviceCfgArray ¶
func (dbc *DatabaseCfg) GetSnmpDeviceCfgArray(filter string) ([]*SnmpDeviceCfg, error)
GetSnmpDeviceCfgArray generate an array of devices with all its information
func (*DatabaseCfg) GetSnmpDeviceCfgByID ¶
func (dbc *DatabaseCfg) GetSnmpDeviceCfgByID(id string) (SnmpDeviceCfg, error)
GetSnmpDeviceCfgByID get device data by id
func (*DatabaseCfg) GetSnmpDeviceCfgMap ¶
func (dbc *DatabaseCfg) GetSnmpDeviceCfgMap(filter string) (map[string]*SnmpDeviceCfg, error)
GetSnmpDeviceCfgMap return data in map format
func (*DatabaseCfg) GetSnmpMetricCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetSnmpMetricCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetSnmpMetricCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetSnmpMetricCfgArray ¶
func (dbc *DatabaseCfg) GetSnmpMetricCfgArray(filter string) ([]*SnmpMetricCfg, error)
GetSnmpMetricCfgArray generate an array of metrics with all its information
func (*DatabaseCfg) GetSnmpMetricCfgByID ¶
func (dbc *DatabaseCfg) GetSnmpMetricCfgByID(id string) (SnmpMetricCfg, error)
GetSnmpMetricCfgByID get metric data by id
func (*DatabaseCfg) GetSnmpMetricCfgMap ¶
func (dbc *DatabaseCfg) GetSnmpMetricCfgMap(filter string) (map[string]*SnmpMetricCfg, error)
GetSnmpMetricCfgMap return data in map format
func (*DatabaseCfg) GetVarCatalogCfgAffectOnDel ¶
func (dbc *DatabaseCfg) GetVarCatalogCfgAffectOnDel(id string) ([]*DbObjAction, error)
GetVarCatalogCfgAffectOnDel for deleting devices from ID
func (*DatabaseCfg) GetVarCatalogCfgArray ¶
func (dbc *DatabaseCfg) GetVarCatalogCfgArray(filter string) ([]*VarCatalogCfg, error)
GetVarCatalogCfgArray generate an array of metrics with all its information
func (*DatabaseCfg) GetVarCatalogCfgByID ¶
func (dbc *DatabaseCfg) GetVarCatalogCfgByID(id string) (VarCatalogCfg, error)
GetVarCatalogCfgByID get metric data by id
func (*DatabaseCfg) GetVarCatalogCfgMap ¶
func (dbc *DatabaseCfg) GetVarCatalogCfgMap(filter string) (map[string]*VarCatalogCfg, error)
GetVarCatalogCfgMap return data in map format
func (*DatabaseCfg) InitDB ¶
func (dbc *DatabaseCfg) InitDB() error
InitDB initialize de BD configuration
func (*DatabaseCfg) LoadDbConfig ¶
func (dbc *DatabaseCfg) LoadDbConfig(cfg *DBConfig)
LoadDbConfig get data from database
func (*DatabaseCfg) UpdateCustomFilterCfg ¶
func (dbc *DatabaseCfg) UpdateCustomFilterCfg(id string, dev CustomFilterCfg) (int64, error)
UpdateCustomFilterCfg for adding new influxdb
func (*DatabaseCfg) UpdateInfluxCfg ¶
func (dbc *DatabaseCfg) UpdateInfluxCfg(id string, dev InfluxCfg) (int64, error)
UpdateInfluxCfg for adding new influxdb
func (*DatabaseCfg) UpdateMGroupsCfg ¶
func (dbc *DatabaseCfg) UpdateMGroupsCfg(id string, dev MGroupsCfg) (int64, error)
UpdateMGroupsCfg for adding new influxdb
func (*DatabaseCfg) UpdateMeasFilterCfg ¶
func (dbc *DatabaseCfg) UpdateMeasFilterCfg(id string, dev MeasFilterCfg) (int64, error)
UpdateMeasFilterCfg for adding new influxdb
func (*DatabaseCfg) UpdateMeasurementCfg ¶
func (dbc *DatabaseCfg) UpdateMeasurementCfg(id string, dev MeasurementCfg) (int64, error)
UpdateMeasurementCfg for adding new influxdb
func (*DatabaseCfg) UpdateOidConditionCfg ¶
func (dbc *DatabaseCfg) UpdateOidConditionCfg(id string, dev OidConditionCfg) (int64, error)
UpdateOidConditionCfg for adding new influxdb
func (*DatabaseCfg) UpdateSnmpDeviceCfg ¶
func (dbc *DatabaseCfg) UpdateSnmpDeviceCfg(id string, dev SnmpDeviceCfg) (int64, error)
UpdateSnmpDeviceCfg for adding new devices
func (*DatabaseCfg) UpdateSnmpMetricCfg ¶
func (dbc *DatabaseCfg) UpdateSnmpMetricCfg(id string, dev SnmpMetricCfg) (int64, error)
UpdateSnmpMetricCfg for adding new influxdb
func (*DatabaseCfg) UpdateVarCatalogCfg ¶
func (dbc *DatabaseCfg) UpdateVarCatalogCfg(id string, dev VarCatalogCfg) (int64, error)
UpdateVarCatalogCfg for adding new influxdb
type DbObjAction ¶
DbObjAction measurement groups to assign to devices
type GeneralConfig ¶
type GeneralConfig struct { InstanceID string `mapstructure:"instanceID" envconfig:"SNMPCOL_GENERAL_INSTANCE_ID"` LogDir string `mapstructure:"logdir" envconfig:"SNMPCOL_GENERAL_LOG_DIR"` HomeDir string `mapstructure:"homedir" envconfig:"SNMPCOL_GENERAL_HOME_DIR"` DataDir string `mapstructure:"datadir" envconfig:"SNMPCOL_GENERAL_DATA_DIR" ` LogLevel string `mapstructure:"loglevel" envconfig:"SNMPCOL_GENERAL_LOG_LEVEL"` LogMode string `mapstructure:"log_mode" envconfig:"SNMPCOL_GENERAL_LOG_MODE"` }
GeneralConfig has miscellaneous configuration options
type HTTPConfig ¶
type HTTPConfig struct { Port int `mapstructure:"port" envconfig:"SNMPCOL_HTTP_PORT"` Listen string `mapstructure:"listen" envconfig:"SNMPCOL_HTTP_LISTEN"` Protocol string `mapstructure:"protocol" envconfig:"SNMPCOL_HTTP_PROTOCOL"` CertKey string `mapstructure:"cert_key" envconfig:"SNMPCOL_HTTP_CERT_KEY"` CertFile string `mapstructure:"cert_file" envconfig:"SNMPCOL_HTTP_CERT_FILE"` AdminUser string `mapstructure:"adminuser" envconfig:"SNMPCOL_HTTP_ADMIN_USER"` AdminPassword string `mapstructure:"adminpassword" envconfig:"SNMPCOL_HTTP_ADMIN_PASSWORD"` CookieID string `mapstructure:"cookieid" envconfig:"SNMPCOL_HTTP_COOKIE_ID"` }
HTTPConfig has webserver config options Port should be deprecated from version >= 0.8.1
type InfluxCfg ¶
type InfluxCfg struct { ID string `xorm:"'id' unique" binding:"Required"` Host string `xorm:"host" binding:"Required"` Port int `xorm:"port" binding:"Required;IntegerNotZero"` DB string `xorm:"db" binding:"Required"` User string `xorm:"user" binding:"Required"` Password string `xorm:"password" binding:"Required"` Retention string `xorm:"'retention' default 'autogen'" binding:"Required"` Precision string `xorm:"'precision' default 's'" binding:"Default(s);OmitEmpty;In(h,m,s,ms,u,ns)"` // posible values [h,m,s,ms,u,ns] default seconds for the nature of data Timeout int `xorm:"'timeout' default 30" binding:"Default(30);IntegerNotZero"` UserAgent string `xorm:"useragent" binding:"Default(snmpcollector)"` EnableSSL bool `xorm:"enable_ssl"` SSLCA string `xorm:"ssl_ca"` SSLCert string `xorm:"ssl_cert"` SSLKey string `xorm:"ssl_key"` InsecureSkipVerify bool `xorm:"insecure_skip_verify"` BufferSize int `xorm:"'buffer_size' default 65535"` Description string `xorm:"description"` }
InfluxCfg is the main configuration for any InfluxDB TSDB swagger:model InfluxCfg
type MGroupsCfg ¶
type MGroupsCfg struct { ID string `xorm:"'id' unique" binding:"Required"` Measurements []string `xorm:"-"` Description string `xorm:"description"` }
MGroupsCfg measurement groups to assign to devices swagger:model MGroupsCfg
type MGroupsMeasurements ¶
type MGroupsMeasurements struct { IDMGroupCfg string `xorm:"id_mgroup_cfg"` IDMeasurementCfg string `xorm:"id_measurement_cfg"` }
MGroupsMeasurements measurements contained on each Measurement Group
type MeasFilterCfg ¶
type MeasFilterCfg struct { ID string `xorm:"'id' unique" binding:"Required"` IDMeasurementCfg string `xorm:"id_measurement_cfg"` FType string `xorm:"filter_type" binding:"Required"` // file/OIDCondition/CustomFilter FilterName string `xorm:"filter_name" binding:"Required"` // valid identificator for the filter depending on the type EnableAlias bool `xorm:"enable_alias"` // only valid if file/Custom Description string `xorm:"description"` }
MeasFilterCfg the filter configuration swagger:model MeasFilterCfg
type MeasurementCfg ¶
type MeasurementCfg struct { ID string `xorm:"'id' unique" binding:"Required"` Name string `xorm:"name" binding:"Required"` GetMode string `xorm:"getmode" binding:"In(value,indexed,indexed_it,indexed_mit,indexed_multiple)"` // value ,indexed (direct tag), indexed_it ( indirect_tag) IndexOID string `xorm:"indexoid"` // only valid if Indexed (direct or indirect) TagOID string `xorm:"tagoid"` MultiTagOID []MultipleTagOID `xorm:"mtagoid"` // only valid if inderecta TAG indexeded IndexTag string `xorm:"indextag"` IndexTagFormat string `xorm:"indextagformat"` IndexAsValue bool `xorm:"'indexasvalue' default 0"` MultiIndexCfg []MultiIndexCfg `xorm:"multiindex"` MultiIndexResult string `xorm:"multiindexresult"` MultiIndexVersion string `xorm:"multiindexrversion"` Fields []MeasurementFieldReport `xorm:"-"` // Got from MeasurementFieldCfg table FieldMetric []*SnmpMetricCfg `xorm:"-" json:"-"` EvalMetric []*SnmpMetricCfg `xorm:"-" json:"-"` OidCondMetric []*SnmpMetricCfg `xorm:"-" json:"-"` Freq int `xorm:"'freq'" binding:"IntegerNotZero"` UpdateFltFreq int `xorm:"'update_flt_freq'" binding:"UIntegerAndLessOne"` Description string `xorm:"description"` }
MeasurementCfg the measurement configuration swagger:model MeasurementCfg
func (*MeasurementCfg) CheckComputedMetricEval ¶
func (mc *MeasurementCfg) CheckComputedMetricEval(parameters map[string]interface{}) error
CheckComputedMetricEval check for computed metrics based on Evalutation Execution
func (*MeasurementCfg) CheckComputedMetricVars ¶
func (mc *MeasurementCfg) CheckComputedMetricVars(parameters map[string]interface{}) error
CheckComputedMetricVars check for computed metrics based on check if variable definition exist
func (*MeasurementCfg) GetAllUsedVarNamesInMetrics ¶
func (mc *MeasurementCfg) GetAllUsedVarNamesInMetrics() ([]string, error)
GetAllUsedVarNamesInMetrics return all used Var names in Metrics
func (*MeasurementCfg) GetEvaluableVarNames ¶
func (mc *MeasurementCfg) GetEvaluableVarNames() ([]string, error)
GetEvaluableVarNames returns an string array with all posible internal variable Names
func (*MeasurementCfg) GetExternalVars ¶
func (mc *MeasurementCfg) GetExternalVars() ([]string, error)
GetExternalVars Get Needed External Variables in this Measurement
func (*MeasurementCfg) Init ¶
func (mc *MeasurementCfg) Init(MetricCfg *map[string]*SnmpMetricCfg, varmap map[string]interface{}) error
Init initialize the measurement configuration
type MeasurementFieldCfg ¶
type MeasurementFieldCfg struct { IDMeasurementCfg string `xorm:"id_measurement_cfg"` IDMetricCfg string `xorm:"id_metric_cfg"` Report int `xorm:"'report' default 1"` }
MeasurementFieldCfg the metrics contained on each measurement (to initialize on the fieldMetric array)
type MeasurementFieldReport ¶
MeasurementFieldReport defines the report behaviour of each field
type MetricMultiMap ¶
MetricMultiMap Value
type MultiIndexCfg ¶
type MultiIndexCfg struct { Label string Description string Dependency string GetMode string // indexed | indexed_it | indexed_mit IndexOID string TagOID string MultiTagOID []MultipleTagOID IndexTag string IndexTagFormat string }
MultiIndexCfg defines an internal measurement that has its own lifecycle
type MultipleTagOID ¶
MultipleTagOID defines TagOID to iterate over multiple tables to retrieve tag
type OidConditionCfg ¶
type OidConditionCfg struct { ID string `xorm:"'id' unique" binding:"Required"` IsMultiple bool `xorm:"is_multiple"` OIDCond string `xorm:"cond_oid" binding:"Required"` CondType string `xorm:"cond_type"` CondValue string `xorm:"cond_value"` Description string `xorm:"description"` }
OidConditionCfg condition config for filters and metrics swagger:model OidConditionCfg
func (*OidConditionCfg) Init ¶
func (oid *OidConditionCfg) Init(dbc *DatabaseCfg) error
Init Initialize a OIDConditionCfg
type SelfMonConfig ¶
type SelfMonConfig struct { Enabled bool `mapstructure:"enabled" envconfig:"SNMPCOL_SELFMON_ENABLED"` Freq int `mapstructure:"freq" envconfig:"SNMPCOL_SELFMON_FREQ"` Prefix string `mapstructure:"prefix" envconfig:"SNMPCOL_SELFMON_PREFIX"` InheritDeviceTags bool `mapstructure:"inheritdevicetags" envconfig:"SNMPCOL_SELFMON_INHERIT_DEVICE_TAGS"` ExtraTags []string `mapstructure:"extratags" envconfig:"SNMPCOL_SELFMON_EXTRATAGS"` }
SelfMonConfig configuration for self monitoring
type SnmpDevFilters ¶
type SnmpDevFilters struct { IDSnmpDev string `xorm:"id_snmpdev"` IDFilter string `xorm:"id_filter"` }
SnmpDevFilters filters to use with indexed measurement
type SnmpDevMGroups ¶
type SnmpDevMGroups struct { IDSnmpDev string `xorm:"id_snmpdev"` IDMGroupCfg string `xorm:"id_mgroup_cfg"` }
SnmpDevMGroups Mgroups defined on each SnmpDevice
type SnmpDeviceCfg ¶
type SnmpDeviceCfg struct { ID string `xorm:"'id' unique" binding:"Required"` // snmp connection config Host string `xorm:"host" binding:"Required;AlphaDashDot"` Port int `xorm:"port" binding:"Required"` SystemOIDs []string `xorm:"systemoids"` // for non MIB-2 based devices Retries int `xorm:"retries"` Timeout int `xorm:"timeout"` Repeat int `xorm:"repeat"` Active bool `xorm:"'active' default TRUE"` // snmp auth config SnmpVersion string `xorm:"snmpversion" binding:"Required;In(1,2c,3)"` Community string `xorm:"community"` V3SecLevel string `xorm:"v3seclevel"` V3AuthUser string `xorm:"v3authuser"` V3AuthPass string `xorm:"v3authpass"` V3AuthProt string `xorm:"v3authprot"` V3PrivPass string `xorm:"v3privpass"` V3PrivProt string `xorm:"v3privprot"` V3ContextEngineID string `xorm:"v3contextengineid"` V3ContextName string `xorm:"v3contextname"` // snmp workarround for some devices DisableBulk bool `xorm:"'disablebulk' default 0"` MaxRepetitions uint8 `xorm:"'maxrepetitions' default 50" binding:"Default(50);IntegerNotZero"` MaxOids int `xorm:"'maxoids' default 60"` // snmp runtime config Freq int `xorm:"'freq' default 60" binding:"Default(60);IntegerNotZero"` UpdateFltFreq int `xorm:"'update_flt_freq' default 60" binding:"Default(60);UIntegerAndLessOne"` ConcurrentGather bool `xorm:"'concurrent_gather' default 1"` OutDB string `xorm:"outdb"` LogLevel string `xorm:"loglevel" binding:"Default(info)"` LogFile string `xorm:"logfile"` SnmpDebug bool `xorm:"'snmpdebug' default 0"` // influx tags DeviceTagName string `xorm:"devicetagname" binding:"Default(hostname)"` DeviceTagValue string `xorm:"devicetagvalue" binding:"Default(id)"` ExtraTags []string `xorm:"extra-tags"` DeviceVars []string `xorm:"devicevars"` Description string `xorm:"description"` // Filters for measurements MeasurementGroups []string `xorm:"-"` MeasFilters []string `xorm:"-"` }
SnmpDeviceCfg contains all snmp related device definitions swagger:model SnmpDeviceCfg
type SnmpMetricCfg ¶
type SnmpMetricCfg struct { ID string `xorm:"'id' unique" binding:"Required"` // name of the key in the config array FieldName string `xorm:"field_name" binding:"Required"` Description string `xorm:"description"` BaseOID string `xorm:"baseoid"` DataSrcType string `xorm:"datasrctype"` GetRate bool `xorm:"getrate"` // ony Valid with COUNTERS Scale float64 `xorm:"scale"` Shift float64 `xorm:"shift"` IsTag bool `xorm:"'istag' default 0"` // Not Valid on MULTISTRINGPARSER ExtraData string `xorm:"extradata"` // Only Valid with STRINGPARSER, MULTISTRINGPARSER, STRINGEVAL , BITS , BITSCHK, ENUM Conversion ConversionMode `xorm:"'conversion' default 0"` // Conversion will be always float for Names map[int]string `xorm:"-" json:"-"` // BitString Name array }
SnmpMetricCfg Metric config swagger:model SnmpMetricCfg
func (*SnmpMetricCfg) CheckEvalCfg ¶
func (m *SnmpMetricCfg) CheckEvalCfg(parameters map[string]interface{}) error
CheckEvalCfg : check evaluated expresion based in govaluate
func (*SnmpMetricCfg) GetEvaluableVarNames ¶
func (m *SnmpMetricCfg) GetEvaluableVarNames() ([]string, error)
GetEvaluableVarNames get a string array with all posible metric values to use in metric evaluatator
func (*SnmpMetricCfg) GetMetricHeader ¶
func (m *SnmpMetricCfg) GetMetricHeader(report int) interface{}
GetMetricHeader Get Info
func (*SnmpMetricCfg) GetMultiStringTagFieldMap ¶
func (m *SnmpMetricCfg) GetMultiStringTagFieldMap() ([]*MetricMultiMap, error)
GetMultiStringTagFieldMap get tag/field description map
func (*SnmpMetricCfg) GetUsedVarNames ¶
func (m *SnmpMetricCfg) GetUsedVarNames() ([]string, error)
GetUsedVarNames Get Needed External Variables on this Metric ( only vaid in STRINGEVAL)
func (*SnmpMetricCfg) GetValidConversions ¶
func (m *SnmpMetricCfg) GetValidConversions() ([]ConversionMode, ConversionMode, error)
GetValidConversions return Conversion Modes Array and the de default/sugested value beginning from 0
func (*SnmpMetricCfg) Init ¶
func (m *SnmpMetricCfg) Init() error
Init Initializes Metric 3.- Check minimal data is set (pending) name, BaseOID BaseOID beginning with "." fieldname != null
Init initialize metrics
func (*SnmpMetricCfg) MarshalJSON ¶
func (m *SnmpMetricCfg) MarshalJSON() ([]byte, error)
MarshalJSON marshall (not sure if needed here....)
func (*SnmpMetricCfg) UnmarshalJSON ¶
func (m *SnmpMetricCfg) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshall for conversion mode
type VarCatalogCfg ¶
type VarCatalogCfg struct { // Variable Name unique ID string `xorm:"'id' unique" binding:"Required"` Type string `xorm:"type" binding:"Required"` Value string `xorm:"value"` Description string `xorm:"description"` }
VarCatalogCfg is the main configuration for any InfluxDB TSDB swagger:model VarCatalogCfg