- build(deps): bump github.com/spf13/viper from 1.18.1 to 1.18.2
- build(deps): bump github.com/openhistogram/circonusllhist from 0.3.0 to 0.4.0
- build(deps): bump github.com/google/uuid from 1.4.0 to 1.5.0
- build(deps): bump github/codeql-action from 2 to 3
- build(deps): bump github.com/spf13/viper from 1.18.0 to 1.18.1
- build(deps): bump github.com/spf13/viper from 1.17.0 to 1.18.0
- build(deps): bump github.com/circonus-labs/go-apiclient from 0.7.23 to 0.7.24
- build(deps): bump github.com/shirou/gopsutil/v3 from 3.23.10 to 3.23.11
- build(pkg): logwatch x86_64->amd64 pkg download
- build: update to latest lint
- build: add after hook for
grype
on generated sboms - build: add .sbom for archive artifacts
- build: update before hooks for
go mod tidy
,govulncheck
andgolangci-lint
- build(deps): bump golang.org/x/sys from 0.14.0 to 0.15.0
- build(deps): bump github.com/hashicorp/go-retryablehttp from 0.7.4 to 0.7.5
- feat: update build scripts for agent+plugins to depredate fb11, fb12, el6, u18, and add u22
- chore(lint): struct member alignment
- chore: remove timed refresh for reverse. use only primary broker check.
- build(deps): upgrade cgm to v3.4.7
- build(deps): bump github.com/google/uuid from 1.3.1 to 1.4.0
- build(deps): bump github.com/prometheus/common from 0.44.0 to 0.45.0
- build(deps): bump github.com/spf13/viper from 1.16.0 to 1.17.0
- build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0
- build(deps): bump golang.org/x/sync from 0.3.0 to 0.5.0
- build(deps): bump golang.org/x/sys from 0.12.0 to 0.14.0
- build(deps): bump github.com/prometheus/client_model from 0.4.0 to 0.5.0
- build(deps): bump github.com/shirou/gopsutil/v3 from 3.23.8 to 3.23.9
- build(deps): bump github.com/rs/zerolog from 1.30.0 to 1.31.0
- build(deps): bump github.com/hashicorp/go-retryablehttp from 0.7.2 to 0.7.4
- build(deps): bump github.com/circonus-labs/go-apiclient from 0.7.18 to 0.7.23
- build(deps): bump github.com/shirou/gopsutil/v3 from 3.23.9 to 3.23.10
- fix(receiver): add SerializeB64 handling for histograms to the
/write
endpoint - feat:
/options
endpoint to dynamically control log_level (e.g. turn debug on/off while running) - feat(statsd): explicit metric parsing debug option
- fix: don't swallow sigpipe
- fix(lint): unused args (generic, linux, & windows)
- chore: golangci-lint v1.52
- fix(lint): exports annotated with json tag
- fix(lint): redundant if-return
- fix(lint): deprecated linters
- fix: installer to correctly use
.
and_
for rpm and deb urls - build(deps): bump github.com/rs/zerolog from 1.26.1 to 1.28.0
- build(deps): bump github.com/circonus-labs/go-apiclient from 0.7.17 to 0.7.18
- upd: clean build dir on start, always clone repo
- add: trigger on after up to check Go version
- add: generic Go version checker script
- build(deps): bump golangci/golangci-lint-action from 3.1.0 to 3.2.0
- fix: prevent
/usr/lib/.build-id
links from being created - fix: ioutil deprecation
- fix: G112 add ReadHeaderTimeout to http.Server
- fix: gofmt certain files due to comment format
- fix: struct alignment in some test files for generated test snippets
- fix: pass context to fetchPromMetrics
- build(deps): bump github.com/shirou/gopsutil/v3 from 3.22.1 to 3.22.7
- build(deps): bump github.com/circonus-labs/go-apiclient from 0.7.15 to 0.7.17
- build(deps): bump github.com/prometheus/common from 0.32.1 to 0.37.0
- build(deps): bump github.com/spf13/cobra from 1.3.0 to 1.5.0
- build(deps): bump github.com/spf13/viper from 1.10.1 to 1.12.0
- build(deps): bump github.com/hashicorp/go-retryablehttp from 0.7.0 to 0.7.1
- build(deps): bump github.com/rs/zerolog from 1.25.0 to 1.26.1
- fix: add
v
to version (changelog) - upd: set prerelease false (goreleaser)
- fix: downgrade gopsutil v3.21.8 - build fail - see gopsutil PR 1142
- upd: golint deprecated, replaced by revive
- upd: all deps
- upd: go1.17 build tags
- upd: disable gci, conflict on import organization
- upd: ignore windows arm64
- upd: for dependencies, releaser, linter, and go1.17
- build(deps): bump github.com/rs/zerolog from 1.24.0 to 1.25.0
- build(deps): bump github.com/circonus-labs/circonus-gometrics/v3 from 3.4.5 to 3.4.6
- fix!: error handling on read timeout (reverse)
- upd!: dependencies (apiclient, cgm) -- for performance optimized openhistogram
- doc: note for automation with --check-delete
- add: last conn/retry/err stats
- add: last run req stat
- upd: disable field alignment (automated lint)
- wip: nfpm
- upd: explicit paths for fb
- upd: remove transitory downloads
- upd: ownership for etc dir fb tgz
- add: dependabot.yml
- upd: build(deps): bump github.com/pelletier/go-toml from 1.9.0 to 1.9.3
- fix: lint issues
- upd: build(deps): bump github.com/rs/zerolog from 1.21.0 to 1.23.0
- upd: build(deps): bump github.com/spf13/viper from 1.7.1 to 1.8.1
- upd: dep (bytefmt) and tidy after dp prs
- upd: build(deps): bump github.com/shirou/gopsutil/v3 from 3.21.5 to 3.21.6
- upd: build(deps): bump github.com/spf13/cobra from 1.1.3 to 1.2.0
- upd: use WithContext calls (generic collectors)
- upd: default collectors for darwin
- upd: tidy (go.sum)
- fix: remove redundant 'v' in version output
- add:
--check-delete
option - add: check bundle config caching
- upd: etc owned by agent user for check bundle caching
- upd: turn on prerelease (allow time for os specific packages to be built and uploaded)
- fix: fix: error wrap when nil on verify
- upd: verify broker instance is active when setting cn for tls config
- upd: no windows arm
- fix: lint issues
- upd: stricter linting
- upd: lint ver (1.39)
- upd: dependencies
- add: simple installer (deprecate cosi)
- upd: dependencies
- upd: openhistogram/circonusllhist
- fix: lint issues
- upd: lint ver 1.38
- upd: copyright symbol to
(c)
- upd: parse params first, ordering
- upd: ignore versioned builds
- upd: publish packages under versioned subdir
- add: generate sha256 sig file for versioned builds
- doc: rename dependencies list
- upd: dependency (cgm)
- add: concurrency options for tuning statsd (
--statsd-npp
and--statsd-pqs
) - add: agent_ngr metric
- add: accumulate option for multi-agent (default:true)
- fix: workaround mtev_rev not always having host/ip in search results
- upd: adjust statsd rate handling to match broker
- fix: error handling in reverse
- fix: use target in config url when not reverse
- new: statsd counters and sets represented as histograms (like broker)
- upd: add
statsd_type
tag to counters, gauges, timings, and sets - upd: allow independent control of cgm debug (for statsd group) without having to turn on full debug logging
- upd: support icmp6 intype135 (in neighbor solicits)
- upd: cgm v3.3.0
- upd: statsd - change spaces to
_
in metric names (e.g.foo bar
->foo_bar
) CIRC-6087 - upd: linter to v1.34
- fix: linter issues
- upd: dependencies
- doc: add reference to allow/deny filters in check documentation
- doc: add metric filter file example
- fix: update to latest CGM to get around go1.15 x509 SAN validation issue
- fix: remove 'bundle' from group check id config option
statsd.group.check_bundle_id
is nowstatsd.group.check_id
- fix: remove
bundle
from group cid help in help output - doc: remove
bundle
from group cid help
- upd: change docker hub organization circonuslabs->circonus
- fix: fix: trim spaces from each user supplied check tag
Note: For automatic host dashboards a new check type is being used. This makes this update not backwards compatible. It will create a new check of the correct type.
- add: new check types for automatic dashboard
- add: internal agent metrics
agent_*
for new dashboard - add: host based check tags for new dashboard
- add: check bundle tag updater
- add: wmi/system builtin collector
- add: settings for cpu and memory utilization thresholds for
process_threshold
metrics - fix: various tests for new features
- upd: silently ignore prom config missing for builtin, just disable quietly
- upd: config loader, return
os.ErrNotExist
wrapped forerrors.Is
- fix: use api ca file if specified for check api client
- add: generic hostTags method for check tags (applies to create and update)
- add: host tags to check (like cosi did)
- fix: only lower case category if not already encoded (affected receiver w/stream tagged metric names)
- upd: go1.15 manual tls VerifyConnection
- upd: dependencies
- fix: config file path sep to be os sensitive
- doc: add multi-agent details
- fix: lint align struct fields
- fix: lint for rand
- add: support tag merging for receiver
- upd: remove deprecated state management
- add: force enterprise for multi-agent mode
- add: verify httptrap is enabled on broker for multi-agent mode
- add: SubmissionURL method for multi-agent
- upd: remove old enable new metrics support for managed checks
- add: VerifyConnection to tls config go1.15
- add: multi-agent submitter
- add: multi-agent options
- upd: default collectors if not set and not multi-agent mode
- add: multiple agent (single check) support - requires enterprise brokers
- doc: update defaults for options
- doc: add new flags
- doc: update to reflect no longer NAD drop in replacement
- upd: struct alignment
- add: enable maligned linter
- fix: binary names for containers
- add: openbsd x86_64 target
- upd: dependencies
- add: context to reverse primary broker instance check
- upd: refactor connection handling for reverse when broker closes connection due to simultaneous attempts for same check from multiple agents
- upd: explicit cases for prometheus metric types
- add: *WithContext to api methods
- add: golangci-lint action
- fix: use manual tls verify workaround for go1.15
- upd: circonus-agent-plugins
- fix: test for new url parse error format
- add: tests for bundle searching in multiple bundles found scenarios
- fix: return matched not found when no bundles created by agent after multiple bundles were found
- upd: if multiple checks found matching criteria (active,json:nad,target) and none match the agent, return result such that a check will be created (if create check is enabled) - note, this does present the possibility of multiple checks being created if the notes are altered in such a way that the agent is not able to determine it created the check
- upd: remove rpm conflict with NAD
- add:
--check-update|-U
(check.update) force update of ALL configurable check bundle attributes:- config.url
- target
- display name
- period
- timeout
- metric filters
- check tags
- broker cid if explicit (Meaning, agent will not select a new one for an existing check. It will only update if a broker id/cid is provided in the configuration)
- NOTE: check-update takes precedence over check-update-metric-filters
- add:
--check-period
(check.period) default 60 - add:
--check-timeout
(check.timeout) default 10
- add:
--check-metric-filter-file
external json file with metric filters - add:
etc/example_metric_filters.json
as an example of external metric filter file - add:
--check-update-metric-filters
force updating the check bundle with configured metric filters at start
- upd: when multiple bundles returned from API, identify the one created by agent (vs. created by NAD/cosi)
- upd: pre-seed procfs/cpu for
cpu_used
- add:
collector:cpu
-num_cpu
,processes
,procs_runnable
, andprocs_blocked
for USE dashboard - fix:
cpu_used
calculate average over collection interval (not aggregate) - fix: increase max comm read timeouts to 6 (when waiting for command in reverse)
- fix: pin
x/sys
to fixcannot use type []byte as type []int8
issue for freeebsd
- upd: hide deprecated settings in config file (
--show-config
) - upd: hide deprecated command line parameters
- upd: dependencies
- upd: replace deprecated state dir with new cache dir (release build & packaging)
- add: cache dir to RPM for circkpkg plugin
- fix: clustered broker selection, elide port from cn on identified owner
- add:
--statsd-addr
,CA_STATSD_ADDR
to explicitly specify an address that statsd should listen to (e.g.--statsd-addr=0.0.0.0
for docker containers, so the port can be properly exposed). - fix: procfs.disk use
HOST_SYS
if provided
- add: nvidia gpu metrics builtin for windows platform
- add: cluster mode statsd gauges as histogram capability (so each node is represented with one sample)
- add: cluster mode statsd counters and sets as histograms with
statsd_type:count
tag - add: cluster mode enable/disable builtins
- add: cluster mode configuration options
- add: zpool plugin
- add: include all service configurations in releases
- add: EXPOSE to Dockerfile(s) for default listening ports
- add: docker images
- add: linux_arm64 build
- upd: dependencies
- add: command line options and environment vars for builtin collector paths:
--host-proc
,HOST_PROC
=/proc
--host-sys
,HOST_SYS
=/sys
--host-etc
,HOST_ETC
=/etc
--host-var
,HOST_VAR
=/var
--host-run
,HOST_RUN
=/run
- fix: pull broker CA cert from API for TLS config when refreshing check/broker
- fix: regression test failure from diskstats update
- add: support new metrics in kernel 4.18+
diskstats
-- discards completed, discards merged, sectors discarded, discard ms - add:
check_cid
andcheck_uuid
to reverse log lines - add: freebsd rc script
- upd: support building packages for pre-releases
- upd: package builders
- upd: disable inclusion of
protocol_observer
binary in agent package builds
- fix: gofmt io_latency plugin
- add: build plugins script
- add: build linting script
- add:
go mod tidy
, linting and plugin building before release - add:
illumos
target to goreleaser builds.goos - add: example metric filter using tags
- fix: lint, duplicate toml (one should be yaml)
- fix: lint, use
fmt.Println
vsfmt.Printf
in test - fix: lint, remove old
id
, replaced with stream tagcollector:promrecv
- fix: generic builtins, skip NaN floats (causes json error)
- upd: dependencies
- add: smf manifest
- fix: output all parsed plugin metrics with stream tags, include any tags from
_tags
attribute of emitted json - fix: output tags
io_latency
in_tags
attribute rather than in metric name (so they can be combined with agent tags to create stream tagged metric name) - add: statsd tcp listener (optional, off by default)
- add: clustered broker support (initial)
- upd: do not exit when io_latency target dir already exists (artifact left when SIGKILL sent to child)
- upd: config option handling for procfs builtins
- fix: duplicate struct member causing blank procfs file for cpu
- add:
IgnoredMulti
metric for procfs/proto.{udp,udplite} - add:
InType1
andOutType
metrics for procfs/proto.icmp6 - upd: squelch "already running" error message for long running plugins (note, message is still emitted in debug)
- fix: io_latency output histograms as type
h
- upd: module dependencies
- upd: go1.13
- testing release, not guaranteed to be feature complete
- fix: tests to include default stream tags
- fix: remove deprecated tests using metric states in builtins
- upd: module dependencies
- upd: go1.12.7
- testing release, not guaranteed to be feature complete
- upd: finish adding stream tags to wmi builtin collectors
- upd: remove obsolete code for deprecated settings from wmi builtin collectors
- testing release, not guaranteed to be feature complete
- add: integrate golangci check when PR opened
- more stringent linting
- upd: output errors for plugin parsing and exec
- fix: plugins, trim spaces from metric type (omnios plugin returns "L " for type)
- fix: handle deprecated procfs/diskstats and procfs/loadvg names (translate to procfs/disk and procfs/load)
- doc: update for new collector names
- add: finish wmi builtin collector(s)
- testing release, not guaranteed to be feature complete
- note that the wmi builtin collector(s) are still a WIP
- upd: BREAKING CHANGE agent v1+ will only support stream tags. Continue to use v0 releases to maintain continuity with existing metric names used in checks, visuals and alert rules.