The Data Feed service sends node data to a 3rd party service. This can be useful when updating configuration management databases, external security dashboards, and IT service management platforms. The following types of information are sent:
A Data Feed operates by doing the following:
By default, only Admin users of Chef Automate may create and manage Data Feeds.
Data Feed instance sends client run and compliance scan data to the 3rd party integrations available. To add a Data Feed instance in Chef Automate:
Currently, the data feed has two types of integrations:
Create a data feed using a webhook integration.
To create a data feed select ServiceNow from Settings > Data Feed > New Integration.
Data Feed Name: A unique name for this notification.
URL: The endpoint for the data feed integration, including any specific port details.
Authentication: Select an authentication method.
Select Test Connection to start validating the connection details.
Once the test is successful, select Save to save the Data Feed configuration.
To edit a Data Feed instance of ServiceNow Integration:
You can also Enable/Disable, and Delete the instance from the buttons provided on the details page.
To create a data feed select Splunk from Settings > Data Feed > New Integration.
Data Feed Name: A unique name for this notification.
URL: The endpoint for the data feed integration, including any specific port details.
Authentication: Select an authentication method.
Select Test Connection to start validating the connection details.
Once the test is successful, select Save to save the Data Feed configuration.
To edit a Data Feed instance of Splunk Integration:
You can also Enable/Disable, and Delete the instance from the buttons provided on the details page.
To create a data feed select ELK from Settings > Data Feed > New Integration.
Data Feed Name: A unique name for this notification.
URL: The endpoint for the data feed integration, including any specific port details.
Authentication: Select an authentication method.
Select Test Connection to start validating the connection details.
Once the test is successful, select Save to save the Data Feed configuration.
To edit a Data Feed instance of ELK Integration:
You can also Enable/Disable, and Delete the instance from the buttons provided on the details page.
To create a data feed select Custom from Settings > Data Feed > New Integration.
Data Feed Name: A unique name for this notification.
URL: The endpoint for the data feed integration, including any specific port details.
Authentication: Select an authentication method.
Select Use Headers checkbox to add custom headers (For example: key:value).
Select Test Connection to start validating the connection details.
Once the test is successful, select Save to save the Data Feed configuration.
To edit a Data Feed instance of Custom Integration:
You can also Enable/Disable, and Delete the instance from the buttons provided on the details page.
Create a data feed using a storage integration.
To create a data feed select Minio from Settings > Data Feed > New Integration.
To edit a Data Feed instance of Minio Integration:
You can also Enable/Disable, and Delete the instance from the buttons provided on the details page.
To create a data feed select S3 from Settings > Data Feed > New Integration.
To edit a Data Feed instance of S3 Integration:
You can also Enable/Disable, and Delete the instance from the buttons provided on the details page.
Chef Automate lets you temporarily disable the data feed. It can be helpful if the data feed is going under maintenance or you don’t want to send the node or compliance data to a data feed.
The data feed instances are by default enabled when created. To disable a feed:
Select Disable from the top left corner of the details page. OR
Select the ellipses icon from the list of data feeds and select Disable.
To enable a disabled data feed:
Select Enable from the top left corner of the details page. OR
Select the ellipses icon from the list of data feeds and select Enable.
To delete an individual instance:
Note
To modify Data Feed behavior with the available configuration settings:
.toml file format and name your file as desired. For example, data-feed-patch.toml
.toml file to reflect the desired global Data Feed behavior: feed_interval setting to change the interval for the Data Feed collection. The default value is four hoursnode_batch_size setting to change the number of sets of node data sent in each batch to your endpoint. The default value is 50 nodesupdated_nodes_only setting to determine what data to include in each export. The default setting is true, which causes the aggregation of only the changed data of updated nodes since the last export. Set updated_nodes_only to false, and it aggregates all data of updated nodes since the last exportdisable_cidr_filter setting to false and update the cidr_filter setting to cover the required IP address range. For example, you may wish to send only production or test node trafficaccepted_status_codes setting to define an array of HTTP status codes that the Data Feed Service will treat as success if returned by the 3rd party endpoint. If the status code is not in the accepted_status_codes list, then an error will be logged chef-automate config patch data-feed-patch.toml
where `data-feed-patch.toml` is this example's configuration patch file.
[data_feed_service.v1.sys]
[data_feed_service.v1.sys.service]
feed_interval = "4h"
node_batch_size = 50
updated_nodes_only = true
disable_cidr_filter = true
cidr_filter = "0.0.0.0/0"
accepted_status_codes = [200, 201, 202, 203, 204]
[data_feed_service.v1.sys.log]
level = "info"
To debug any issues with the Data Feed Service in Chef Automate, update the following section in your configuration patch file by changing the log_level value to “debug”:
[data_feed_service.v1.sys.log]
log_level = "debug"
The outputted data from Data Feed consists of line-separated JSON strings. Each line represents the data for one node and contains the following properties:
{
"attributes": {
"node_id": "",
"name": "",
"run_list": [],
"chef_environment": "",
"normal": {},
"default": {},
"override":{},
"automatic":{},
"normal_value_count": 0,
"default_value_count": 1,
"override_value_count": 1,
"all_value_count": 10,
"automatic_value_count": 8
},
"report": { ... },
"client_run": { ... },
"node": {
"automate_fqdn": "",
"ip_address" : "",
"mac_address": "",
"description":"",
"serial_number":"",
"os_service_pack":""
}
}
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/automate/datafeed/