docs: Fix typos (#14359)
Co-authored-by: Josh Powers <powersj@fastmail.com>
This commit is contained in:
parent
827f1cc249
commit
6814d7af8a
|
|
@ -621,7 +621,7 @@ func TestConfig_SerializerInterfaceNewFormat(t *testing.T) {
|
||||||
options = append(options, cmpopts.IgnoreFields(stype, settings.mask...))
|
options = append(options, cmpopts.IgnoreFields(stype, settings.mask...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do a manual comparision as require.EqualValues will also work on unexported fields
|
// Do a manual comparison as require.EqualValues will also work on unexported fields
|
||||||
// that cannot be cleared or ignored.
|
// that cannot be cleared or ignored.
|
||||||
diff := cmp.Diff(expected[i], actual[i], options...)
|
diff := cmp.Diff(expected[i], actual[i], options...)
|
||||||
require.Emptyf(t, diff, "Difference in SetSerializer() for %q", format)
|
require.Emptyf(t, diff, "Difference in SetSerializer() for %q", format)
|
||||||
|
|
@ -820,7 +820,7 @@ func TestConfig_ParserInterface(t *testing.T) {
|
||||||
options = append(options, cmpopts.IgnoreFields(stype, settings.mask...))
|
options = append(options, cmpopts.IgnoreFields(stype, settings.mask...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do a manual comparision as require.EqualValues will also work on unexported fields
|
// Do a manual comparison as require.EqualValues will also work on unexported fields
|
||||||
// that cannot be cleared or ignored.
|
// that cannot be cleared or ignored.
|
||||||
diff := cmp.Diff(expected[i], actual[i], options...)
|
diff := cmp.Diff(expected[i], actual[i], options...)
|
||||||
require.Emptyf(t, diff, "Difference in SetParser() for %q", format)
|
require.Emptyf(t, diff, "Difference in SetParser() for %q", format)
|
||||||
|
|
@ -1039,7 +1039,7 @@ func TestConfig_ProcessorsWithParsers(t *testing.T) {
|
||||||
options = append(options, cmpopts.IgnoreFields(stype, settings.mask...))
|
options = append(options, cmpopts.IgnoreFields(stype, settings.mask...))
|
||||||
}
|
}
|
||||||
|
|
||||||
// Do a manual comparision as require.EqualValues will also work on unexported fields
|
// Do a manual comparison as require.EqualValues will also work on unexported fields
|
||||||
// that cannot be cleared or ignored.
|
// that cannot be cleared or ignored.
|
||||||
diff := cmp.Diff(expected[i], actual[i], options...)
|
diff := cmp.Diff(expected[i], actual[i], options...)
|
||||||
require.Emptyf(t, diff, "Difference in SetParser() for %q", format)
|
require.Emptyf(t, diff, "Difference in SetParser() for %q", format)
|
||||||
|
|
|
||||||
|
|
@ -297,7 +297,7 @@ func walkPluginStruct(value reflect.Value, fn func(f reflect.StructField, fv ref
|
||||||
}
|
}
|
||||||
|
|
||||||
// Walk over the struct fields and call the given function. If we encounter more complex embedded
|
// Walk over the struct fields and call the given function. If we encounter more complex embedded
|
||||||
// elements (stucts, slices/arrays, maps) we need to descend into those elements as they might
|
// elements (structs, slices/arrays, maps) we need to descend into those elements as they might
|
||||||
// contain structures nested in the current structure.
|
// contain structures nested in the current structure.
|
||||||
for i := 0; i < t.NumField(); i++ {
|
for i := 0; i < t.NumField(); i++ {
|
||||||
field := t.Field(i)
|
field := t.Field(i)
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ func NewClient(cfg *MqttConfig) (Client, error) {
|
||||||
case "5":
|
case "5":
|
||||||
return NewMQTTv5Client(cfg)
|
return NewMQTTv5Client(cfg)
|
||||||
}
|
}
|
||||||
return nil, fmt.Errorf("unsuported protocol %q: must be \"3.1.1\" or \"5\"", cfg.Protocol)
|
return nil, fmt.Errorf("unsupported protocol %q: must be \"3.1.1\" or \"5\"", cfg.Protocol)
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseServers(servers []string) ([]*url.URL, error) {
|
func parseServers(servers []string) ([]*url.URL, error) {
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
|
|
||||||
# resource target #1 to collect metrics from
|
# resource target #1 to collect metrics from
|
||||||
[[inputs.azure_monitor.resource_target]]
|
[[inputs.azure_monitor.resource_target]]
|
||||||
# can be found undet Overview->Essentials->JSON View in the Azure portal for your application/service
|
# can be found under Overview->Essentials->JSON View in the Azure portal for your application/service
|
||||||
# must start with 'resourceGroups/...' ('/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx'
|
# must start with 'resourceGroups/...' ('/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx'
|
||||||
# must be removed from the beginning of Resource ID property value)
|
# must be removed from the beginning of Resource ID property value)
|
||||||
resource_id = "<<RESOURCE_ID>>"
|
resource_id = "<<RESOURCE_ID>>"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
# resource target #1 to collect metrics from
|
# resource target #1 to collect metrics from
|
||||||
[[inputs.azure_monitor.resource_target]]
|
[[inputs.azure_monitor.resource_target]]
|
||||||
# can be found undet Overview->Essentials->JSON View in the Azure portal for your application/service
|
# can be found under Overview->Essentials->JSON View in the Azure portal for your application/service
|
||||||
# must start with 'resourceGroups/...' ('/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx'
|
# must start with 'resourceGroups/...' ('/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx'
|
||||||
# must be removed from the beginning of Resource ID property value)
|
# must be removed from the beginning of Resource ID property value)
|
||||||
resource_id = "<<RESOURCE_ID>>"
|
resource_id = "<<RESOURCE_ID>>"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# ctrlX Data Layer Input Plugin
|
# ctrlX Data Layer Input Plugin
|
||||||
|
|
||||||
The `ctrlx_datalayer` plugin gathers data from the ctrlX Data Layer,
|
The `ctrlx_datalayer` plugin gathers data from the ctrlX Data Layer,
|
||||||
a communication middleware runnning on
|
a communication middleware running on
|
||||||
[ctrlX CORE devices](https://ctrlx-core.com) from
|
[ctrlX CORE devices](https://ctrlx-core.com) from
|
||||||
[Bosch Rexroth](https://boschrexroth.com). The platform is used for
|
[Bosch Rexroth](https://boschrexroth.com). The platform is used for
|
||||||
professional automation applications like industrial automation, building
|
professional automation applications like industrial automation, building
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ type CtrlXDataLayer struct {
|
||||||
|
|
||||||
// convertTimestamp2UnixTime converts the given Data Layer timestamp of the payload to UnixTime.
|
// convertTimestamp2UnixTime converts the given Data Layer timestamp of the payload to UnixTime.
|
||||||
func convertTimestamp2UnixTime(t int64) time.Time {
|
func convertTimestamp2UnixTime(t int64) time.Time {
|
||||||
// 1 sec=1000 milisec=1000000 microsec=1000000000 nanosec.
|
// 1 sec=1000 millisec=1000000 microsec=1000000000 nanosec.
|
||||||
// Convert from FILETIME (100-nanosecond intervals since January 1, 1601 UTC) to
|
// Convert from FILETIME (100-nanosecond intervals since January 1, 1601 UTC) to
|
||||||
// seconds and nanoseconds since January 1, 1970 UTC.
|
// seconds and nanoseconds since January 1, 1970 UTC.
|
||||||
// Between Jan 1, 1601 and Jan 1, 1970 there are 11644473600 seconds.
|
// Between Jan 1, 1601 and Jan 1, 1970 there are 11644473600 seconds.
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# DNS Query Input Plugin
|
# DNS Query Input Plugin
|
||||||
|
|
||||||
The DNS plugin gathers dns query times in miliseconds - like
|
The DNS plugin gathers dns query times in milliseconds - like
|
||||||
[Dig](https://en.wikipedia.org/wiki/Dig_\(command\))
|
[Dig](https://en.wikipedia.org/wiki/Dig_\(command\))
|
||||||
|
|
||||||
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
|
## Global configuration options <!-- @/docs/includes/plugin_config.md -->
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ func (m *Example) Init() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set your defaults.
|
// Set your defaults.
|
||||||
// Please note: In golang all fields are initialzed to their nil value, so you should not
|
// Please note: In golang all fields are initialized to their nil value, so you should not
|
||||||
// set these fields if the nil value is what you want (e.g. for booleans).
|
// set these fields if the nil value is what you want (e.g. for booleans).
|
||||||
if m.NumberFields < 1 {
|
if m.NumberFields < 1 {
|
||||||
m.Log.Debugf("Setting number of fields to default from invalid value %d", m.NumberFields)
|
m.Log.Debugf("Setting number of fields to default from invalid value %d", m.NumberFields)
|
||||||
|
|
@ -75,7 +75,7 @@ func (m *Example) Init() error {
|
||||||
}
|
}
|
||||||
defer password.Destroy()
|
defer password.Destroy()
|
||||||
|
|
||||||
// Initialze your internal states
|
// Initialize your internal states
|
||||||
m.count = 1
|
m.count = 1
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ func TestInitDefault(t *testing.T) {
|
||||||
// This test should succeed with the default initialization.
|
// This test should succeed with the default initialization.
|
||||||
|
|
||||||
// Use whatever you use in the init() function plus the mandatory options.
|
// Use whatever you use in the init() function plus the mandatory options.
|
||||||
// ATTENTION: Always initialze the "Log" as you will get SIGSEGV otherwise.
|
// ATTENTION: Always initialize the "Log" as you will get SIGSEGV otherwise.
|
||||||
plugin := &Example{
|
plugin := &Example{
|
||||||
DeviceName: "test",
|
DeviceName: "test",
|
||||||
Timeout: config.Duration(100 * time.Millisecond),
|
Timeout: config.Duration(100 * time.Millisecond),
|
||||||
|
|
@ -42,7 +42,7 @@ func TestInitFail(t *testing.T) {
|
||||||
// and check if you reach them
|
// and check if you reach them
|
||||||
|
|
||||||
// We setup a table-test here to specify "setting" - "expected error" values.
|
// We setup a table-test here to specify "setting" - "expected error" values.
|
||||||
// Eventhough it seems overkill here for the example plugin, we reuse this structure
|
// Even though it seems overkill here for the example plugin, we reuse this structure
|
||||||
// later for checking the metrics
|
// later for checking the metrics
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
|
|
@ -58,7 +58,7 @@ func TestInitFail(t *testing.T) {
|
||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
// Always initialze the logger to avoid SIGSEGV. This is done automatically by
|
// Always initialize the logger to avoid SIGSEGV. This is done automatically by
|
||||||
// telegraf during normal operation.
|
// telegraf during normal operation.
|
||||||
tt.plugin.Log = testutil.Logger{}
|
tt.plugin.Log = testutil.Logger{}
|
||||||
err := tt.plugin.Init()
|
err := tt.plugin.Init()
|
||||||
|
|
@ -225,8 +225,8 @@ func TestFixedValue(t *testing.T) {
|
||||||
acc.Wait(len(tt.expected))
|
acc.Wait(len(tt.expected))
|
||||||
|
|
||||||
// Compare the metrics in a convenient way. Here we ignore
|
// Compare the metrics in a convenient way. Here we ignore
|
||||||
// the metric time during comparision as we cannot inject the time
|
// the metric time during comparison as we cannot inject the time
|
||||||
// during test. For more comparision options check testutil package.
|
// during test. For more comparison options check testutil package.
|
||||||
testutil.RequireMetricsEqual(t, tt.expected, acc.GetTelegrafMetrics(), testutil.IgnoreTime())
|
testutil.RequireMetricsEqual(t, tt.expected, acc.GetTelegrafMetrics(), testutil.IgnoreTime())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ values are included if they are less than a minute old.
|
||||||
- fireboard
|
- fireboard
|
||||||
- tags:
|
- tags:
|
||||||
- channel
|
- channel
|
||||||
- scale (Celcius; Farenheit)
|
- scale (Celsius; Fahrenheit)
|
||||||
- title (name of the Fireboard)
|
- title (name of the Fireboard)
|
||||||
- uuid (UUID of the Fireboard)
|
- uuid (UUID of the Fireboard)
|
||||||
- fields:
|
- fields:
|
||||||
|
|
@ -66,5 +66,5 @@ This section shows example output in Line Protocol format. You can often use
|
||||||
this information.
|
this information.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
fireboard,channel=2,host=patas-mbp,scale=Farenheit,title=telegraf-FireBoard,uuid=b55e766c-b308-49b5-93a4-df89fe31efd0 temperature=78.2 1561690040000000000
|
fireboard,channel=2,host=patas-mbp,scale=Fahrenheit,title=telegraf-FireBoard,uuid=b55e766c-b308-49b5-93a4-df89fe31efd0 temperature=78.2 1561690040000000000
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
## * Juniper Header Extension (juniper_header): some sensors are directly managed by
|
## * Juniper Header Extension (juniper_header): some sensors are directly managed by
|
||||||
## Linecard, which adds the Juniper GNMI Header Extension. Enabling this
|
## Linecard, which adds the Juniper GNMI Header Extension. Enabling this
|
||||||
## allows the decoding of the Extension header if present. Currently this knob
|
## allows the decoding of the Extension header if present. Currently this knob
|
||||||
## adds component, component_id & sub_component_id as additionnal tags
|
## adds component, component_id & sub_component_id as additional tags
|
||||||
# vendor_specific = []
|
# vendor_specific = []
|
||||||
|
|
||||||
## Define additional aliases to map encoding paths to measurement names
|
## Define additional aliases to map encoding paths to measurement names
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
## * Juniper Header Extension (juniper_header): some sensors are directly managed by
|
## * Juniper Header Extension (juniper_header): some sensors are directly managed by
|
||||||
## Linecard, which adds the Juniper GNMI Header Extension. Enabling this
|
## Linecard, which adds the Juniper GNMI Header Extension. Enabling this
|
||||||
## allows the decoding of the Extension header if present. Currently this knob
|
## allows the decoding of the Extension header if present. Currently this knob
|
||||||
## adds component, component_id & sub_component_id as additionnal tags
|
## adds component, component_id & sub_component_id as additional tags
|
||||||
# vendor_specific = []
|
# vendor_specific = []
|
||||||
|
|
||||||
## Define additional aliases to map encoding paths to measurement names
|
## Define additional aliases to map encoding paths to measurement names
|
||||||
|
|
|
||||||
|
|
@ -184,7 +184,7 @@ func (m *msrServiceImpl) readSingleMsr(core string, msr string) (uint64, error)
|
||||||
case msrFSBFreqString:
|
case msrFSBFreqString:
|
||||||
msrAddress = fsbFreq
|
msrAddress = fsbFreq
|
||||||
default:
|
default:
|
||||||
return 0, fmt.Errorf("incorect name of MSR %s", msr)
|
return 0, fmt.Errorf("incorrect name of MSR %s", msr)
|
||||||
}
|
}
|
||||||
|
|
||||||
value, err := m.fs.readFileAtOffsetToUint64(msrFile, msrAddress)
|
value, err := m.fs.readFileAtOffsetToUint64(msrFile, msrAddress)
|
||||||
|
|
|
||||||
|
|
@ -66,9 +66,9 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
## Empty this field will use default value 5
|
## Empty this field will use default value 5
|
||||||
# max_connections = 5
|
# max_connections = 5
|
||||||
|
|
||||||
## When set to true will add node labels as a comma-seperated tag. If none,
|
## When set to true will add node labels as a comma-separated tag. If none,
|
||||||
## are found, then a tag with the value of 'none' is used. Finally, if a
|
## are found, then a tag with the value of 'none' is used. Finally, if a
|
||||||
## lable contains a comma it is replaced with an underscore.
|
## label contains a comma it is replaced with an underscore.
|
||||||
# node_labels_as_tag = false
|
# node_labels_as_tag = false
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
## Empty this field will use default value 5
|
## Empty this field will use default value 5
|
||||||
# max_connections = 5
|
# max_connections = 5
|
||||||
|
|
||||||
## When set to true will add node labels as a comma-seperated tag. If none,
|
## When set to true will add node labels as a comma-separated tag. If none,
|
||||||
## are found, then a tag with the value of 'none' is used. Finally, if a
|
## are found, then a tag with the value of 'none' is used. Finally, if a
|
||||||
## lable contains a comma it is replaced with an underscore.
|
## label contains a comma it is replaced with an underscore.
|
||||||
# node_labels_as_tag = false
|
# node_labels_as_tag = false
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ processes 86031
|
||||||
Number of forks since boot.
|
Number of forks since boot.
|
||||||
```
|
```
|
||||||
|
|
||||||
Kernel Samepage Merging is generally documented in [kernel documenation][1] and
|
Kernel Samepage Merging is generally documented in [kernel documentation][1] and
|
||||||
the available metrics exposed via sysfs are documented in [admin guide][2]
|
the available metrics exposed via sysfs are documented in [admin guide][2]
|
||||||
|
|
||||||
[1]: https://www.kernel.org/doc/html/latest/mm/ksm.html
|
[1]: https://www.kernel.org/doc/html/latest/mm/ksm.html
|
||||||
|
|
|
||||||
|
|
@ -275,7 +275,7 @@ func groupFieldsToRequests(fields []field, params groupingParams) []request {
|
||||||
}
|
}
|
||||||
requests = optimizeGroup(total, params.MaxBatchSize)
|
requests = optimizeGroup(total, params.MaxBatchSize)
|
||||||
case "max_insert":
|
case "max_insert":
|
||||||
// Similar to aggressive but keeps the number of touched registers bellow a threshold
|
// Similar to aggressive but keeps the number of touched registers below a threshold
|
||||||
var total request
|
var total request
|
||||||
for _, g := range groups {
|
for _, g := range groups {
|
||||||
if len(g.fields) > 0 {
|
if len(g.fields) > 0 {
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
## NFSv3 and NFSv4 have different lists. While it is not possible to
|
## NFSv3 and NFSv4 have different lists. While it is not possible to
|
||||||
## have different include/exclude lists for NFSv3/4, unused elements
|
## have different include/exclude lists for NFSv3/4, unused elements
|
||||||
## in the list should be okay. It is possible to have different lists
|
## in the list should be okay. It is possible to have different lists
|
||||||
## for different mountpoints: use mulitple [[input.nfsclient]] stanzas,
|
## for different mountpoints: use multiple [[input.nfsclient]] stanzas,
|
||||||
## with their own lists. See "include_mounts" above, and be careful of
|
## with their own lists. See "include_mounts" above, and be careful of
|
||||||
## duplicate metrics.
|
## duplicate metrics.
|
||||||
# include_operations = []
|
# include_operations = []
|
||||||
|
|
@ -89,9 +89,9 @@ MOUNT_PROC: /host/proc/self/mountstats
|
||||||
- bytes (integer, bytes) - The total number of bytes exchanged doing this operation. This is bytes sent _and_ received, including overhead _and_ payload. (bytes = OP_bytes_sent + OP_bytes_recv. See nfs_ops below)
|
- bytes (integer, bytes) - The total number of bytes exchanged doing this operation. This is bytes sent _and_ received, including overhead _and_ payload. (bytes = OP_bytes_sent + OP_bytes_recv. See nfs_ops below)
|
||||||
- ops (integer, count) - The number of operations of this type executed.
|
- ops (integer, count) - The number of operations of this type executed.
|
||||||
- retrans (integer, count) - The number of times an operation had to be retried (retrans = OP_trans - OP_ops. See nfs_ops below)
|
- retrans (integer, count) - The number of times an operation had to be retried (retrans = OP_trans - OP_ops. See nfs_ops below)
|
||||||
- exe (integer, miliseconds) - The number of miliseconds it took to process the operations.
|
- exe (integer, milliseconds) - The number of milliseconds it took to process the operations.
|
||||||
- rtt (integer, miliseconds) - The total round-trip time for all operations.
|
- rtt (integer, milliseconds) - The total round-trip time for all operations.
|
||||||
- rtt_per_op (float, miliseconds) - The average round-trip time per operation.
|
- rtt_per_op (float, milliseconds) - The average round-trip time per operation.
|
||||||
|
|
||||||
In addition enabling `fullstat` will make many more metrics available.
|
In addition enabling `fullstat` will make many more metrics available.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
## NFSv3 and NFSv4 have different lists. While it is not possible to
|
## NFSv3 and NFSv4 have different lists. While it is not possible to
|
||||||
## have different include/exclude lists for NFSv3/4, unused elements
|
## have different include/exclude lists for NFSv3/4, unused elements
|
||||||
## in the list should be okay. It is possible to have different lists
|
## in the list should be okay. It is possible to have different lists
|
||||||
## for different mountpoints: use mulitple [[input.nfsclient]] stanzas,
|
## for different mountpoints: use multiple [[input.nfsclient]] stanzas,
|
||||||
## with their own lists. See "include_mounts" above, and be careful of
|
## with their own lists. See "include_mounts" above, and be careful of
|
||||||
## duplicate metrics.
|
## duplicate metrics.
|
||||||
# include_operations = []
|
# include_operations = []
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
# Derive metrics from aggregating OpenSearch query results
|
# Derive metrics from aggregating OpenSearch query results
|
||||||
[[inputs.opensearch_query]]
|
[[inputs.opensearch_query]]
|
||||||
## OpenSearch cluster endpoint(s). Multiple urls can be specified as part
|
## OpenSearch cluster endpoint(s). Multiple urls can be specified as part
|
||||||
## of the same cluster. Only one succesful call will be made per interval.
|
## of the same cluster. Only one successful call will be made per interval.
|
||||||
urls = [ "https://node1.os.example.com:9200" ] # required.
|
urls = [ "https://node1.os.example.com:9200" ] # required.
|
||||||
|
|
||||||
## OpenSearch client timeout, defaults to "5s".
|
## OpenSearch client timeout, defaults to "5s".
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Derive metrics from aggregating OpenSearch query results
|
# Derive metrics from aggregating OpenSearch query results
|
||||||
[[inputs.opensearch_query]]
|
[[inputs.opensearch_query]]
|
||||||
## OpenSearch cluster endpoint(s). Multiple urls can be specified as part
|
## OpenSearch cluster endpoint(s). Multiple urls can be specified as part
|
||||||
## of the same cluster. Only one succesful call will be made per interval.
|
## of the same cluster. Only one successful call will be made per interval.
|
||||||
urls = [ "https://node1.os.example.com:9200" ] # required.
|
urls = [ "https://node1.os.example.com:9200" ] # required.
|
||||||
|
|
||||||
## OpenSearch client timeout, defaults to "5s".
|
## OpenSearch client timeout, defaults to "5s".
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
# query_style = "batch"
|
# query_style = "batch"
|
||||||
|
|
||||||
## Query interval to fetch data.
|
## Query interval to fetch data.
|
||||||
## By default the gloabl 'interval' setting is used. You should override the
|
## By default the global 'interval' setting is used. You should override the
|
||||||
## interval here if the global setting is shorter than 10 minutes as
|
## interval here if the global setting is shorter than 10 minutes as
|
||||||
## OpenWeatherMap weather data is only updated every 10 minutes.
|
## OpenWeatherMap weather data is only updated every 10 minutes.
|
||||||
# interval = "10m"
|
# interval = "10m"
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
# query_style = "batch"
|
# query_style = "batch"
|
||||||
|
|
||||||
## Query interval to fetch data.
|
## Query interval to fetch data.
|
||||||
## By default the gloabl 'interval' setting is used. You should override the
|
## By default the global 'interval' setting is used. You should override the
|
||||||
## interval here if the global setting is shorter than 10 minutes as
|
## interval here if the global setting is shorter than 10 minutes as
|
||||||
## OpenWeatherMap weather data is only updated every 10 minutes.
|
## OpenWeatherMap weather data is only updated every 10 minutes.
|
||||||
# interval = "10m"
|
# interval = "10m"
|
||||||
|
|
|
||||||
|
|
@ -94,13 +94,13 @@ func (p *Prometheus) startConsul(ctx context.Context) error {
|
||||||
|
|
||||||
p.wg.Add(1)
|
p.wg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
// Store last error status and change log level depending on repeated occurence
|
// Store last error status and change log level depending on repeated occurrence
|
||||||
var refreshFailed = false
|
var refreshFailed = false
|
||||||
defer p.wg.Done()
|
defer p.wg.Done()
|
||||||
err := p.refreshConsulServices(catalog)
|
err := p.refreshConsulServices(catalog)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
refreshFailed = true
|
refreshFailed = true
|
||||||
p.Log.Errorf("Unable to refreh Consul services: %v", err)
|
p.Log.Errorf("Unable to refresh Consul services: %v", err)
|
||||||
}
|
}
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
|
|
@ -109,7 +109,7 @@ func (p *Prometheus) startConsul(ctx context.Context) error {
|
||||||
case <-time.After(time.Duration(p.ConsulConfig.QueryInterval)):
|
case <-time.After(time.Duration(p.ConsulConfig.QueryInterval)):
|
||||||
err := p.refreshConsulServices(catalog)
|
err := p.refreshConsulServices(catalog)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
message := fmt.Sprintf("Unable to refreh Consul services: %v", err)
|
message := fmt.Sprintf("Unable to refresh Consul services: %v", err)
|
||||||
if refreshFailed {
|
if refreshFailed {
|
||||||
p.Log.Debug(message)
|
p.Log.Debug(message)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ details.
|
||||||
# version = 2
|
# version = 2
|
||||||
|
|
||||||
## Unconnected UDP socket
|
## Unconnected UDP socket
|
||||||
## When true, SNMP reponses are accepted from any address not just
|
## When true, SNMP responses are accepted from any address not just
|
||||||
## the requested address. This can be useful when gathering from
|
## the requested address. This can be useful when gathering from
|
||||||
## redundant/failover systems.
|
## redundant/failover systems.
|
||||||
# unconnected_udp_socket = false
|
# unconnected_udp_socket = false
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
# version = 2
|
# version = 2
|
||||||
|
|
||||||
## Unconnected UDP socket
|
## Unconnected UDP socket
|
||||||
## When true, SNMP reponses are accepted from any address not just
|
## When true, SNMP responses are accepted from any address not just
|
||||||
## the requested address. This can be useful when gathering from
|
## the requested address. This can be useful when gathering from
|
||||||
## redundant/failover systems.
|
## redundant/failover systems.
|
||||||
# unconnected_udp_socket = false
|
# unconnected_udp_socket = false
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,7 @@ func (ss *Socketstat) parseAndGather(acc telegraf.Accumulator, data *bytes.Buffe
|
||||||
// formats depending on the protocol.
|
// formats depending on the protocol.
|
||||||
tags, fields = getTagsAndState(proto, words, ss.Log)
|
tags, fields = getTagsAndState(proto, words, ss.Log)
|
||||||
|
|
||||||
// This line containted metrics, so record that.
|
// This line contained metrics, so record that.
|
||||||
flushData = true
|
flushData = true
|
||||||
}
|
}
|
||||||
if flushData {
|
if flushData {
|
||||||
|
|
|
||||||
|
|
@ -203,7 +203,7 @@ to use them.
|
||||||
## This setting/metric is optional and is disabled by default.
|
## This setting/metric is optional and is disabled by default.
|
||||||
# health_metric = false
|
# health_metric = false
|
||||||
|
|
||||||
## Possible queries accross different versions of the collectors
|
## Possible queries across different versions of the collectors
|
||||||
## Queries enabled by default for specific Database Type
|
## Queries enabled by default for specific Database Type
|
||||||
|
|
||||||
## database_type = AzureSQLDB by default collects the following queries
|
## database_type = AzureSQLDB by default collects the following queries
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@
|
||||||
## This setting/metric is optional and is disabled by default.
|
## This setting/metric is optional and is disabled by default.
|
||||||
# health_metric = false
|
# health_metric = false
|
||||||
|
|
||||||
## Possible queries accross different versions of the collectors
|
## Possible queries across different versions of the collectors
|
||||||
## Queries enabled by default for specific Database Type
|
## Queries enabled by default for specific Database Type
|
||||||
|
|
||||||
## database_type = AzureSQLDB by default collects the following queries
|
## database_type = AzureSQLDB by default collects the following queries
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ func TestUniqueUsers(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "emptry entry",
|
name: "empty entry",
|
||||||
expected: 0,
|
expected: 0,
|
||||||
data: []host.UserStat{},
|
data: []host.UserStat{},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ by the tacacs server, or filled by telegraf in case of a timeout.
|
||||||
### field `responsetime_ms`
|
### field `responsetime_ms`
|
||||||
|
|
||||||
The field responsetime_ms is response time of the tacacs server
|
The field responsetime_ms is response time of the tacacs server
|
||||||
in miliseconds of the furthest achieved stage of auth.
|
in milliseconds of the furthest achieved stage of auth.
|
||||||
In case of timeout, its filled by telegraf to be the value of
|
In case of timeout, its filled by telegraf to be the value of
|
||||||
the configured response_timeout.
|
the configured response_timeout.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,20 @@
|
||||||
# artifactory webhook
|
# Artifactory Webhook
|
||||||
|
|
||||||
You need to configure to orginizations artifactory instance/s as detailed via the artifactory webhook documentation: <https://www.jfrog.com/confluence/display/JFROG/Webhooks>. Multiple webhooks may need be needed to configure different domains.
|
You need to configure the organization's artifactory instance(s) as detailed
|
||||||
|
via the artifactory [webhook documentation][webhook docs]. Multiple webhooks may
|
||||||
|
need be needed to configure different domains.
|
||||||
|
|
||||||
You can also add a secret that will be used by telegraf to verify the authenticity of the requests.
|
You can also add a secret that will be used by telegraf to verify the
|
||||||
|
authenticity of the requests.
|
||||||
|
|
||||||
|
[webhook docs]: https://www.jfrog.com/confluence/display/JFROG/Webhooks
|
||||||
|
|
||||||
## Events
|
## Events
|
||||||
|
|
||||||
The different events type can be found found in the webhook documentation: <https://www.jfrog.com/confluence/display/JFROG/Webhooks>. Events are identified by their `domain` and `event`. The following sections break down each event by domain.
|
The different events type can be found found in the webhook documentation:
|
||||||
|
<https://www.jfrog.com/confluence/display/JFROG/Webhooks>.
|
||||||
|
Events are identified by their `domain` and `event`.
|
||||||
|
The following sections break down each event by domain.
|
||||||
|
|
||||||
### Artifact Domain
|
### Artifact Domain
|
||||||
|
|
||||||
|
|
@ -84,7 +92,8 @@ The Webhook is triggered when an artifact is copied from a repository.
|
||||||
|
|
||||||
#### Properties Added Event
|
#### Properties Added Event
|
||||||
|
|
||||||
The Webhook is triggered when a property is added to an artifact/folder in a repository, or the repository itself.
|
The Webhook is triggered when a property is added to an artifact/folder
|
||||||
|
in a repository, or the repository itself.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -95,11 +104,12 @@ The Webhook is triggered when a property is added to an artifact/folder in a rep
|
||||||
* 'name' string
|
* 'name' string
|
||||||
**Fields**
|
**Fields**
|
||||||
* 'property_key' string
|
* 'property_key' string
|
||||||
* 'property_values' string (joined comma seperated list)
|
* 'property_values' string (joined comma separated list)
|
||||||
|
|
||||||
#### Properties Deleted Event
|
#### Properties Deleted Event
|
||||||
|
|
||||||
The Webhook is triggered when a property is deleted from an artifact/folder in a repository, or the repository itself.
|
The Webhook is triggered when a property is deleted from an artifact/folder in a
|
||||||
|
repository, or the repository itself.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -112,13 +122,14 @@ The Webhook is triggered when a property is deleted from an artifact/folder in a
|
||||||
**Fields:**
|
**Fields:**
|
||||||
|
|
||||||
* 'property_key' string
|
* 'property_key' string
|
||||||
* 'property_values' string (joined comma seperated list)
|
* 'property_values' string (joined comma separated list)
|
||||||
|
|
||||||
### Docker Domain
|
### Docker Domain
|
||||||
|
|
||||||
#### Docker Pushed Event
|
#### Docker Pushed Event
|
||||||
|
|
||||||
The Webhook is triggered when a new tag of a Docker image is pushed to a Docker repository.
|
The Webhook is triggered when a new tag of a Docker image is pushed to a Docker
|
||||||
|
repository.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -135,12 +146,13 @@ The Webhook is triggered when a new tag of a Docker image is pushed to a Docker
|
||||||
* 'sha256' string
|
* 'sha256' string
|
||||||
* 'tag' string
|
* 'tag' string
|
||||||
* 'platforms' []object
|
* 'platforms' []object
|
||||||
* 'achitecture' string
|
* 'architecture' string
|
||||||
* 'os' string
|
* 'os' string
|
||||||
|
|
||||||
#### Docker Deleted Event
|
#### Docker Deleted Event
|
||||||
|
|
||||||
The Webhook is triggered when a tag of a Docker image is deleted from a Docker repository.
|
The Webhook is triggered when a tag of a Docker image is deleted from a Docker
|
||||||
|
repository.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -157,7 +169,7 @@ The Webhook is triggered when a tag of a Docker image is deleted from a Docker r
|
||||||
* 'sha256' string
|
* 'sha256' string
|
||||||
* 'tag' string
|
* 'tag' string
|
||||||
* 'platforms' []object
|
* 'platforms' []object
|
||||||
* 'achitecture' string
|
* 'architecture' string
|
||||||
* 'os' string
|
* 'os' string
|
||||||
|
|
||||||
#### Docker Promoted Event
|
#### Docker Promoted Event
|
||||||
|
|
@ -179,7 +191,7 @@ The Webhook is triggered when a tag of a Docker image is promoted.
|
||||||
* 'sha256' string
|
* 'sha256' string
|
||||||
* 'tag' string
|
* 'tag' string
|
||||||
* 'platforms' []object
|
* 'platforms' []object
|
||||||
* 'achitecture' string
|
* 'architecture' string
|
||||||
* 'os' string
|
* 'os' string
|
||||||
|
|
||||||
### Build Domain
|
### Build Domain
|
||||||
|
|
@ -376,7 +388,8 @@ The Webhook is triggered when Release Bundle distribution has failed.
|
||||||
|
|
||||||
#### Release Bundle Version Deletion Started EVent
|
#### Release Bundle Version Deletion Started EVent
|
||||||
|
|
||||||
The Webhook is triggered when a Release Bundle version deletion has started on one or more Edge nodes.
|
The Webhook is triggered when a Release Bundle version deletion has started on
|
||||||
|
one or more Edge nodes.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -398,7 +411,8 @@ The Webhook is triggered when a Release Bundle version deletion has started on o
|
||||||
|
|
||||||
#### Release Bundle Version Deletion Completed Event
|
#### Release Bundle Version Deletion Completed Event
|
||||||
|
|
||||||
The Webhook is triggered when a Release Bundle version deletion has completed from one or more Edge nodes.
|
The Webhook is triggered when a Release Bundle version deletion has completed
|
||||||
|
from one or more Edge nodes.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -420,7 +434,8 @@ The Webhook is triggered when a Release Bundle version deletion has completed fr
|
||||||
|
|
||||||
#### Release Bundle Version Deletion Failed Event
|
#### Release Bundle Version Deletion Failed Event
|
||||||
|
|
||||||
The Webhook is triggered when a Release Bundle version deletion has failed on one or more Edge nodes.
|
The Webhook is triggered when a Release Bundle version deletion has failed on
|
||||||
|
one or more Edge nodes.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -461,7 +476,8 @@ The Webhook is triggered when a Release Bundle was received on an Edge Node.
|
||||||
|
|
||||||
### Release Bundle Delete Started Event
|
### Release Bundle Delete Started Event
|
||||||
|
|
||||||
The Webhook is triggered when a Release Bundle deletion from an Edge Node completed.
|
The Webhook is triggered when a Release Bundle deletion from an Edge Node
|
||||||
|
completed.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
@ -478,7 +494,8 @@ The Webhook is triggered when a Release Bundle deletion from an Edge Node comple
|
||||||
|
|
||||||
#### Release Bundle Delete Completed Event
|
#### Release Bundle Delete Completed Event
|
||||||
|
|
||||||
The Webhook is triggered when a Release Bundle deletion from an Edge Node completed.
|
The Webhook is triggered when a Release Bundle deletion from an Edge Node
|
||||||
|
completed.
|
||||||
|
|
||||||
**Tags:**
|
**Tags:**
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@ type DockerEvent struct {
|
||||||
ImageName string `json:"image_name"`
|
ImageName string `json:"image_name"`
|
||||||
Tag string `json:"tag"`
|
Tag string `json:"tag"`
|
||||||
Platforms []struct {
|
Platforms []struct {
|
||||||
Architecture string `json:"achitecture"`
|
Architecture string `json:"architecture"`
|
||||||
Os string `json:"os"`
|
Os string `json:"os"`
|
||||||
} `json:"platforms"`
|
} `json:"platforms"`
|
||||||
} `json:"data"`
|
} `json:"data"`
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ See the [CONFIGURATION.md][CONFIGURATION.md] for more details.
|
||||||
By default this plugin collects metrics about ZFS internals pool and dataset.
|
By default this plugin collects metrics about ZFS internals pool and dataset.
|
||||||
These metrics are either counters or measure sizes
|
These metrics are either counters or measure sizes
|
||||||
in bytes. These metrics will be in the `zfs` measurement with the field
|
in bytes. These metrics will be in the `zfs` measurement with the field
|
||||||
names listed bellow.
|
names listed below.
|
||||||
|
|
||||||
If `poolMetrics` is enabled then additional metrics will be gathered for
|
If `poolMetrics` is enabled then additional metrics will be gathered for
|
||||||
each pool.
|
each pool.
|
||||||
|
|
@ -52,7 +52,7 @@ If `datasetMetrics` is enabled then additional metrics will be gathered for
|
||||||
each dataset.
|
each dataset.
|
||||||
|
|
||||||
- zfs
|
- zfs
|
||||||
With fields listed bellow.
|
With fields listed below.
|
||||||
|
|
||||||
### ARC Stats (FreeBSD and Linux)
|
### ARC Stats (FreeBSD and Linux)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -304,7 +304,7 @@ func (o *Opensearch) Write(metrics []telegraf.Metric) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// BulkIndexer supports pipeline at config level so seperate indexer instance for each unique pipeline
|
// BulkIndexer supports pipeline at config level so separate indexer instance for each unique pipeline
|
||||||
func getTargetIndexers(metrics []telegraf.Metric, osInst *Opensearch) map[string]opensearchutil.BulkIndexer {
|
func getTargetIndexers(metrics []telegraf.Metric, osInst *Opensearch) map[string]opensearchutil.BulkIndexer {
|
||||||
var indexers = make(map[string]opensearchutil.BulkIndexer)
|
var indexers = make(map[string]opensearchutil.BulkIndexer)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -99,12 +99,12 @@ func (sr *schemaRegistry) getSchemaAndCodec(id int) (*schemaAndCodec, error) {
|
||||||
|
|
||||||
schema, ok := jsonResponse["schema"]
|
schema, ok := jsonResponse["schema"]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("malformed respose from schema registry: no 'schema' key")
|
return nil, fmt.Errorf("malformed response from schema registry: no 'schema' key")
|
||||||
}
|
}
|
||||||
|
|
||||||
schemaValue, ok := schema.(string)
|
schemaValue, ok := schema.(string)
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, fmt.Errorf("malformed respose from schema registry: %v cannot be cast to string", schema)
|
return nil, fmt.Errorf("malformed response from schema registry: %v cannot be cast to string", schema)
|
||||||
}
|
}
|
||||||
codec, err := goavro.NewCodec(schemaValue)
|
codec, err := goavro.NewCodec(schemaValue)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ values.
|
||||||
|
|
||||||
## A list of metadata separators. If csv_metadata_rows is set,
|
## A list of metadata separators. If csv_metadata_rows is set,
|
||||||
## csv_metadata_separators must contain at least one separator.
|
## csv_metadata_separators must contain at least one separator.
|
||||||
## Please note that separators are case sensitive and the sequence of the seperators are respected.
|
## Please note that separators are case sensitive and the sequence of the separators are respected.
|
||||||
csv_metadata_separators = [":", "="]
|
csv_metadata_separators = [":", "="]
|
||||||
|
|
||||||
## A set of metadata trim characters.
|
## A set of metadata trim characters.
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,7 @@ such as `America/New_York`, to `Local` to utilize the system timezone, or to `UT
|
||||||
*Configuration to modify the resutling line protocol:*
|
*Configuration to modify the resutling line protocol:*
|
||||||
|
|
||||||
* **disable_prepend_keys (OPTIONAL)**: Set to true to prevent resulting nested data to contain the parent key prepended to its key **NOTE**: duplicate names can overwrite each other when this is enabled
|
* **disable_prepend_keys (OPTIONAL)**: Set to true to prevent resulting nested data to contain the parent key prepended to its key **NOTE**: duplicate names can overwrite each other when this is enabled
|
||||||
* **renames (OPTIONAL, defined in TOML as a table using single bracket)**: A table matching the json key with the desired name (oppossed to defaulting to using the key), use names that include the prepended keys of its parent keys for nested results
|
* **renames (OPTIONAL, defined in TOML as a table using single bracket)**: A table matching the json key with the desired name (opposed to defaulting to using the key), use names that include the prepended keys of its parent keys for nested results
|
||||||
* **fields (OPTIONAL, defined in TOML as a table using single bracket)**: A table matching the json key with the desired type (int,string,bool,float), if you define a key that is an array or object then all nested values will become that type
|
* **fields (OPTIONAL, defined in TOML as a table using single bracket)**: A table matching the json key with the desired type (int,string,bool,float), if you define a key that is an array or object then all nested values will become that type
|
||||||
|
|
||||||
## Arrays and Objects
|
## Arrays and Objects
|
||||||
|
|
@ -194,7 +194,7 @@ The following describes the high-level approach when parsing arrays and objects:
|
||||||
When handling nested arrays and objects, these above rules continue to apply as
|
When handling nested arrays and objects, these above rules continue to apply as
|
||||||
the parser creates line protocol. When an object has multiple array's as values,
|
the parser creates line protocol. When an object has multiple array's as values,
|
||||||
the array's will become separate line protocol containing only non-array values
|
the array's will become separate line protocol containing only non-array values
|
||||||
from the obejct. Below you can see an example of this behavior, with an input
|
from the object. Below you can see an example of this behavior, with an input
|
||||||
json containing an array of book objects that has a nested array of characters.
|
json containing an array of book objects that has a nested array of characters.
|
||||||
|
|
||||||
Example JSON:
|
Example JSON:
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ type Parser struct {
|
||||||
DefaultTags map[string]string `toml:"-"`
|
DefaultTags map[string]string `toml:"-"`
|
||||||
Log telegraf.Logger `toml:"-"`
|
Log telegraf.Logger `toml:"-"`
|
||||||
|
|
||||||
// **** The struct fields bellow this comment are used for processing individual configs ****
|
// **** The struct fields below this comment are used for processing individual configs ****
|
||||||
|
|
||||||
// measurementName is the name of the current config used in each line protocol
|
// measurementName is the name of the current config used in each line protocol
|
||||||
measurementName string
|
measurementName string
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,7 @@ func TestMinMax(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Missing field Fileds",
|
name: "Missing field Fields",
|
||||||
scale: []scalingValuesMinMax{
|
scale: []scalingValuesMinMax{
|
||||||
{
|
{
|
||||||
InMin: -1,
|
InMin: -1,
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@ with an error.
|
||||||
|
|
||||||
In case you need to call some code that may return an error, you can delegate
|
In case you need to call some code that may return an error, you can delegate
|
||||||
the call to the built-in function `catch` which takes as argument a `Callable`
|
the call to the built-in function `catch` which takes as argument a `Callable`
|
||||||
and returns the error that occured if any, `None` otherwise.
|
and returns the error that occurred if any, `None` otherwise.
|
||||||
|
|
||||||
So for example:
|
So for example:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3436,7 +3436,7 @@ def apply(metric):
|
||||||
mu.Lock()
|
mu.Lock()
|
||||||
defer mu.Unlock()
|
defer mu.Unlock()
|
||||||
return len(delivered) == 1
|
return len(delivered) == 1
|
||||||
}, 1*time.Second, 100*time.Millisecond, "orignal metric not delivered")
|
}, 1*time.Second, 100*time.Millisecond, "original metric not delivered")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@ Referencing the secret within a plugin occurs by:
|
||||||
password = "@{docker_secretstore:secret_for_plugin}"
|
password = "@{docker_secretstore:secret_for_plugin}"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Additonal Information
|
## Additional Information
|
||||||
|
|
||||||
[Docker Secrets in Swarm][2]
|
[Docker Secrets in Swarm][2]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ NAME="Telegraf"
|
||||||
VERSION=$(cd ../../ && make version)
|
VERSION=$(cd ../../ && make version)
|
||||||
FLAGS=()
|
FLAGS=()
|
||||||
|
|
||||||
# If building for arm64, then incude the extra flags required.
|
# If building for arm64, then include the extra flags required.
|
||||||
if [ -n "${1+x}" ] && [ "$1" = "arm64" ]; then
|
if [ -n "${1+x}" ] && [ "$1" = "arm64" ]; then
|
||||||
FLAGS=(-arm -64)
|
FLAGS=(-arm -64)
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue