Datadog Logs
Configures a Datadog Logs input from which to read events to transform into typed TenXObjects.
Instances of this module define a connection to a Datadog Logs service from which to retrieve log messages, as well as the querying logic used such as chronological direction, start values, time ranges, and page size of each API request sent.
Datadog Logs inputs commonly run within scheduled jobs (e.g., k8s CronJob) to retrieve a recent sample amount of events (e.g., 200MB in the last 10min) to transform into TenXObjects as part of the Cloud Reporter app.
Configuration
To configure the Datadog Logs input module, Edit these settings.
Below is the default configuration from: datadogLogs/config.yaml (* Required Fields).
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJpbmNsdWRlIiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAidGVueCIgOiB7CiAgICAgICJ0eXBlIiA6ICJzdHJpbmciCiAgICB9LAogICAgImRhdGFkb2dMb2dzIiA6IHsKICAgICAgInR5cGUiIDogImFycmF5IiwKICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAidHlwZSIgOiAib2JqZWN0IiwKICAgICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICAgInByb3BlcnRpZXMiIDogewogICAgICAgICAgIm5hbWUiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJMb2dpY2FsIG5hbWUgZm9yIHRoaXMgRGF0YWRvZ0xvZ3MgaW5wdXRcblxuU2V0cyBhIGxvZ2ljYWwgbmFtZSAoZS5nLiwgJ215RGF0YWRvZ0xvZ3MnKSBmb3IgdGhpcyBpbnB1dC4gVGhlIFtpbnB1dE5hbWVdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YQmFzZU9iamVjdCtpbnB1dE5hbWUpIGZpZWxkIHJldHVybnMgdGhpcyB2YWx1ZSBhdCBydW4gdGltZSB0byBhbGxvdyBmb3IgaWRlbnRpZnlpbmcgYW5kIG9wZXJhdGluZyBvbiBpbnN0YW5jZXMgb3JpZ2luYXRpbmcgZnJvbSB0aGlzIGlucHV0LiIKICAgICAgICAgIH0sCiAgICAgICAgICAiZW5hYmxlZCIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgInN0cmluZyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlNldHMgd2hldGhlciB0aGlzIGlucHV0IGlzIGVuYWJsZWRcblxuU2V0cyB3aGV0aGVyIHRvIG9wZW4gdGhlIGlucHV0IHN0cmVhbS4gVG8gZW5hYmxlIHRoaXMgaW5wdXQgb25seSB3aGVuIGEgJ2RhdGFkb2dMb2dzSG9zdCcgc3RhcnR1cCBhcmd1bWVudCB2YWx1ZSBpcyB0cnV0aHksIHVzZTogYGBgIHlhbWwgZGF0YWRvZ0xvZ3NFbmFibGVkOiAkPVRlblhFbnYuZ2V0KFwiZGF0YWRvZ0xvZ3NIb3N0XCIpIGBgYCBUbyBsZWFybiBtb3JlIHNlZSBbVGVuWEVudi5nZXRdKGh0dHBzOi8vZG9jLmxvZzEweC5jb20vYXBpL2pzLyNUZW5YRW52LmdldCkuIChBY2NlcHRzIGJvb2xlYW4gb3Igc3RyaW5nIHdpdGggJD0gcHJlZml4IGZvciBydW50aW1lIGV2YWx1YXRpb24pIChEZWZhdWx0OiB0cnVlKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6IHRydWUKICAgICAgICAgIH0sCiAgICAgICAgICAicHJpbnRQcm9ncmVzcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYm9vbGVhbiIsCiAgICAgICAgICAgICAgInN0cmluZyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlNldHMgd2hldGhlciB0aGlzIGlucHV0IHByaW50cyB0aHJvdWdocHV0IHN0YXRzIHRvIHRoZSBjb25zb2xlXG5cblNldHMgd2hldGhlciB0aGlzIGlucHV0IHByaW50cyB0aHJvdWdocHV0IHN0YXRzIHRvIHRoZSBjb25zb2xlIGZvciB0ZXN0aW5nIGFuIGludGVncmF0aW9uIHRvIGEgcmVtb3RlIGVuZHBvaW50LiAoQWNjZXB0cyBib29sZWFuIG9yIHN0cmluZyB3aXRoICQ9IHByZWZpeCBmb3IgcnVudGltZSBldmFsdWF0aW9uKSAoRGVmYXVsdDogZmFsc2UpIiwKICAgICAgICAgICAgImRlZmF1bHQiIDogZmFsc2UKICAgICAgICAgIH0sCiAgICAgICAgICAidG90YWxEdXJhdGlvbiIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlNldHMgbWF4aW11bSB0aW1lIHRvIHF1ZXJ5IHRoZSBiYWNrZW5kXG5cblNldHMgdGhlIG1heGltdW0gdGltZSB0aGUgcGlwZWxpbmUgd2lsbCBjb250aW51ZSB0byBxdWVyeSB0aGUgZGF0YWRvZyBhcGkgYmFja2VuZCBiZWZvcmUgZXhpdGluZy4gRm9yIGV4YW1wbGUsIHNldHRpbmcgdGhpcyB0byAnMW1pbicgbWVhbnMgdGhhdCBxdWVyaWVzIHRvIHRoZSBiYWNrZW5kIHdpbGwgc3RvcCBhZnRlciAxIG1pbnV0ZSBoYXMgcGFzc2VkLiAoRGVmYXVsdDogNW1pbikiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiAiNW1pbiIKICAgICAgICAgIH0sCiAgICAgICAgICAiZXh0cmFjdG9ycyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTGlzdCBvZiBleHRyYWN0b3JzIHRvIGFwcGx5IG9uIHRoZSBldmVudHMgcmV0dXJuaW5nIGZyb20gdGhlIHF1ZXJ5XG5cblNldHMgbGlzdCBvZiBleHRyYWN0b3IgbmFtZXMgd2hpY2ggd2lsbCB3b3JrIG9uIHRoZSBldmVudHMgcmV0dXJuaW5nIGZyb20gdGhlIHF1ZXJ5LiBGb3IgbW9yZSBpbmZvIG9uIGV4dHJhY3RvcnMsIHNlZTogaHR0cHM6Ly9kb2MubG9nMTB4LmNvbS9ydW4vaW5wdXQvZXh0cmFjdCIsCiAgICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJob3N0IiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJzdHJpbmciLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiRGF0YWRvZ0xvZ3MgaG9zdCBhZGRyZXNzXG5cblNldHMgdGhlIERhdGFkb2cgc2l0ZSBhZGRyZXNzIHRvIGNvbm5lY3QgdG8gKGUuZy4sICd1czUuZGF0YWRvZ2hxLmNvbScpLiBUbyBsZWFybiBtb3JlIHNlZSBbRGF0YWRvZyBzaXRlc10oaHR0cHM6Ly9kb2NzLmRhdGFkb2docS5jb20vZ2V0dGluZ19zdGFydGVkL3NpdGUpIgogICAgICAgICAgfSwKICAgICAgICAgICJhcGlLZXkiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJEYXRhZG9nIEFQSSBrZXkgdG9rZW5cblxuU2V0cyB0aGUgJ0RELUFQSS1LRVknIEFQSSBrZXkgYXV0aGVudGljYXRpb24gcmVxdWVzdCBoZWFkZXIuIFRvIGxlYXJuIG1vcmUgc2VlOiBbQVBJIGtleXNdKGh0dHBzOi8vZG9jcy5kYXRhZG9naHEuY29tL2FjY291bnRfbWFuYWdlbWVudC9hcGktYXBwLWtleXMvKS4iCiAgICAgICAgICB9LAogICAgICAgICAgImFwcEtleSIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIkRhdGFkb2cgYXBwIGtleVxuXG5TZXRzIHRoZSAnREQtQVBQTElDQVRJT04tS0VZJyBhcHAga2V5IGF1dGhlbnRpY2F0aW9uIHJlcXVlc3QgaGVhZGVyLiBUbyBsZWFybiBtb3JlIHNlZTogW0FQSSBrZXlzXShodHRwczovL2RvY3MuZGF0YWRvZ2hxLmNvbS9hY2NvdW50X21hbmFnZW1lbnQvYXBpLWFwcC1rZXlzLykuIgogICAgICAgICAgfSwKICAgICAgICAgICJxdWVyeSIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAic3RyaW5nIiwKICAgICAgICAgICAgICAibnVsbCIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlF1ZXJ5IHRvIHBhc3MgdG8gdGhlIERhdGFkb2cgJ2FwaS92Mi9sb2dzL2V2ZW50cy9zZWFyY2gnIFJFU1QgZW5kcG9pbnRcblxuU2V0cyB0aGUgRGF0YWRvZyBxdWVyeSB1c2VkIHRvIHJlcXVlc3QgcGFnaW5hdGVkIGRvY3VtZW50cyBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgZXZlbnRzIHRvIHRyYW5zZm9ybSBpbnRvIFRlblhPYmplY3RzLiBUaGUgW2RlZmF1bHQgcXVlcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9sb2ctMTB4L21vZHVsZXMvYmxvYi9tYWluL3BpcGVsaW5lcy9ydW4vbW9kdWxlcy9pbnB1dC9hbmFseXplci9kYXRhZG9nTG9ncy9xdWVyeS50eHQpIHJldHJpZXZlcyBwYWdpbmF0ZWQgdmFsdWVzIHNvcnRlZCBpbiBkZXNjIG9yZGVyIGJ5IEB0aW1lc3RhbXAsIHN0YXJ0aW5nIGZyb20gdGhlIHZhbHVlIG9mICdub3ctMTVtJyIKICAgICAgICAgIH0sCiAgICAgICAgICAiaW5kZXhlcyIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAiYXJyYXkiLAogICAgICAgICAgICAgICJudWxsIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTGlzdCBvZiBpbmRpY2VzIHRvIHNlYXJjaCBpblxuXG5TZXRzIHRoZSBsaXN0cyBvZiBkYXRhIGluZGljZXMgdG8gc2VhcmNoIGluLiBUbyBzZWFyY2ggYWxsIGRhdGEgc3RyZWFtcyBhbmQgaW5kaWNlcywgb21pdCB0aGlzIHBhcmFtZXRlciBvciB1c2UgKiBvciBfYWxsLiIsCiAgICAgICAgICAgICJpdGVtcyIgOiB7CiAgICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgICJxdWVyeVNpemUiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgIm51bWJlciIsCiAgICAgICAgICAgICAgInN0cmluZyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIk51bWJlciBvZiBkb2N1bWVudHMgdG8gcmVhZCBwZXIgYmF0Y2ggZnJvbSB0aGUgRGF0YWRvZyBzZXJ2ZXJcblxuU2V0cyB0aGUgbnVtYmVyIG9mIGRvY3VtZW50cyB0byByZXRyaWV2ZSB3aXRoIGVhY2ggcGFnZSBvZiByZXN1bHRzLiAoQWNjZXB0cyBudW1iZXIgb3Igc3RyaW5nIHdpdGggJD0gcHJlZml4IGZvciBydW50aW1lIGV2YWx1YXRpb24pIChEZWZhdWx0OiA1MDApIiwKICAgICAgICAgICAgImRlZmF1bHQiIDogNTAwCiAgICAgICAgICB9LAogICAgICAgICAgInNlYXJjaEZyb20iIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICAgIm51bGwiCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJUaW1lc3RhbXAgZnJvbSB3aGljaCB0byBiZWdpbiB0aGUgc2VhcmNoXG5cblRoaXMgdmFsdWUgc2V0cyB0aGUgaW5pdGlhbCB2YWx1ZSB1c2VkIHRvIHJlcXVlc3QgdGhlIGZpcnN0IHBhZ2Ugb2YgcmVzdWx0cy4gKERlZmF1bHQ6IG5vdygpIGluIG5hbm8uKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6ICJub3coKSBpbiBuYW5vLiIKICAgICAgICAgIH0sCiAgICAgICAgICAicmV0cnlUaW1lb3V0IiA6IHsKICAgICAgICAgICAgInR5cGUiIDogWwogICAgICAgICAgICAgICJudW1iZXIiLAogICAgICAgICAgICAgICJzdHJpbmciCiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJBIHRpbWVvdXQgcGVyaW9kIChpbiBtaWxsaXNlY29uZHMpIHRvIHdhaXQgZm9yIHF1ZXJ5aW5nIG9mIG5ldyBkYXRhXG5cblVzZWQgYnkgW2RhdGFkb2ctaW5wdXQuanNdKGh0dHBzOi8vZ2l0aHViLmNvbS9sb2ctMTB4L21vZHVsZXMvYmxvYi9tYWluL3BpcGVsaW5lcy9ydW4vbW9kdWxlcy9pbnB1dC9hbmFseXplci9kYXRhZG9nTG9ncy9kYXRhZG9nLWlucHV0LmpzKSB0byBkZXRlcm1pbmUgaG93IGxvbmcgdG8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aW1lIHRoZSBzZWFyY2ggZW5kcG9pbnQgQVBJIGlzIGludm9rZWQgdG8gcXVlcnkgZm9yIG5ldyBkYXRhLiAoQWNjZXB0cyBudW1iZXIgb3Igc3RyaW5nIHdpdGggJD0gcHJlZml4IGZvciBydW50aW1lIGV2YWx1YXRpb24pIChEZWZhdWx0OiAxMDAwMCkiLAogICAgICAgICAgICAiZGVmYXVsdCIgOiAxMDAwMAogICAgICAgICAgfSwKICAgICAgICAgICJ0b3RhbEJ5dGVzTGltaXQiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgIm51bWJlciIsCiAgICAgICAgICAgICAgInN0cmluZyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIk1heGltdW0gdG90YWwgYnl0ZXMgdG8gcmVhZCBmcm9tIGlucHV0IGJlZm9yZSBjbG9zaW5nXG5cblNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGEgdGFyZ2V0IHBpcGVsaW5lIGlucHV0IHdpbGwgcmVhZCBpbnRvIHRoZSBwaXBlbGluZS4gVGhpcyB2YWx1ZSBsaW1pdHMgdGhlIHZvbHVtZSBvZiBldmVudHMgdG8gcmVhZCBmcm9tIGEgbG9jYWwvcmVtb3RlIHNvdXJjZSAoZS5nLiwgbG9nIGFuYWx5emVyKS4gICBGb3IgZXhhbXBsZTogYGBgIHlhbWwgZGF0YWRvZ0xvZ3NUb3RhbEJ5dGVzTGltaXQ6ICQ9cGFyc2VCeXRlcyhcIjFHQlwiKSBgYGAgKEFjY2VwdHMgbnVtYmVyIG9yIHN0cmluZyB3aXRoICQ9IHByZWZpeCBmb3IgcnVudGltZSBldmFsdWF0aW9uKSIKICAgICAgICAgIH0sCiAgICAgICAgICAidG90YWxFdmVudHNMaW1pdCIgOiB7CiAgICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgICAibnVtYmVyIiwKICAgICAgICAgICAgICAic3RyaW5nIgogICAgICAgICAgICBdLAogICAgICAgICAgICAibWFya2Rvd25EZXNjcmlwdGlvbiIgOiAiTWF4aW11bSB0b3RhbCBldmVudHMgdG8gcmVhZCBmcm9tIGlucHV0IGJlZm9yZSBjbG9zaW5nXG5cblNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGV2ZW50cyBhIHRhcmdldCBwaXBlbGluZSBpbnB1dCB3aWxsIHJlYWQgaW50byB0aGUgcGlwZWxpbmUuIFRoaXMgdmFsdWUgbGltaXRzIHRoZSB2b2x1bWUgb2YgZXZlbnRzIHRvIHJlYWQgZnJvbSBhIGxvY2FsL3JlbW90ZSBzb3VyY2UgKGUuZy4sIGxvZyBhbmFseXplcikuIChBY2NlcHRzIG51bWJlciBvciBzdHJpbmcgd2l0aCAkPSBwcmVmaXggZm9yIHJ1bnRpbWUgZXZhbHVhdGlvbikgKERlZmF1bHQ6IDEwMDAwKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6IDEwMDAwCiAgICAgICAgICB9LAogICAgICAgICAgInF1ZXJ5SW50ZXJ2YWwiIDogewogICAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICAgIm51bWJlciIsCiAgICAgICAgICAgICAgInN0cmluZyIKICAgICAgICAgICAgXSwKICAgICAgICAgICAgIm1hcmtkb3duRGVzY3JpcHRpb24iIDogIlF1ZXJ5IGludGVydmFsIChpbiBtaWxsaXNlY29uZHMpIGZvciBjaGVja2luZyBuZXcgZGF0YSBmcm9tIHJlbW90ZSBzb3VyY2VcblxuU2V0cyB0aGUgaW50ZXJ2YWwgYmV0d2VlbiBxdWVyaWVzIHRvIHRoZSByZW1vdGUgRGF0YWRvZyBMb2dzIEFQSS4gVGhpcyBjb250cm9scyBob3cgZnJlcXVlbnRseSB0aGUgaW5wdXQgcG9sbHMgZm9yIG5ldyBsb2cgZGF0YS4gIEZvciBleGFtcGxlOiBgYGAgeWFtbCBkYXRhZG9nTG9nc1F1ZXJ5SW50ZXJ2YWw6ICQ9cGFyc2VEdXJhdGlvbihcIjVzXCIpIGBgYCAoQWNjZXB0cyBudW1iZXIgb3Igc3RyaW5nIHdpdGggJD0gcHJlZml4IGZvciBydW50aW1lIGV2YWx1YXRpb24pIChEZWZhdWx0OiAyMDAwKSIsCiAgICAgICAgICAgICJkZWZhdWx0IiA6IDIwMDAKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJyZXF1aXJlZCIgOiBbCiAgICAgICAgICAibmFtZSIsCiAgICAgICAgICAiaG9zdCIsCiAgICAgICAgICAiYXBpS2V5IiwKICAgICAgICAgICJhcHBLZXkiCiAgICAgICAgXQogICAgICB9CiAgICB9CiAgfSwKICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UKfQ==
# 🔟❎ 'run' Datadog Logs input configuration
# Configure a Datadog Logs event input
# To learn more see https://doc.log10x.com/run/input/analyzer/datadogLogs/
# Set the 10x pipeline to 'run'
tenx: run
# =============================== Dependencies ================================
include: run/modules/input/analyzer/datadogLogs
# ============================== Datadog Inputs ===============================
# Multiple Datadog inputs can be defined below
datadogLogs:
# 'name' sets a unique logical name across all pipeline inputs
- name: DatadogLogs
# -------------------------- Connection Options ---------------------------
# 'apiKey' and 'appKey' must be set to authenticate with the logs endpoint
# To learn more see: https://docs.datadoghq.com/account_management/api-app-keys/
apiKey: $=TenXEnv.get("DD_API_KEY") # (❗ REQUIRED)
appKey: $=TenXEnv.get("DD_APP_KEY") # (❗ REQUIRED)
# 'host' points to the target Datadog site
# To learn more see: https://docs.datadoghq.com/getting_started/site/
host: us5.datadoghq.com
# ----------------------------- Query Options -----------------------------
# 'query' sets the Datadog query used to request paginated documents.
# The default query (defined in 'run/modules/input/analyzer/datadog/query.txt') retrieves
# values sorted in desc order by @timestamp, starting from the value of 'searchFrom'
query: null
# 'searchFrom sets the initial value used to request the first page of results.
searchFrom: now-1000h
# 'querySize' sets the number of documents to retrieve with each paginated request
querySize: 500
# 'indexes' sets the lists of data indices to search in
# If not provided, will use a default of '*'
indexes: null
# --------------------------- Backpressure Options -----------------------
# 'queryInterval' sets the interval between queries to the remote API
queryInterval: $=parseDuration("5s")
# 'totalDuration' sets the max duration to try reading from the the remote input
totalDuration: $=parseDuration("5min")
# 'totalBytesLimit' sets the max total bytes to read from the remote input
totalBytesLimit: $=parseBytes("50MB")
# 'totalEventsLimit' sets the max number of events to read the remote input
totalEventsLimit: 10000
# --------------------------- Ancillary Options ---------------------------
# 'printProgress' controls whether to print a progress gage to the console
# This option helps test the input
printProgress: $=!TenXEnv.get("quiet")
Options
Specify the options below to configure multiple Datadog Logs input:
| Name | Description | Category |
|---|---|---|
| datadogLogsName | Logical name for this DatadogLogs input | General |
| datadogLogsEnabled | Sets whether this input is enabled | General |
| datadogLogsPrintProgress | Sets whether this input prints throughput stats to the console | General |
| datadogLogsTotalDuration | Sets maximum time to query the backend | General |
| datadogLogsExtractors | List of extractors to apply on the events returning from the query | Advanced |
| datadogLogsHost | DatadogLogs host address | Authentication |
| datadogLogsApiKey | Datadog API key token | Authentication |
| datadogLogsAppKey | Datadog app key | Authentication |
| datadogLogsQuery | Query to pass to the Datadog 'api/v2/logs/events/search' REST endpoint | Query |
| datadogLogsIndexes | List of indices to search in | Query |
| datadogLogsQuerySize | Number of documents to read per batch from the Datadog server | Query |
| datadogLogsSearchFrom | Timestamp from which to begin the search | Query |
| datadogLogsRetryTimeout | A timeout period (in milliseconds) to wait for querying of new data | Query |
| datadogLogsTotalBytesLimit | Maximum total bytes to read from input before closing | Backpressure |
| datadogLogsTotalEventsLimit | Maximum total events to read from input before closing | Backpressure |
| datadogLogsQueryInterval | Query interval (in milliseconds) for checking new data from remote source | Backpressure |
General
datadogLogsName
Logical name for this DatadogLogs input.
| Type | Required | Category |
|---|---|---|
| String | ✔ | General |
Sets a logical name (e.g., 'myDatadogLogs') for this input. The inputName field returns this value at run time to allow for identifying and operating on instances originating from this input.
datadogLogsEnabled
Sets whether this input is enabled.
| Type | Default | Category |
|---|---|---|
| Boolean | true | General |
Sets whether to open the input stream. To enable this input only when a 'datadogLogsHost' startup argument value is truthy, use:
To learn more see TenXEnv.get.
datadogLogsPrintProgress
Sets whether this input prints throughput stats to the console.
| Type | Default | Category |
|---|---|---|
| Boolean | false | General |
Sets whether this input prints throughput stats to the console for testing an integration to a remote endpoint.
datadogLogsTotalDuration
Sets maximum time to query the backend.
| Type | Default | Category |
|---|---|---|
| String | 5min | General |
Sets the maximum time the pipeline will continue to query the datadog api backend before exiting. For example, setting this to '1min' means that queries to the backend will stop after 1 minute has passed.
Advanced
datadogLogsExtractors
List of extractors to apply on the events returning from the query.
| Type | Default | Category |
|---|---|---|
| List | [] | Advanced |
Sets list of extractor names which will work on the events returning from the query. For more info on extractors, see: https://doc.log10x.com/run/input/extract.
Authentication
datadogLogsHost
DatadogLogs host address.
| Type | Required | Category |
|---|---|---|
| String | ✔ | Authentication |
Sets the Datadog site address to connect to (e.g., 'us5.datadoghq.com'). To learn more see Datadog sites.
datadogLogsApiKey
Datadog API key token.
| Type | Required | Category |
|---|---|---|
| String | ✔ | Authentication |
Sets the 'DD-API-KEY' API key authentication request header. To learn more see: API keys.
datadogLogsAppKey
Datadog app key.
| Type | Required | Category |
|---|---|---|
| String | ✔ | Authentication |
Sets the 'DD-APPLICATION-KEY' app key authentication request header. To learn more see: API keys.
Query
datadogLogsQuery
Query to pass to the Datadog 'api/v2/logs/events/search' REST endpoint.
| Type | Default | Category |
|---|---|---|
| String | "" | Query |
Sets the Datadog query used to request paginated documents from which to extract events to transform into TenXObjects. The default query retrieves paginated values sorted in desc order by @timestamp, starting from the value of 'now-15m'.
datadogLogsIndexes
List of indices to search in.
| Type | Default | Category |
|---|---|---|
| List | [] | Query |
Sets the lists of data indices to search in. To search all data streams and indices, omit this parameter or use * or _all.
datadogLogsQuerySize
Number of documents to read per batch from the Datadog server.
| Type | Default | Category |
|---|---|---|
| Number | 500 | Query |
Sets the number of documents to retrieve with each page of results.
datadogLogsSearchFrom
Timestamp from which to begin the search.
| Type | Default | Category |
|---|---|---|
| String | now() in nano. | Query |
This value sets the initial value used to request the first page of results.
datadogLogsRetryTimeout
A timeout period (in milliseconds) to wait for querying of new data.
| Type | Default | Category |
|---|---|---|
| Number | 10000 | Query |
Used by datadog-input.js to determine how long to wait until the next time the search endpoint API is invoked to query for new data.
Backpressure
datadogLogsTotalBytesLimit
Maximum total bytes to read from input before closing.
| Type | Default | Category |
|---|---|---|
| Number | 50000000 | Backpressure |
sets the maximum number of bytes a target pipeline input will read into the pipeline. This value limits the volume of events to read from a local/remote source (e.g., log analyzer).
For example:
datadogLogsTotalEventsLimit
Maximum total events to read from input before closing.
| Type | Default | Category |
|---|---|---|
| Number | 10000 | Backpressure |
Sets the maximum number of events a target pipeline input will read into the pipeline. This value limits the volume of events to read from a local/remote source (e.g., log analyzer).
datadogLogsQueryInterval
Query interval (in milliseconds) for checking new data from remote source.
| Type | Default | Category |
|---|---|---|
| Number | 2000 | Backpressure |
sets the interval between queries to the remote Datadog Logs API. This controls how frequently the input polls for new log data.
For example:
This module is defined in datadogLogs/module.yaml.