Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add SMART plugin concurrency configuration option, nvme-cli v1.14+ support and lint fixes. #10150

Merged
merged 1 commit into from
Dec 7, 2021

Conversation

KubaTrojan
Copy link
Contributor

@KubaTrojan KubaTrojan commented Nov 23, 2021

Required for all PRs:

Resolves #10149.
Resolves #8684.
Resolves #9417.

This PR fixes a two issues and provides some code clean-up:

@telegraf-tiger telegraf-tiger bot added the fix pr to fix corresponding bug label Nov 23, 2021
@KubaTrojan KubaTrojan force-pushed the update_smart_plugin branch 4 times, most recently from 0b2a2f1 to 351921c Compare November 24, 2021 21:00
Copy link
Contributor

@MyaLongmire MyaLongmire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you so much for this pr!

## Some devices (e.g. disks in RAID arrays) may have access limitations that require sequential reading of
## SMART data - one individual array drive at the time. In such case please set this configuration option to false
## to get readings for all drives.
# parallel_reads = true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect users will want other methods to gather attributes besides completely parallel and completely serial. For example, it might be a good idea on a machine with multiple HBAs to gather each HBA in parallel, each with its own thread.

Since it's possible/likely we'll have other methods, I think we should use a string setting to select the method. That would allow us to add another read method without adding another variable.

I'd also like to avoid the terms 'serial' and 'parallel' here because users might think we're talking about SATA and PATA.

for example:

    ## valid options: concurrent, sequential
    # read_method = "concurrent"

With a string setting like this example, we could add "concurrent_hba" or whatever we want in the future.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@reimda thanks for paying attention to it. I have updated the code to handle string-type read_method config value instead of boolean. Please check out the new changes.

@reimda reimda changed the title fix: Add SMART plugin concurrency configuration option, nvme-cli v1.14+ support and lint fixes. feat: Add SMART plugin concurrency configuration option, nvme-cli v1.14+ support and lint fixes. Nov 30, 2021
@telegraf-tiger
Copy link
Contributor

telegraf-tiger bot commented Dec 6, 2021

Copy link
Contributor

@reimda reimda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the setting change!

@reimda reimda merged commit d4475b7 into influxdata:master Dec 7, 2021
reimda pushed a commit that referenced this pull request Dec 16, 2021
…14+ support and lint fixes. (#10150)

(cherry picked from commit d4475b7)
reimda pushed a commit that referenced this pull request Dec 16, 2021
…14+ support and lint fixes. (#10150)

(cherry picked from commit d4475b7)
powersj pushed a commit to powersj/telegraf that referenced this pull request Jan 21, 2022
phemmer added a commit to phemmer/telegraf that referenced this pull request Feb 18, 2022
* origin/master: (133 commits)
  chore: restart service if it is already running and upgraded via RPM (influxdata#9970)
  feat: update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#10237)
  fix: Handle duplicate registration of protocol-buffer files gracefully. (influxdata#10188)
  fix(http_listener_v2): fix panic on close (influxdata#10132)
  feat: add Vault input plugin (influxdata#10198)
  feat: support aws managed service for prometheus (influxdata#10202)
  fix: Make telegraf compile on Windows with golang 1.16.2 (influxdata#10246)
  Update changelog
  feat: Modbus add per-request tags (influxdata#10231)
  fix: Implement NaN and inf handling for elasticsearch output (influxdata#10196)
  feat: add nomad input plugin (influxdata#10106)
  fix: Print loaded plugins and deprecations for once and test (influxdata#10205)
  fix: eliminate MIB dependency for ifname processor (influxdata#10214)
  feat: Optimize locking for SNMP MIBs loading. (influxdata#10206)
  feat: Add SMART plugin concurrency configuration option, nvme-cli v1.14+ support and lint fixes. (influxdata#10150)
  feat: update configs (influxdata#10236)
  fix(inputs/kube_inventory): set TLS server name config properly (influxdata#9975)
  fix: Sudden close of Telegraf caused by OPC UA input plugin (influxdata#10230)
  fix: bump github.com/eclipse/paho.mqtt.golang from 1.3.0 to 1.3.5 (influxdata#9913)
  fix: json_v2 parser timestamp setting (influxdata#10221)
  fix: ensure graylog spec fields not prefixed with '_' (influxdata#10209)
  docs: remove duplicate links in CONTRIBUTING.md (influxdata#10218)
  fix: pool detection and metrics gathering for ZFS >= 2.1.x (influxdata#10099)
  fix: parallelism fix for ifname processor (influxdata#10007)
  chore: Forbids "log" package only for aggregators, inputs, outputs, parsers and processors (influxdata#10191)
  docs: address documentation gap when running telegraf in k8s (influxdata#10215)
  feat: update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#10211)
  fix: mqtt topic extracting no longer requires all three fields (influxdata#10208)
  fix: windows service - graceful shutdown of telegraf (influxdata#9616)
  feat: update etc/telegraf.conf and etc/telegraf_windows.conf (influxdata#10201)
  feat: Modbus support multiple slaves (gateway feature) (influxdata#9279)
  fix: Revert unintented corruption of the Makefile from influxdata#10200. (influxdata#10203)
  chore: remove triggering update-config bot in CI (influxdata#10195)
  Update changelog
  feat: Implement deprecation infrastructure (influxdata#10200)
  fix: extra lock on init for safety (influxdata#10199)
  fix: resolve influxdata#10027 (influxdata#10112)
  fix: register bigquery to output plugins influxdata#10177 (influxdata#10178)
  fix: sysstat use unique temp file vs hard-coded (influxdata#10165)
  refactor: snmp to use gosmi (influxdata#9518)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/smart fix pr to fix corresponding bug
Projects
None yet
4 participants