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

Sign darwin builds with rcodesign to prevent SIGKILL issues #2916

Closed
wants to merge 42 commits into from

Conversation

gitperr
Copy link
Contributor

@gitperr gitperr commented Feb 7, 2024

We currently don't sign the darwin builds, this causes node exporter to not boot properly. This PR attempts to fix that.

Fixes: #2539, #2217

@gitperr gitperr marked this pull request as draft February 7, 2024 16:52
@gitperr
Copy link
Contributor Author

gitperr commented Feb 7, 2024

@SuperQ I am trying to produce darwin-arm64 binary, but the pipeline does not produce it.

ls -la results after build stage commands are run:
https://app.circleci.com/pipelines/github/prometheus/node_exporter/3954/workflows/ee5cbe9d-15d8-478f-a2c3-c0083b1c8368/jobs/20614/parallel-runs/0/steps/0-106

I tried to look at promu code, as well as the config files that are being passed to it, everything seems to be good... But, these commands don't produce the binary:

promu crossbuild -v --parallelism $CIRCLE_NODE_TOTAL --parallelism-thread $CIRCLE_NODE_INDEX
promu --config .promu-cgo.yml crossbuild -v --parallelism $CIRCLE_NODE_TOTAL --parallelism-thread $CIRCLE_NODE_INDEX

It did not work locally either (built everything else but darwin-arm64). I ended up trying:

promu crossbuild --config=.promu-cgo.yml -p darwin

which does produce the darwin-arm64 build. But it should have worked earlier already and this should not be necessary.

What should we do?

@gitperr
Copy link
Contributor Author

gitperr commented Feb 8, 2024

Did some more reading of pipeline as well as promu, seems like the binaries get built based on which index they are on in the platforms. Since darwin-arm64 is on index 1, we'd need the CIRCLE_NODE_INDEX to be set to 1 while CIRCLE_NODE_TOTAL is 3 because of this calculations that happen on the here on buildThread method.

CircleCI actually did successfully build and sign the darwin-arm64 binary on node number 1.

But the end pipeline still fails because we attempt to sign on all 3 nodes, but some of them don't have the arm build as per the config. Will need to move signing elsewhere.

@gitperr
Copy link
Contributor Author

gitperr commented Feb 8, 2024

Finally managed to build a signed darwin-arm64.

One other problem popped up:

  • If the binary is downloaded using Safari, it will not run, warning the user with this popup
Screenshot 2024-02-08 at 21 17 23

this can be bypassed by allowing it through macOS security settings. Probably the better way is to actually feed a code signing key, which is maintained by the project, to our code signing process.

I tried to download the binary using curl, which completely bypassed the above security warning and ran as intended.

If it sounds good so far, I can look into adding the key as well, but that would require a maintainer to put it to repo secrets probably.

@gitperr gitperr marked this pull request as ready for review February 8, 2024 19:25
@SuperQ
Copy link
Member

SuperQ commented Feb 8, 2024

We usually stick the binaries in a tar.gz, would that be enough to avoid Safari warnings?

@gitperr
Copy link
Contributor Author

gitperr commented Feb 8, 2024

I downloaded the binary on my linux machine and tarred it to .tar.gz. Then hosted it myself (python3 -m http.server), pulled with curl on the mac and untarred it, works as intended.

If I click and download it with Safari, it even downloads the .tar.gz file as .tar, and untarred version still gives that popup. Quite weird.

@gitperr
Copy link
Contributor Author

gitperr commented Feb 10, 2024

I did some more research and if we want to sign it with a key that's maintained by the project, we will have to pay Apple a yearly fee of $99 (that fixes the safari warnings completely). If we do not want to go that path, this can be merged anyway, because it improves the current SIGKILL situation if the user pulls with curl (or likely wget as well) but safari click downloads will require extra step to "allow it to run".

Ansibles etc., will end up using these tools, so it should not be a problem in that regard.

Copy link
Member

@discordianfish discordianfish left a comment

Choose a reason for hiding this comment

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

I'd say let's merge this for now and discuss the $99 thing separately. Thanks a lot of this!

Copy link
Member

@SuperQ SuperQ left a comment

Choose a reason for hiding this comment

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

I would rather build the signing call functionality into https://github.com/prometheus/promu. This way it can be spread to all Prometheus components more easily.

@gitperr
Copy link
Contributor Author

