Skip to content
Snippets Groups Projects
  1. Nov 02, 2017
  2. Oct 14, 2017
    • Siavash Safi's avatar
      Add `collect[]` parameter (#699) · f3a70226
      Siavash Safi authored
      * Add `collect[]` parameter
      
      * Add TODo comment about staticcheck ignored
      
      * Restore promhttp.HandlerOpts
      
      * Log a warning and return HTTP error instead of failing
      
      * Check collector existence and status, cleanups
      
      * Fix warnings and error messages
      
      * Don't panic, return error if collector registration failed
      
      * Update README
      f3a70226
  3. Oct 11, 2017
  4. Sep 28, 2017
    • Calle Pettersson's avatar
      Replace --collectors.enabled with per-collector flags (#640) · 859a825b
      Calle Pettersson authored
      * Move NodeCollector into package collector
      
      * Refactor collector enabling
      
      * Update README with new collector enabled flags
      
      * Fix out-of-date inline flag reference syntax
      
      * Use new flags in end-to-end tests
      
      * Add flag to disable all default collectors
      
      * Track if a flag has been set explicitly
      
      * Add --collectors.disable-defaults to README
      
      * Revert disable-defaults flag
      
      * Shorten flags
      
      * Fixup timex collector registration
      
      * Fix end-to-end tests
      
      * Change procfs and sysfs path flags
      
      * Fix review comments
      859a825b
  5. Sep 19, 2017
    • Sami Kerola's avatar
      Add timex collector (#664) · 3762191e
      Sami Kerola authored
      This collector is based on adjtimex(2) system call.  The collector returns
      three values, status if time is synchronised, offset to remote reference,
      and local clock frequency adjustment.
      
      Values are taken from kernel time keeping data structures to avoid getting
      involved how the synchronisation is implemented.  By that I mean one should
      not care if time is update using ntpd, systemd.timesyncd, ptpd, and so on.
      Since all time sync implementation will always end up telling to kernel what
      is the status with time one can simply omit the software in between, and
      look results of the syncing.  As a positive side effect this makes collector
      very quick and conceptually specific, this does not monitor availability of
      NTP server, or network in between, or dns resolution, and other unrelated
      but necessary things.
      
      Minimum set of values to keep eye on are the following three:
      
          The node_timex_sync_status tells if local clock is in sync with a remote
          clock.  Value is set to zero when synchronisation to a reliable server
          is lost, or a time sync software is misconfigured.
      
          The node_timex_offset_seconds tells how much local clock is off when
          compared to reference.  In case of multiple time references this value
          is outcome of RFC 5905 adjustment algorithm.  Ideally offset should be
          close to zero, and it depends about use case how large value is
          acceptable.  For example a typical web server is probably fine if offset
          is about 0.1 or less, but that would not be good enough for mobile phone
          base station operator.
      
          The node_timex_freq tells amount of adjustment to local clock tick
          frequency.  For example if offset is one second and growing the local
          clock will need instruction to tick quicker.  Number value itself is not
          very important, and occasional small adjustments are fine.  When
          frequency is unusually in stable one can assume quality of time stamps
          will not be accurate to very far in sub second range.  Obviously
          explaining why local clock frequency behaves like a passenger in roller
          coaster is different matter.  Explanations can vary from system load, to
          environmental issues such as a machine being physically too hot.
      
      Rest of the measurements can help when debugging.  If you run a clock server
      do probably want to collect and keep track of everything.
      
      Pull-request: https://github.com/prometheus/node_exporter/pull/664
      3762191e
    • Leonid Evdokimov's avatar
      Add metrics from SNTPv4 packet to ntp collector & add ntpd sanity check (#655) · c169b4b1
      Leonid Evdokimov authored
      * Add metrics from SNTPv4 packet to ntp collector & add ntpd sanity check
      
      1. Checking local clock against remote NTP daemon is bad idea, local
      ntpd acting as a  client should do it better and avoid excessive load on
      remote NTP server so the collector is refactored to query local NTP
      server.
      
      2. Checking local clock against remote one does not check local ntpd
      itself. Local ntpd may be down or out of sync due to network issues, but
      clock will be OK.
      
      3. Checking NTP server using sanity of it's response is tricky and
      depends on ntpd implementation, that's why common `node_ntp_sanity`
      variable is exported.
      
      * `govendor add golang.org/x/net/ipv4`, it is dependency of github.com/beevik/ntp
      
      * Update github.com/beevik/ntp to include boring SNTP fix
      
      * Use variable name from RFC5905
      
      * ntp: move code to make export of raw metrics more explicit
      
      * Move NTP math to `github.com/beevik/ntp`
      
      * Make `golint` happy
      
      * Add some brief docs explaining `ntp` #655 and `timex` #664 modules
      
      * ntp: drop XXX comment that got its decision
      
      * ntp: add `_seconds` suffix to relevant metrics
      
      * Better `node_ntp_leap` comment
      
      * s/node_ntp_reftime/node_ntp_reference_timestamp_seconds/ as requested by @discordianfish
      
      * Extract subsystem name to const as suggested by @superq
      c169b4b1
  6. Aug 24, 2017
  7. Aug 16, 2017
  8. Aug 12, 2017
  9. Aug 02, 2017
  10. Jul 28, 2017
  11. Jul 26, 2017
  12. Jul 07, 2017
    • ideaship's avatar
      Add bcache collector (#597) · 8d902762
      ideaship authored
      * Add bcache collector for Linux
      
      This collector gathers metrics related to the Linux block cache
      (bcache) from sysfs.
      
      * Removed commented out code
      
      * Use project comment style
      
      * Add _sectors to metric name to indicate unit
      
      * Really use project comment style
      
      * Rename bcache.go to bcache_linux.go
      
      * Keep collector namespace clean
      
      Rename:
      - metric -> bcacheMetric
      - periodStatsToMetrics -> bcachePeriodStatsToMetric
      
      * Shorten slice initialization
      
      * Change label names to backing_device, cache_device
      
      * Remove five minute metrics (keep only total)
      
      * Include units in additional metric names
      
      * Enable bcache collector by default
      
      * Provide metrics in seconds, not nanoseconds
      
      * remove metrics with label "all"
      
      * Add fixtures, update end-to-end for bcache collector
      
      * Move fixtures/sys into tar.gz
      
      This changeset moves the collector/fixtures/sys directory into
      collector/fixtures/sys.tar.gz and tweaks the Makefile to unpack the
      tarball before tests are run.
      
      The reason for this change is that Windows does not allow colons in a
      path (colons are present in some of the bcache fixture files), nor can
      it (out of the box) deal with pathnames longer than 260 characters
      (which we would be increasingly likely to hit if we tried to replace
      colons with longer codes that are guaranteed not the turn up in regular
      file names).
      
      * Add ttar: plain text archive, replacement for tar
      
      This changeset adds ttar, a plain text replacement for tar, and uses it
      for the sysfs fixture archive. The syntax is loosely based on tar(1).
      
      Using a plain text archive makes it possible to review changes without
      downloading and extracting the archive. Also, when working on the repo,
      git diff and git log become useful again, allowing a committer to verify
      and track changes over time.
      
      The code is written in bash, because bash is available out of the box on
      all major flavors of Linux and on macOS. The feature set used is
      restricted to bash version 3.2 because that is what Apple is still
      shipping.
      
      The programm also works on Windows if bash is installed. Obviously, it
      does not solve the Windows limitations (path length limited to 260
      characters, no symbolic links) that prompted the move to an archive
      format in the first place.
      8d902762
  13. Jul 06, 2017
    • kadota kyohei's avatar
      add diskstats on Darwin (#593) · a077024f
      kadota kyohei authored
      * Add diskstats collector for Darwin
      
      * Update year in the header
      
      * Update README.md
      
      * Add github.com/lufia/iostat to vendored packages
      
      * Change stats to follow naming guidelines
      
      * Add a entry of github.com/lufia/iostat into vendor.json
      
      * Remove /proc/diskstats from description
      a077024f
  14. Jun 15, 2017
  15. Jun 13, 2017
  16. Jun 08, 2017
  17. May 23, 2017
    • Emanuele Rocca's avatar
      Add qdisc collector for Linux (#580) · 047003b6
      Emanuele Rocca authored
      * Add qdisc collector for Linux
      
      This collector gathers basic queueing discipline metrics via netlink,
      similarly to what `tc -s qdisc show` does.
      
      * qdisc collector: nl-specific code moved, names fixed
      
      - netlink-specific parts moved to github.com/ema/qdisc
      - avoid using shortened names
      - counters renamed into XXX_total
      
      * Get rid of parseMessage error checking leftover
      
      * Add github.com/ema/qdisc to vendored packages
      
      * Update help texts and comments
      
      * Add qdisc collector to README file
      
      * qdisc collector end-to-end testing
      
      * Update qdisc dependency to latest version
      
      Update github.com/ema/qdisc dependency to revision 2c7e72d, which
      includes unit testing.
      
      * qdisc collector: rename "iface" label into "device"
      047003b6
  18. Apr 22, 2017
  19. Apr 19, 2017
  20. Apr 11, 2017
    • Sam Kottler's avatar
      Add ARP collector for Linux (#540) · 6eafa51f
      Sam Kottler authored
      * Implement commonalities and linux support for ARP collection
      
      * Add ARP collector to fixtures and run as part of e2e tests
      
      * Bubble up scanner errors
      
      * Use single return values where it makes sense
      
      * Add missing annotation
      
      * Move arp_common into arp_linux
      
      * Add license header to arp_linux.go
      
      * Address initial feedback
      
      * Use strings.Fields instead of strings.Split
      
      * Deal with scanner.Err() rather than throwing away errors
      
      * Check for scan errors in-line before interacting with the entries map
      
      * Don't interact with potentially empty text from scan
      
      * Check for scan errors outside the scan loop
      
      * Add comment about moving procfs parsing
      
      * Add more direct comment
      
      * Update initialism style to match go style guide
      
      * Put function args on the same line
      
      * Add TODO in front of comment about procfs extraction
      
      * Guard against strings.Fields returning an empty slice
      
      * Be more defensive about ARP table format and use upcase more broadly
      
      * Enable the ARP collector by default
      
      * Add ARP collector to the README
      
      * Remove 'entry'
      6eafa51f
  21. Mar 22, 2017
  22. Feb 28, 2017
  23. Feb 15, 2017
  24. Feb 07, 2017
  25. Feb 04, 2017
  26. Jan 26, 2017
  27. Jan 23, 2017
  28. Jan 11, 2017
  29. Jan 10, 2017
    • Ben Kochie's avatar
      Add collector for Linux EDAC · b4fa10ca
      Ben Kochie authored
      Collect "Error detection and correction" metrics from memory
      controllers.
      * Supported on Linux only.
      * Add basic fixtures.
      * Enabled by default.
      b4fa10ca
  30. Jan 08, 2017
  31. Jan 04, 2017
  32. Jan 03, 2017
  33. Dec 28, 2016
  34. Dec 20, 2016
  35. Dec 19, 2016
Loading