Assign Collector to Ingest Budget
Availability
Account Type | Account Level |
---|---|
CloudFlex | Enterprise |
Credits | Trial, Enterprise Operations, Enterprise Security, Enterprise Suite |
Once you have created an ingest budget you can assign a Collector to it. You can assign a Collector to an ingest budget by:
- Using the Collection page.
- Using the
fields
parameter at any time with the Collector Management API or when first registering a Collector with Sumo with the command line installer or user.properties file.
The UI installer for Installed Collectors does not support assigning ingest budgets, use another method.
Collection page
On the Manage Data > Collection > Collection page when editing an existing Collector or creating a new Hosted Collector there is an option, Assign to a Budget, that allows you to assign an ingest budget to a Collector.
The drop-down displays your ingest budgets in the following format:
<budget name> (<field value>) (<allocated capacity>)
For example, the screenshot above shows CSSdev (cssdev) (19GB)
. The <budget name>
is CSSdev
, the <budget name>
is cssdev
, and the <allocated capacity>
is 19GB
.
Select the ingest budget you want to assign to the Collector and click Save.
Limited role capability
If you do not have the Manage Ingest Budgets role capability but have the Manage Collectors capability on its own you can assign a Collector to an Ingest Budget by manually adding the field _budget
with the Field Value from the desired Ingest Budget into the Fields property. For example, if you have a budget with a Field Value of Dev_20GB, you would add:
Collector Management API
Use the Collector Management API to assign an existing Collector to an existing ingest budget.
Parameter | Type | Required? | Default | Description | Access |
---|---|---|---|---|---|
fields | JSON Object | No | JSON map of key-value fields (metadata) to apply to the Collector. To assign an ingest budget use the field _budget with its Field Value. For example, if you have a budget with a Field Value of Dev_20GB, you would add: fields=_budget=Dev_20GB | Modifiable |
The following steps can be referenced in the Collector Management API document for a PUT request. If you are not sure what URL endpoint to use see Sumo Logic Endpoints.
First make a GET request to get the Collector's JSON configuration:
curl -v -u 'accessid:accesskey' https://api.sumologic.com/api/v1/collectors/15
GET response:
...
< ETag: "acd8c6f11f5100b047e6320f231c4f6f"
...
{
"collector":{
"id":102113467,
"name":"duke-mac",
"timeZone":"UTC",
"fields":{
},
"links":[{
"rel":"sources",
"href":"/v1/collectors/15/sources"
}],
"ephemeral":false,
"sourceSyncMode":"UI",
"collectorType":"Installable",
"collectorVersion":"19.130",
"osVersion":"10.12.6",
"osName":"Mac OS X",
"osArch":"x86_64",
"lastSeenAlive":1537390136406,
"alive":true
}
}
* Connection #0 to host api.sumologic.com left intact
Save the JSON to a file and modify it to include the _budget
field with the Field Value of the ingest budget to assign. In the following example, the Field Value of the ingest budget is sumo_budget
and the JSON file is named updated_collector.json
.
{
"collector":{
"id":15,
"name":"duke-mac",
"timeZone":"UTC",
"fields":{
"_budget":"sumo_budget"
},
"links":[{
"rel":"sources",
"href":"/v1/collectors/15/sources"
}],
"ephemeral":false,
"sourceSyncMode":"UI",
"collectorType":"Installable",
"collectorVersion":"19.130",
"osVersion":"10.12.6",
"osName":"Mac OS X",
"osArch":"x86_64",
"lastSeenAlive":1537390136406,
"alive":true
}
}
Once the Collector's JSON configuration is modified with the _budget
to assign go ahead and make the PUT request to update the Collector with this new configuration:
Updating a Collector also requires the "If-Match" header to be specified with the "ETag" provided in the headers of a previous GET request.
curl -u 'accessid:accesskey' -X PUT -H "Content-Type: application/json" -H "If-Match: \"acd8c6f11f5100b047e6320f231c4f6f\"" -T updated_collector.json https://api.sumologic.com/api/v1/collectors/15
The response has the updated JSON and the Collector is now assigned to the ingest budget with a Field Value of sumo_budget
:
{
"collector":{
"id":15,
"name":"dduke-mac",
"timeZone":"UTC",
"fields":{
"_budget":"sumo_budget"
},
"links":[{
"rel":"sources",
"href":"/v1/collectors/15/sources"
}],
"ephemeral":false,
"sourceSyncMode":"UI",
"collectorType":"Installable",
"collectorVersion":"19.130",
"osVersion":"10.12.6",
"osName":"Mac OS X",
"osArch":"x86_64",
"lastSeenAlive":1537391044526,
"alive":true
}
}
user.properties
When registering a new Collector you can specify the parameter fields
in user.properties to assign the Collector to an existing ingest budget.
Parameter | Description | Can be changed after installation? |
---|---|---|
fields=[list of fields] | Comma-separated list of key=value fields. To assign an ingest budget use the field _budget with its Field Value. For example, if you have a budget with a Field Value of Dev_20GB , you would add:fields=_budget=Dev_20GB | No, use the web interface or the Collector Management API to modify. |
Command line installation
When using the command line (shell script) installer you can assign the Collector to an existing ingest budget with the -Vfields
parameter. For details and example commands on Collector installation, see Install a Collector on Linux, Install a Collector on MacOS, and Install a Collector on Windows.
Parameter | Description |
---|---|
-Vfields=[list of fields] | Comma-separated list of key=value fields. To assign an ingest budget use the field _budget with its Field Value. For example, if you have a budget with a Field Value of Dev_20GB , you would add:-Vfields=_budget=Dev_20GB |