gitperr commented Feb 18, 2024

Waiting for prometheus/promu#284 to be finalized and merged, this should come after that. We should re-trigger the pipeline to see if everything passes as intended.

@rexagod
Copy link
Contributor

rexagod commented Mar 19, 2024

@gitperr JFYI #2916 (comment) needs a "Fixes" in place of "Fix" to close the relevant PRs once this is in.

@gitperr
Copy link
Contributor Author

gitperr commented Mar 19, 2024

Edited the message: fix -> fixes

@discordianfish
Copy link
Member

Looks like the promu version isnt updated

@gitperr
Copy link
Contributor Author

gitperr commented Mar 21, 2024

Yep, it is still waiting for Julien's review. But if someone else wants to take a second look and give it approval, that might work too.

Otherwise I do not know how to move it forward. Help is welcome.

@gitperr
Copy link
Contributor Author

gitperr commented Apr 14, 2024

Bump, I'd still like to get this forward and can make changes if needed.

Signed-off-by: Alper Polat <gitperr@gmail.com>

Bump golang-builder version (prometheus#2908)

Signed-off-by: Alper Polat <gitperr@gmail.com>

exec_bsd: Fix labels for vm.stats.sys.v_syscall sysctl (prometheus#2895)

Signed-off-by: David O'Rourke <david.orourke@gmail.com>

chore:remove constant from function (prometheus#2884)

Signed-off-by: tyltr <tylitianrui@126.com>

build(deps): bump github.com/prometheus/common from 0.45.0 to 0.46.0 (prometheus#2910)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.45.0 to 0.46.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](prometheus/common@v0.45.0...v0.46.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.0 to 1.4.1 (prometheus#2909)

Bumps [github.com/jsimonetti/rtnetlink](https://github.com/jsimonetti/rtnetlink) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/jsimonetti/rtnetlink/releases)
- [Commits](jsimonetti/rtnetlink@v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: github.com/jsimonetti/rtnetlink
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

fix hwmon nil ptr (prometheus#2873)

* fix hwmon nil ptr

syslink maybe lost in some cases.

---------

Signed-off-by: TaoGe <6657718+yowenter@users.noreply.github.com>

Fix hwmon error capture (prometheus#2915)

Fix golangci-lint "ineffectual assignment" by correctly capturing any
errors within the hwmon gathering loop.

Signed-off-by: Ben Kochie <superq@gmail.com>

Attempt to sign the node exporter darwin build

This should hopefully fix the SIGKILL issue on OSX machines.
e.g. in: prometheus#2539

Signed-off-by: Alper Polat <gitperr@gmail.com>

Change the docker flags to correct ones

Signed-off-by: Alper Polat <gitperr@gmail.com>

Fix errors in running the rcodesign from golang-builder

Signed-off-by: Alper Polat <gitperr@gmail.com>

Use pwd instead

Readlink does not work to get the proper path, pwd might do it.
As promu seems to be copying the binaries based on working directory.

Signed-off-by: Alper Polat <gitperr@gmail.com>

Try to run at the same job to see if it helps

So far I am unable to find the binary's location with
either pwd or readlink. I'm suspecting that the binary is
not on this specific host that is running the rcodesign.

Signed-off-by: Alper Polat <gitperr@gmail.com>

Try to debug what files are in the current working directory

Signed-off-by: Alper Polat <gitperr@gmail.com>

Print working directory as well

Signed-off-by: Alper Polat <gitperr@gmail.com>

Add quote wrapping

Signed-off-by: Alper Polat <gitperr@gmail.com>

Try to debug more

Signed-off-by: Alper Polat <gitperr@gmail.com>

Nothing seems to be in .build directory here

Signed-off-by: Alper Polat <gitperr@gmail.com>

Remove some of debug commands

Seems like the build does not get produced because of the
CircleCI node index that gets passed into `--parallelism-thread`.
Signed-off-by: Alper Polat <gitperr@gmail.com>

Add a separate sign stage for code signing

Separate stage might be useful so that we have all of
the builds that end up in `.build` here, and sign the one(s)
that we want. First one being implemented here is darwin-arm64.

Signed-off-by: Alper Polat <gitperr@gmail.com>

Run only if darwin-arm64 was built

Earlier I tried to add a separate stage for signing,
but seems like that was a bad idea because the pipeline
file has to exist in `master` for that so we can run
the tests properly. Checking with if might be one of the
simpler and better ideas...

Signed-off-by: Alper Polat <gitperr@gmail.com>

Add forgotten quote

Fixing basic syntax error

Signed-off-by: Alper Polat <gitperr@gmail.com>

Update common Prometheus files (prometheus#2917)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Use promu to code sign

The functionality being replaced here is going to be
built into `promu` with prometheus/promu#284
So pipelines should use it instead.
Signed-off-by: Alper Polat <gitperr@gmail.com>

Use Promu 0.17.0

Signed-off-by: Alper Polat <gitperr@gmail.com>

Introduce one error first

We want to re-trigger the pipeline. But, the circleCI interface
does not allow re-runs. So, going to introduce a dummy error,
take it back and re-trigger the pipeline like that.
Signed-off-by: Alper Polat <gitperr@gmail.com>

Set version to correct one

Signed-off-by: Alper Polat <gitperr@gmail.com>
seeplusplus and others added 9 commits April 30, 2024 20:59
…eus#2925)

This reverts commit f34aaa6.

Signed-off-by: Caleb Webber <caleb@codingthemsoftly.com>
Signed-off-by: DongWei <jiangxuege@hotmail.com>
NodeDiskIOSaturation description should say 30m per the "for" clause

Signed-off-by: Taylor Sly <slyt@users.noreply.github.com>
Add depguard to golangci-lint to enforce the no-os/exec policy.

Signed-off-by: Ben Kochie <superq@gmail.com>
filesystem: surface filesystem device error

Fixes: prometheus#2918
---------

Signed-off-by: Pamela Mei i540369 <pamela.mei@sap.com>
…)" (prometheus#2932)

This reverts commit 9f1f791.

Signed-off-by: Ben Kochie <superq@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
…2943)

Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.16.0 to 0.17.0.
- [Commits](golang/sys@v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
linuxgcc and others added 25 commits April 30, 2024 20:59
…heus#2937)

Signed-off-by: heyitao <heyitao@uniontech.com>
Co-authored-by: heyitao <heyitao@uniontech.com>
Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
…rometheus#2955)

Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
Apply the same metric name sanitization to the keys as to the metric
names. This avoids conflicting help strings in the metric registry.

Fixes: prometheus#2893

Signed-off-by: Ben Kochie <superq@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
Signed-off-by: occupyhabit <wangmengjiao@outlook.com>
Avoid metrics with inconsistent help-texts. The earlier behaviour has
been preserved in the sense that the first encountered instance is still
used to generate metrics, whereas the subsequent inconsistent ones are
ignored along with a few peripheral changes.

```
 # HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape.
 #TYPE node_scrape_collector_duration_seconds gauge
 node_scrape_collector_duration_seconds{collector="textfile"} 0.0004005
 # HELP node_scrape_collector_success node_exporter: Whether a collector succeeded.
 # TYPE node_scrape_collector_success gauge
 node_scrape_collector_success{collector="textfile"} 1
 # HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read.
 # TYPE node_textfile_mtime_seconds gauge
 node_textfile_mtime_seconds{file="/Users/rexagod/repositories/misc/node_exporter/ne-bar.prom"} 1.710812009e+09
 node_textfile_mtime_seconds{file="/Users/rexagod/repositories/misc/node_exporter/ne-foo.prom"} 1.710811982e+09
 # HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise
 # TYPE node_textfile_scrape_error gauge
 node_textfile_scrape_error 1
 # HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
 # TYPE promhttp_metric_handler_errors_total counter
 promhttp_metric_handler_errors_total{cause="encoding"} 0
 promhttp_metric_handler_errors_total{cause="gathering"} 0
 # HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
 # TYPE promhttp_metric_handler_requests_in_flight gauge
 promhttp_metric_handler_requests_in_flight 1
 # HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
 # TYPE promhttp_metric_handler_requests_total counter
 promhttp_metric_handler_requests_total{code="200"} 0
 promhttp_metric_handler_requests_total{code="500"} 0
 promhttp_metric_handler_requests_total{code="503"} 0
 # HELP tau_infrastructure_performing_maintenance_task At what timestamp a given task started or stopped, the last time it was run.
 # TYPE tau_infrastructure_performing_maintenance_task gauge
 tau_infrastructure_performing_maintenance_task{main_task="nightly",start_or_stop="start",sub_task="main"} 1.64728080198446e+09
```

Fixes: prometheus#2317

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
* os_release.go: Added support end parsing support.

Fixes: prometheus#2977

Signed-off-by: Jonathan Davies <jpds@protonmail.com>

* os_release_test.go: Added TestParseOSSupportEnd.

Signed-off-by: Jonathan Davies <jpds@protonmail.com>

---------

Signed-off-by: Jonathan Davies <jpds@protonmail.com>
When the zfs collector fails on FreeBSD it doesn't log which `mib` triggered the issue. This makes diagnostics hard.

Incompatibilities in the list of supported mibs is not uncommon with major os updates. By adding this change, it'll be easier for users to report the specific mib that is triggering the failure.

Related to prometheus#2847

Signed-off-by: Daniel Kimsey <90741+dekimsey@users.noreply.github.com>
Signed-off-by: looklose <shishuaiqun@yeah.net>
…ibrary (prometheus#2989)

Signed-off-by: coderwander <770732124@qq.com>
…2996)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.20.0 to 0.23.0.
- [Commits](golang/net@v0.20.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ple requests happen (prometheus#2995)

Signed-off-by: John Guo <john@johng.cn>
Signed-off-by: prombot <prometheus-team@googlegroups.com>
* Update Go to 1.22.
* Update Go modules.
* Use new version collector.
* Use standard library slices package.

Signed-off-by: Ben Kochie <superq@gmail.com>
Ensure identical build flags embedded in both files.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>
* [CHANGE] exec_bsd: Fix labels for `vm.stats.sys.v_syscall` sysctl prometheus#2895
* [CHANGE] diskstats: Ignore zram devices on linux systems prometheus#2898
* [CHANGE] textfile: Avoid inconsistent help-texts  prometheus#2962
* [CHANGE] os: Removed caching of modtime/filename of os-release file prometheus#2987
* [FEATURE] xfrm: Add new collector prometheus#2866
* [FEATURE] watchdog: Add new collector prometheus#2880
* [ENHANCEMENT] cpu_vulnerabilities: Add mitigation information label prometheus#2806
* [ENHANCEMENT] nfsd: Handle new `wdeleg_getattr` attribute prometheus#2810
* [ENHANCEMENT] netstat: Add TCPOFOQueue to default netstat metrics prometheus#2867
* [ENHANCEMENT] filesystem: surface device errors prometheus#2923
* [ENHANCEMENT] os: Add support end parsing prometheus#2982
* [ENHANCEMENT] zfs: Log mib when sysctl read fails on FreeBSD prometheus#2975
* [ENHANCEMENT] fibre_channel: update procfs to take into account optional attributes prometheus#2933
* [BUGFIX] cpu: Fix debug log in cpu collector prometheus#2857
* [BUGFIX] hwmon: Fix hwmon nil ptr prometheus#2873
* [BUGFIX] hwmon: Fix hwmon error capture prometheus#2915
* [BUGFIX] zfs: Revert "Add ZFS freebsd per dataset stats prometheus#2925
* [BUGFIX] ethtool: Sanitize ethtool metric name keys prometheus#2940
* [BUGFIX] fix: data race of NetClassCollector metrics initialization prometheus#2995

Signed-off-by: Ben Kochie <superq@gmail.com>
…ags (prometheus#2979)

Signed-off-by: Sam Leiken <sam.k.leiken@gmail.com>
Signed-off-by: David O'Rourke <david.orourke@gmail.com>

chore:remove constant from function (prometheus#2884)

Signed-off-by: tyltr <tylitianrui@126.com>

build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.0 to 1.4.1 (prometheus#2909)

Bumps [github.com/jsimonetti/rtnetlink](https://github.com/jsimonetti/rtnetlink) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/jsimonetti/rtnetlink/releases)
- [Commits](jsimonetti/rtnetlink@v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: github.com/jsimonetti/rtnetlink
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

fix hwmon nil ptr (prometheus#2873)

* fix hwmon nil ptr

syslink maybe lost in some cases.

---------

Signed-off-by: TaoGe <6657718+yowenter@users.noreply.github.com>

Fix hwmon error capture (prometheus#2915)

Fix golangci-lint "ineffectual assignment" by correctly capturing any
errors within the hwmon gathering loop.

Signed-off-by: Ben Kochie <superq@gmail.com>

Update common Prometheus files (prometheus#2917)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Revert "Add ZFS freebsd per dataset stats (prometheus#2753)" (prometheus#2925)

This reverts commit f34aaa6.

Signed-off-by: Caleb Webber <caleb@codingthemsoftly.com>

filesystem: fix mountTimeout not working issue (prometheus#2903)

Signed-off-by: DongWei <jiangxuege@hotmail.com>

Fix description for NodeDiskIOSaturation alert (prometheus#2929)

NodeDiskIOSaturation description should say 30m per the "for" clause

Signed-off-by: Taylor Sly <slyt@users.noreply.github.com>

Enforce no subprocess policy (prometheus#2926)

Add depguard to golangci-lint to enforce the no-os/exec policy.

Signed-off-by: Ben Kochie <superq@gmail.com>

filesystem: surface device errors (prometheus#2923)

filesystem: surface filesystem device error

Fixes: prometheus#2918
---------

Signed-off-by: Pamela Mei i540369 <pamela.mei@sap.com>

Revert "filesystem: fix mountTimeout not working issue (prometheus#2903)" (prometheus#2932)

This reverts commit 9f1f791.

Signed-off-by: Ben Kochie <superq@gmail.com>

Update common Prometheus files (prometheus#2939)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Update common Prometheus files (prometheus#2946)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Update common Prometheus files (prometheus#2949)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Add multi-cluster support for Nodes dashboard (prometheus#2945)

Signed-off-by: Adrian Berger <adria.berger94@gmail.com>

disable selinux,fix end-to-end-test.sh error(prometheus#2934) (prometheus#2937)

Signed-off-by: heyitao <heyitao@uniontech.com>
Co-authored-by: heyitao <heyitao@uniontech.com>

Add new collector and metrics for watchdog (prometheus#2309) (prometheus#2880)

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>

Enable watchdog module by default; Add no data error (prometheus#2953)

Signed-off-by: Gavin Lam <gavin.oss@tutamail.com>

Update common Prometheus files (prometheus#2954)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (prometheus#2955)

Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Update common Prometheus files (prometheus#2959)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Sanitize ethtool metric name keys

Apply the same metric name sanitization to the keys as to the metric
names. This avoids conflicting help strings in the metric registry.

Fixes: prometheus#2893

Signed-off-by: Ben Kochie <superq@gmail.com>

Update common Prometheus files

Signed-off-by: prombot <prometheus-team@googlegroups.com>

chore: fix some typos (prometheus#2974)

Signed-off-by: occupyhabit <wangmengjiao@outlook.com>

collector/textfile: Avoid inconsistent help-texts (prometheus#2962)

Avoid metrics with inconsistent help-texts. The earlier behaviour has
been preserved in the sense that the first encountered instance is still
used to generate metrics, whereas the subsequent inconsistent ones are
ignored along with a few peripheral changes.

```
 # HELP node_scrape_collector_duration_seconds node_exporter: Duration of a collector scrape.
 #TYPE node_scrape_collector_duration_seconds gauge
 node_scrape_collector_duration_seconds{collector="textfile"} 0.0004005
 # HELP node_scrape_collector_success node_exporter: Whether a collector succeeded.
 # TYPE node_scrape_collector_success gauge
 node_scrape_collector_success{collector="textfile"} 1
 # HELP node_textfile_mtime_seconds Unixtime mtime of textfiles successfully read.
 # TYPE node_textfile_mtime_seconds gauge
 node_textfile_mtime_seconds{file="/Users/rexagod/repositories/misc/node_exporter/ne-bar.prom"} 1.710812009e+09
 node_textfile_mtime_seconds{file="/Users/rexagod/repositories/misc/node_exporter/ne-foo.prom"} 1.710811982e+09
 # HELP node_textfile_scrape_error 1 if there was an error opening or reading a file, 0 otherwise
 # TYPE node_textfile_scrape_error gauge
 node_textfile_scrape_error 1
 # HELP promhttp_metric_handler_errors_total Total number of internal errors encountered by the promhttp metric handler.
 # TYPE promhttp_metric_handler_errors_total counter
 promhttp_metric_handler_errors_total{cause="encoding"} 0
 promhttp_metric_handler_errors_total{cause="gathering"} 0
 # HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
 # TYPE promhttp_metric_handler_requests_in_flight gauge
 promhttp_metric_handler_requests_in_flight 1
 # HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
 # TYPE promhttp_metric_handler_requests_total counter
 promhttp_metric_handler_requests_total{code="200"} 0
 promhttp_metric_handler_requests_total{code="500"} 0
 promhttp_metric_handler_requests_total{code="503"} 0
 # HELP tau_infrastructure_performing_maintenance_task At what timestamp a given task started or stopped, the last time it was run.
 # TYPE tau_infrastructure_performing_maintenance_task gauge
 tau_infrastructure_performing_maintenance_task{main_task="nightly",start_or_stop="start",sub_task="main"} 1.64728080198446e+09
```

Fixes: prometheus#2317

Signed-off-by: Pranshu Srivastava <rexagod@gmail.com>

Update common Prometheus files (prometheus#2973)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

zfs: Log mib when sysctl read fails on FreeBSD

When the zfs collector fails on FreeBSD it doesn't log which `mib` triggered the issue. This makes diagnostics hard.

Incompatibilities in the list of supported mibs is not uncommon with major os updates. By adding this change, it'll be easier for users to report the specific mib that is triggering the failure.

Related to prometheus#2847

Signed-off-by: Daniel Kimsey <90741+dekimsey@users.noreply.github.com>

chore: fix typo in comment

Signed-off-by: looklose <shishuaiqun@yeah.net>

fibre_channel: update procfs to take into account optional attributes (prometheus#2933)

Signed-off-by: machine424 <ayoubmrini424@gmail.com>

refactor: Optimize code by using built-in constants in the standard library (prometheus#2989)

Signed-off-by: coderwander <770732124@qq.com>

os_release.go: Removed caching of modtime/filename of os-release file. (prometheus#2987)

Signed-off-by: Jonathan Davies <jpds@protonmail.com>

fix: data race of NetClassCollector metrics initialization when multiple requests happen (prometheus#2995)

Signed-off-by: John Guo <john@johng.cn>

Update common Prometheus files (prometheus#2992)

Signed-off-by: prombot <prometheus-team@googlegroups.com>

Update build (prometheus#3000)

* Update Go to 1.22.
* Update Go modules.
* Use new version collector.
* Use standard library slices package.

Signed-off-by: Ben Kochie <superq@gmail.com>

Fix watchdog_test lint and test failures on macos. (prometheus#3003)

Ensure identical build flags embedded in both files.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>

Release v1.8.0 (prometheus#3002)

* [CHANGE] exec_bsd: Fix labels for `vm.stats.sys.v_syscall` sysctl prometheus#2895
* [CHANGE] diskstats: Ignore zram devices on linux systems prometheus#2898
* [CHANGE] textfile: Avoid inconsistent help-texts  prometheus#2962
* [CHANGE] os: Removed caching of modtime/filename of os-release file prometheus#2987
* [FEATURE] xfrm: Add new collector prometheus#2866
* [FEATURE] watchdog: Add new collector prometheus#2880
* [ENHANCEMENT] cpu_vulnerabilities: Add mitigation information label prometheus#2806
* [ENHANCEMENT] nfsd: Handle new `wdeleg_getattr` attribute prometheus#2810
* [ENHANCEMENT] netstat: Add TCPOFOQueue to default netstat metrics prometheus#2867
* [ENHANCEMENT] filesystem: surface device errors prometheus#2923
* [ENHANCEMENT] os: Add support end parsing prometheus#2982
* [ENHANCEMENT] zfs: Log mib when sysctl read fails on FreeBSD prometheus#2975
* [ENHANCEMENT] fibre_channel: update procfs to take into account optional attributes prometheus#2933
* [BUGFIX] cpu: Fix debug log in cpu collector prometheus#2857
* [BUGFIX] hwmon: Fix hwmon nil ptr prometheus#2873
* [BUGFIX] hwmon: Fix hwmon error capture prometheus#2915
* [BUGFIX] zfs: Revert "Add ZFS freebsd per dataset stats prometheus#2925
* [BUGFIX] ethtool: Sanitize ethtool metric name keys prometheus#2940
* [BUGFIX] fix: data race of NetClassCollector metrics initialization prometheus#2995

Signed-off-by: Ben Kochie <superq@gmail.com>

Add logging for ethtool device include/exclude and metrics include flags (prometheus#2979)

Signed-off-by: Sam Leiken <sam.k.leiken@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

node_exporter 1.5.0 release SIGKILL immediately on macOS M1/arm64