Source config
- SolarWinds API URL - a URL to access SolarWinds API, example
https://sw-api:17778
- Username
- Password
- Query timeout - SolarWinds query timeout
Example:
> agent source create -a
Choose source (influx, kafka, mongo, mysql, postgres, elastic, ..., solarwinds): solarwinds
Enter a unique source name: solarwinds_1
SolarWinds API URL: https://solarwinds:17778
SolarWinds API username []: username
SolarWinds API password []: password
Query timeout (in seconds) [15]:
Source config created
Source file config
| Property |
Type |
type |
String |
name |
String |
config |
Object |
All properties are required
config object properties:
| Property |
Type |
Required |
| url |
String |
yes |
| username |
String |
yes |
| password |
String |
yes |
| query_timeout |
Integer |
no |
Example
[
{
"name": "test_solarwinds",
"type": "solarwinds",
"config": {
"url": "http://solarwinds:17778",
"username": "admin",
"password": "admin"
}
}
]
Pipeline CLI config
- Pipeline ID - unique pipeline identifier (use a human-readable name so you could easily use it further)
- Query to export data from SolarWinds - Query to export data from SolarWinds
- Delay - Collect data with a specified delay, e.g. the pipeline will retrieve data until now -(minus) delay, it will not fetch the latest data immediately
- Collect since - Collect data starting N days ago
- Query interval - Query data every N seconds
- Timestamp config
- Timestamp property name
- Timestamp property type
unix
string (must specify format)
unix_ms (unix timestamp in milliseconds)
unix (unix timestamp in seconds)
datetime date type in elasticsearch
- Timestamp format string - if timestamp property type is string - specify format according to this spec. Test here
- Count records - to include the number of records as a separate metric, default false
- Name of a field containing metric value with target type. Example - field1:counter field2:gauge
- Metric names - key-value pairs separated with spaces, format
column_name:what
- Required dimensions - Names of properties delimited with spaces. If these fields are missing in a record, it goes to the error stage. Format -
dimension1 dimension2
- Optional dimensions - Names of properties delimited with spaces. These fields may be missing in a record. Format -
dimension1 dimension2
- Static dimensions - dimensions with static values to pass to Anodot. Format -
key1:value1 key2:value2
- Tags
Example:
> agent pipeline create -a
Choose source config (solarwinds_test) [solarwinds_1]:
Pipeline ID (must be unique): solarwinds_1
Query to export data from SolarWinds: SELECT TOP 1000 NodeID, DateTime, MinMemoryUsed, AvgPercentMemoryUsed FROM Orion.CPULoad WHERE {TIMESTAMP_CONDITION}
Delay (in minutes): 5
Collect since (days ago) []: 3
Query interval (in seconds): 300
Timestamp property name: DateTime
Timestamp property type: string
Timestamp format string: yyyy-MM-dd'T'HH:mm:ss
Count records?: n
Name of a field containing metric value with target type. Example - field1:counter field2:gauge: MinMemoryUsed:gauge AvgPercentMemoryUsed:gauge
Metric names. Example - field1:new_name1 field2:new_name2: MinMemoryUsed:MinMemoryUsed AvgPercentMemoryUsed:AvgPercentMemoryUsed
Required dimensions: NodeID
Optional dimensions:
Static dimensions:
Tags:
Created pipeline solarwinds_1
Would you like to see the result data preview? [Y/n]: n
Pipeline File config
Properties list
| Required |
Property name in config file |
Value type |
Description |
| yes |
source |
String |
Source name |
| yes |
pipeline_id |
String |
Unique human-readable pipeline identifier |
| yes |
query |
String |
A MySQL query to fetch data from SolarWinds databse |
| no |
days_to_backfill |
Integer |
Collect data starting N days ago |
| yes |
interval |
Integer |
How often to read the data from rrd files, unit - seconds |
| no |
delay |
Integer |
Amount of time to wait before fetching data, units - seconds |
| yes |
timestamp |
Object with key-value pairs |
|
| no |
count_records |
Boolean |
|
| yes |
values |
Object with key-value pairs |
|
| yes |
measurement_names |
Object with key-value pairs |
|
| no |
dimensions |
Object with key-value pairs |
Names of columns that will be used as dimensions, columns may only be strings |
| no |
tags |
Object with key-value pairs |
Metric tags |
| no |
properties |
Object with key-value pairs |
Dimensions with static values to pass to Anodot |
timestamp object properties:
| Property |
Type |
Description |
type |
String |
string, unix or unix_ms |
name |
String |
Property name |
format |
String |
Specify format if timestamp type is string |
Required properties are type and name
dimensions object properties:
| Property |
Type |
Description |
required |
List of strings |
These properties are always present in a record |
optional |
List of strings |
These properties may be missing in a record |
Examples
Simple:
[{
"source": "solarwinds_file",
"pipeline_id": "solarwinds_file",
"query": "SELECT TOP 1000 NodeID, DateTime, Archive, MinLoad, MaxLoad, AvgLoad, TotalMemory, MinMemoryUsed, MaxMemoryUsed, AvgMemoryUsed, AvgPercentMemoryUsed FROM Orion.CPULoad WHERE {TIMESTAMP_CONDITION}",
"delay": 0,
"days_to_backfill": 0,
"interval": 60,
"timestamp": {
"name": "DateTime",
"type": "string",
"format": "yyyy-MM-dd'T'HH:mm:ss"
},
"count_records": false,
"values": {
"MinMemoryUsed": "gauge",
"AvgPercentMemoryUsed": "gauge"
},
"measurement_names": {
"MinMemoryUsed": "MinMemoryUsed",
"AvgPercentMemoryUsed": "AvgPercentMemoryUsed"
},
"dimensions": {
"required": ["NodeID"],
"optional": []
}
}]