Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
118 commits
Select commit Hold shift + click to select a range
9572e7a
Add logging for ethtool device include/exclude and metrics include fl…
sleiken Apr 29, 2024
5a4e691
Update common Prometheus files (#3009)
prombot May 2, 2024
2ecbe97
Sign node exporter darwin binary with rcodesign (#3008)
gitperr May 2, 2024
66fab10
collector/cpu: s/cpu_ticks*/cpu_nsec* for solaris (#2963)
rexagod May 15, 2024
3afc0a3
Fix pressure collector nil reference (#3016)
SuperQ May 16, 2024
0d3400e
Release v1.8.1 (#3018)
SuperQ May 21, 2024
40b32e6
Update common Prometheus files
prombot May 28, 2024
92d5a84
build(deps): bump github.com/mdlayher/wifi from 0.1.0 to 0.2.0 (#3038)
dependabot[bot] Jun 2, 2024
5b6b5d7
build(deps): bump github.com/jsimonetti/rtnetlink from 1.4.1 to 1.4.2…
dependabot[bot] Jun 2, 2024
67579cd
build(deps): bump github.com/beevik/ntp from 1.3.1 to 1.4.3 (#3036)
dependabot[bot] Jun 2, 2024
6603633
build(deps): bump github.com/prometheus/client_golang (#3035)
dependabot[bot] Jun 2, 2024
dae4c87
slab-collector: add filter for slab name. (#3041)
middaywords Jun 6, 2024
8aaf690
Update common Prometheus files (#3040)
prombot Jun 9, 2024
dc185bc
Update common Prometheus files (#3044)
prombot Jun 9, 2024
80859a9
Do not panic as much in Linux collector tests (#3050)
bsiegert Jun 13, 2024
4f7bd35
fix pressure metric collection fails on systems that do not expose a …
chengjoey Jun 19, 2024
c6fa86c
Update common Prometheus files (#3060)
prombot Jun 25, 2024
4cc1c17
build(deps): bump github.com/safchain/ethtool from 0.3.0 to 0.4.1 (#3…
dependabot[bot] Jul 2, 2024
c0c1a8c
chore: sync with latest `procfs` release (#3059)
rexagod Jul 10, 2024
fe5ffa9
add IRQ PSI metrics
mchtech Jun 11, 2024
d2a307e
change irq psi url
mchtech Jun 11, 2024
ec5e4b5
add IRQ PSI test data
mchtech Jun 11, 2024
99dc91c
Fix: Change EXPERIMENTAL to Experimental in README.md
myeunee Jun 26, 2024
e0aa19a
build(deps): bump github.com/prometheus/common from 0.53.0 to 0.55.0
dependabot[bot] Jul 10, 2024
e11a4f0
Add include and exclude filter for sensors in hwmon collector (#3072)
simonkrenger Jul 14, 2024
fe71568
Add UIDs to dashboards (#3042)
stefanandres Jul 14, 2024
e8aa4de
Add metrics for btrfs commit statistics (#3010)
maartenberg Jul 14, 2024
fdaa8fc
ref!: convert linux meminfo implementation to use procfs lib (#3049)
tjhop Jul 14, 2024
ff20a6a
collector/zfs: Prevent `procfs` integer underflow (#2961)
rexagod Jul 14, 2024
2ce82ca
build(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 (#3073)
dependabot[bot] Jul 14, 2024
e0c4a47
Add interrupts collector filtering (#3028)
SuperQ Jul 14, 2024
8a3a0de
Add TCPRcvQDrop to default netstat metrics (#3021)
rfmoz Jul 14, 2024
b9d0932
Add node_filesystem_mount_info metric (#2970)
migeyel Jul 14, 2024
f63b64e
Update Go (#3120)
SuperQ Sep 11, 2024
041d67d
Add ifAlias label to netdev collector (#3087)
tomvil Sep 11, 2024
0909576
Update logging (#3097)
SuperQ Sep 11, 2024
7a97429
Add `exclude[]` parameter (#3116)
siavashs Sep 14, 2024
6253b08
Bump jsimonetti/rtnetlink dependency to v2.0.2 (#3089)
dswarbrick Sep 20, 2024
076cc40
Update common Prometheus files
prombot Jul 14, 2024
715a2ed
Gracefully handle absence of environment configuration file (#3062)
septatrix Sep 22, 2024
a5543cc
collector: add NetBSD support for filesystem (#3082)
tnn2 Sep 22, 2024
2023349
fix: address `master` issues (#3131)
rexagod Sep 22, 2024
a37174e
Update common Prometheus files (#3130)
prombot Sep 22, 2024
71d9b6c
build fix on FreeBSD (#3132)
swills Sep 24, 2024
2ebd807
Add AIX CPU collector
discordianfish Jul 30, 2024
808c1a5
Add AIX meminfo
discordianfish Jul 30, 2024
dfd1f08
Add AIX loadavg collector
discordianfish Jul 30, 2024
8fff2f7
Add AIX diskstats
discordianfish Jul 30, 2024
0a2a54f
Add AIX filesystem collector
discordianfish Jul 30, 2024
3c71098
Add AIX netdev collector
discordianfish Jul 30, 2024
b9e1405
Enable uname collector on AIX
discordianfish Aug 12, 2024
92c10f9
Add AIX dashboard
discordianfish Sep 7, 2024
b5ce6bc
Disable osrelease collector on aix
discordianfish Sep 28, 2024
11f93d3
textfile: Allow specifiying multiple directory globs. (#3135)
eduarrrd Sep 30, 2024
fafc973
zfs: move Linux-specific code out of zfs.go
dswarbrick May 12, 2024
8ea822f
zfs: move common init function out of arch-specific files
dswarbrick May 12, 2024
b2dfaeb
zfs: make zfsPoolStatesName an array
dswarbrick May 12, 2024
770bd55
zfs: standardize case spelling of NewZFSCollector
dswarbrick May 12, 2024
6c96239
zfs: rename zfs.go to zfs_common.go
dswarbrick May 12, 2024
ebf3cbf
zfs: drop superfluous typecasting of test values
dswarbrick Aug 23, 2024
1b332ed
Fix: Add safety check to hwmon read
SuperQ Sep 25, 2024
04db3ea
build(deps): bump github.com/prometheus/common from 0.59.1 to 0.60.0
dependabot[bot] Oct 1, 2024
e647b99
build(deps): bump github.com/mdlayher/wifi from 0.2.0 to 0.3.0 (#3140)
dependabot[bot] Oct 8, 2024
e6a9cfb
Update common Prometheus files (#3144)
prombot Oct 8, 2024
f35a592
Update common Prometheus files
prombot Oct 8, 2024
22e1b18
build(deps): bump github.com/opencontainers/selinux
dependabot[bot] Nov 1, 2024
0a7582f
build(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0
dependabot[bot] Nov 1, 2024
957fc53
build(deps): bump github.com/prometheus/client_golang
dependabot[bot] Nov 1, 2024
07ee8ef
build(deps): bump github.com/prometheus/common from 0.60.0 to 0.60.1
dependabot[bot] Nov 1, 2024
0fddfd1
Cache metricsfamily help text (#3175)
mknapphrt Nov 7, 2024
c29cb91
Update common Prometheus files (#3173)
prombot Nov 11, 2024
5122c7c
build(deps): bump github.com/prometheus/exporter-toolkit (#3168)
dependabot[bot] Nov 11, 2024
a7b403a
Update common Prometheus files (#3181)
prombot Nov 11, 2024
49d177b
Update common Prometheus files (#3182)
prombot Nov 12, 2024
cf8c689
Update common Prometheus files (#3188)
prombot Nov 26, 2024
226c80c
Add filesystem include flags
SuperQ Nov 5, 2024
2604d19
build(deps): bump github.com/safchain/ethtool from 0.4.1 to 0.5.9 (#3…
dependabot[bot] Dec 17, 2024
a38a5d7
alerts: exclude iowait from NodeCPUHighUsage alert (#3203)
kyrbrbik Dec 17, 2024
983e634
build(deps): bump github.com/prometheus/exporter-toolkit (#3211)
dependabot[bot] Dec 17, 2024
ff97e35
Enable goimports linter
SuperQ Nov 10, 2024
d0c1d00
Migrate dashboards to new grafonnet library (#3147)
critchtionary Dec 19, 2024
2fccdf4
fix(docs): add node(Warning|Critical)WindowHours to node-mixin
Duologic Sep 12, 2022
505363a
chore: add instance label in NodeHighNumberConntrackEntriesUsed alert…
daviderli614 Dec 11, 2024
2b5cef3
fix: address `master` issues
rexagod Sep 22, 2024
b8aac7c
collector/cpu: Support CPU online status
rexagod May 30, 2024
c3c8645
Update common Prometheus files (#3218)
prombot Dec 29, 2024
3ed9edf
build(deps): bump github.com/mdlayher/wifi from 0.3.0 to 0.3.1 (#3219)
dependabot[bot] Jan 1, 2025
6f3c345
add gpu clk
zxhdaze Aug 22, 2024
89a21a9
restruct code
zxhdaze Aug 23, 2024
0c1af8d
add test
zxhdaze Aug 27, 2024
8f9a914
add arm test
zxhdaze Aug 27, 2024
acdd9b8
arp: optimize netlink interface name resolution (#3133)
dswarbrick Jan 10, 2025
c46d1f2
Update common Prometheus files (#3226)
prombot Jan 16, 2025
810510e
Export newUnameCollector function in uname.go (#3227)
orloffv Jan 25, 2025
963158d
Enable purgeable space reporting (#3206)
ledeuns Feb 2, 2025
43dfdce
Add collector for netstats tcp packet counters for FreeBSD. (#3177)
Rin0913 Feb 2, 2025
e056e1b
zfs: Allow space in dataset name (#3186)
khafatech Feb 2, 2025
b50b9e9
build(deps): bump golang.org/x/sys from 0.28.0 to 0.29.0
dependabot[bot] Feb 1, 2025
b6b8288
build(deps): bump github.com/prometheus/common from 0.61.0 to 0.62.0
dependabot[bot] Feb 1, 2025
9889bcd
collector/diskstats: add block device rotational (#3022)
rexagod Feb 4, 2025
38f71f5
Fix unused value (#3236)
SuperQ Feb 4, 2025
3430dcf
chore: add xBSD pipelines
rexagod Oct 19, 2024
0cceb77
fixup! chore: add xBSD pipelines
rexagod Dec 21, 2024
84ba997
fixup! fixup! chore: add xBSD pipelines
rexagod Dec 22, 2024
5340ad6
fixup! fixup! fixup! chore: add xBSD pipelines
rexagod Dec 25, 2024
11365f9
Update common Prometheus files (#3240)
prombot Feb 9, 2025
2f21133
chore: ignore/include metrics for FreeBSD (#3242)
rexagod Feb 15, 2025
edc40d1
collector/ethtool: skip full scan of NetClass directories (#3239)
wjordan Feb 15, 2025
f252c46
Add NodeSystemdServiceCrashlooping alert to mixin (#3039)
v-zhuravlev Feb 16, 2025
cab75a8
collector/cpu_netbsd: fix 32-bit host support and plug memory leak (#…
tnn2 Feb 16, 2025
69817e0
build(deps): bump github.com/prometheus/exporter-toolkit (#3246)
dependabot[bot] Feb 16, 2025
8746b4e
build(deps): bump github.com/safchain/ethtool from 0.5.9 to 0.5.10 (#…
dependabot[bot] Feb 16, 2025
4d2912d
build(deps): bump golang.org/x/sys from 0.29.0 to 0.30.0 (#3247)
dependabot[bot] Feb 16, 2025
02afa5c
Release v1.9.0 (#3248)
SuperQ Feb 17, 2025
f2ec547
Release v1.9.1 (#3285)
SuperQ Apr 1, 2025
f6fad0e
Merge tag 'v1.9.1' into PMM-7-update-node-exporter
BupycHuk Apr 9, 2025
af58532
PMM-7 Migrate logging to slog and update dependencies
BupycHuk Apr 9, 2025
c0790e8
PMM-7 Organize imports.
BupycHuk Apr 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ executors:
# should also be updated.
golang:
docker:
- image: cimg/go:1.22
- image: cimg/go:1.23
arm:
machine:
image: ubuntu-2204:current
docker:
- image: cimg/go:1.23
resource_class: arm.medium

jobs:
Expand All @@ -25,7 +25,7 @@ jobs:
test-arm:
executor: arm
steps:
- checkout
- prometheus/setup_environment
- run: uname -a
- run: make test-e2e
test_mixins:
Expand Down Expand Up @@ -70,7 +70,7 @@ jobs:
machine:
image: ubuntu-2204:current
environment:
DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.22-base
DOCKER_TEST_IMAGE_NAME: quay.io/prometheus/golang-builder:1.23-base
REPO_PATH: github.com/prometheus/node_exporter
steps:
- prometheus/setup_environment
Expand Down
313 changes: 313 additions & 0 deletions .github/workflows/bsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,313 @@
name: bsd

on:
push:
branches:
- master
pull_request:
branches:
- master

permissions:
contents: read

env:
GNU_TAR_VERSION: "1.35"
GO_VERSION_DRAGONFLY: "1.23.3"
GO_VERSION_FREEBSD: "123"
GO_VERSION_NETBSD: "1.23.3"
GO_VERSION_OPENBSD: "1.23.1"
GO_VERSION_SOLARIS: "1.23.3"

# To spin up one of the VMs below, see the "Debug Shell" section here: https://github.com/vmactions
jobs:
test_freebsd:
name: Run end-to-end tests on FreeBSD
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: test-e2e
uses: vmactions/freebsd-vm@v1
with:
copyback: false
envs: 'GO_VERSION_FREEBSD GNU_TAR_VERSION'
usesh: true
prepare: |
pkg update -f
pkg install -y \
bash \
git \
gmake \
gnugrep \
go${GO_VERSION_FREEBSD} \
gsed \
gtar \
python \
wget
run: |
echo "::group::Setup prerequisites"
set -eu
mkdir bin
ln -s $(which go${GO_VERSION_FREEBSD}) $(pwd)/bin/go
ln -s $(which ggrep) $(pwd)/bin/grep
ln -s $(which gmake) $(pwd)/bin/make
ln -s $(which gsed) $(pwd)/bin/sed
ln -s $(which gtar) $(pwd)/bin/tar
export PATH=$(pwd)/bin:$PATH
echo "::endgroup::"

echo "::group::Print environment information"
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"

echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
gmake test-e2e
echo "::endgroup::"

test_openbsd:
name: Run end-to-end tests on OpenBSD
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: test-e2e
uses: vmactions/openbsd-vm@v1
with:
copyback: false
envs: 'GO_VERSION_OPENBSD GNU_TAR_VERSION'
usesh: true
prepare: |
pkg_add -u
pkg_add \
bash \
ggrep \
git \
gmake \
go-${GO_VERSION_OPENBSD} \
gsed \
gtar-${GNU_TAR_VERSION}p0-static \
python \
wget
run: |
echo "::group::Setup prerequisites"
set -eu
mkdir bin
ln -s $(which ggrep) $(pwd)/bin/grep
ln -s $(which gmake) $(pwd)/bin/make
ln -s $(which gsed) $(pwd)/bin/sed
ln -s $(which gtar) $(pwd)/bin/tar
export PATH=$(pwd)/bin:$PATH
echo "::endgroup::"

echo "::group::Print environment information"
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"

echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
make test-e2e
echo "::endgroup::"

test_netbsd:
name: Run end-to-end tests on NetBSD
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: test-e2e
uses: vmactions/netbsd-vm@v1
with:
copyback: false
envs: 'GO_VERSION_NETBSD GNU_TAR_VERSION'
usesh: true
prepare: |
/usr/sbin/pkg_add -u
/usr/sbin/pkg_add \
git \
gmake \
grep \
gsed \
gtar-base-${GNU_TAR_VERSION}\
python312 \
wget
run: |
echo "::group::Setup prerequisites"
set -eu
mkdir bin
GOGZ="go${GO_VERSION_NETBSD}.netbsd-amd64.tar.gz"
wget https://go.dev/dl/${GOGZ}
gtar xzf ${GOGZ}
ln -s $(pwd)/go/bin/go $(pwd)/bin/go
ln -s $(which ggrep) $(pwd)/bin/grep
ln -s $(which gmake) $(pwd)/bin/make
ln -s $(which gsed) $(pwd)/bin/sed
ln -s $(which gtar) $(pwd)/bin/tar
export PATH=$(pwd)/bin:$PATH
echo "::endgroup::"

echo "::group::Print environment information"
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"

echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
make test-e2e
echo "::endgroup::"

test_dragonfly:
name: Run end-to-end tests on DragonFly
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: test-e2e
uses: vmactions/dragonflybsd-vm@v1
with:
copyback: false
envs: 'GO_VERSION_DRAGONFLY'
usesh: true
prepare: |
pkg update && pkg upgrade -y
pkg install -y \
bash \
git \
gmake \
gnugrep \
gsed \
gtar \
python3 \
wget
run: |
echo "::group::Setup prerequisites"
set -eu
mkdir bin
GOGZ="go${GO_VERSION_DRAGONFLY}.dragonfly-amd64.tar.gz"
wget https://go.dev/dl/${GOGZ}
gtar xzf ${GOGZ}
ln -s $(pwd)/go/bin/go $(pwd)/bin/go
ln -s $(which ggrep) $(pwd)/bin/grep
ln -s $(which gmake) $(pwd)/bin/make
ln -s $(which gsed) $(pwd)/bin/sed
ln -s $(which gtar) $(pwd)/bin/tar
ln -s $(which python3) $(pwd)/bin/python
export PATH=$(pwd)/bin:$PATH
echo "::endgroup::"

echo "::group::Print environment information"
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"

echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
gmake test-e2e
echo "::endgroup::"

test_solaris:
name: Run end-to-end tests on Solaris
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: test-e2e
uses: vmactions/solaris-vm@v1
with:
copyback: false
envs: 'GO_VERSION_SOLARIS'
usesh: true
prepare: |
pkg update
pkg install \
bash \
curl \
gcc \
git \
gnu-grep \
gnu-make \
gnu-sed \
gnu-tar
run: |
echo "::group::Setup prerequisites"
set -eu
mkdir bin
GOGZ="go${GO_VERSION_SOLARIS}.solaris-amd64.tar.gz"
wget https://go.dev/dl/${GOGZ}
gtar xzf ${GOGZ}
ln -s $(pwd)/go/bin/go $(pwd)/bin/go
ln -s $(which ggrep) $(pwd)/bin/grep
ln -s $(which gmake) $(pwd)/bin/make
ln -s $(which gsed) $(pwd)/bin/sed
ln -s $(which gtar) $(pwd)/bin/tar
export PATH=$(pwd)/bin:$PATH

echo ">> building promu as it is not shipped for Solaris"
git clone https://github.com/prometheus/promu.git
cd promu
go build .
cd -

mkdir -p $(go env GOPATH)/bin
ln -s $(pwd)/promu/promu $(go env GOPATH)/bin/promu
export PATH=$(go env GOPATH)/bin:$PATH
echo "::endgroup::"

echo "::group::Print environment information"
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"

echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
make test-e2e
echo "::endgroup::"

test_macos:
name: Run end-to-end tests on macOS
runs-on: macos-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Install dependencies
run: |
brew install \
bash \
curl \
git \
grep \
make \
gnu-sed \
gnu-tar \
go \
python3
- name: test-e2e
run: |
echo "::group::Setup prerequisites"
set -eu
mkdir bin
ln -s $(which ggrep) $(pwd)/bin/grep
ln -s $(which gmake) $(pwd)/bin/make
ln -s $(which gsed) $(pwd)/bin/sed
ln -s $(which gtar) $(pwd)/bin/tar
export PATH=$(pwd)/bin:$PATH
echo "::endgroup::"

echo "::group::Print environment information"
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"

echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
make test-e2e
echo "::endgroup::"
13 changes: 9 additions & 4 deletions .github/workflows/container_description.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
paths:
- "README.md"
- "README-containers.md"
- ".github/workflows/container_description.yml"
branches: [ main, master ]

Expand All @@ -17,7 +18,7 @@ jobs:
if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks.
steps:
- name: git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set docker hub repo name
run: echo "DOCKER_REPO_NAME=$(make docker-repo-name)" >> $GITHUB_ENV
- name: Push README to Dockerhub
Expand All @@ -29,15 +30,17 @@ jobs:
destination_container_repo: ${{ env.DOCKER_REPO_NAME }}
provider: dockerhub
short_description: ${{ env.DOCKER_REPO_NAME }}
readme_file: 'README.md'
# Empty string results in README-containers.md being pushed if it
# exists. Otherwise, README.md is pushed.
readme_file: ''

PushQuayIoReadme:
runs-on: ubuntu-latest
name: Push README to quay.io
if: github.repository_owner == 'prometheus' || github.repository_owner == 'prometheus-community' # Don't run this workflow on forks.
steps:
- name: git checkout
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set quay.io org name
run: echo "DOCKER_REPO=$(echo quay.io/${GITHUB_REPOSITORY_OWNER} | tr -d '-')" >> $GITHUB_ENV
- name: Set quay.io repo name
Expand All @@ -49,4 +52,6 @@ jobs:
with:
destination_container_repo: ${{ env.DOCKER_REPO_NAME }}
provider: quay
readme_file: 'README.md'
# Empty string results in README-containers.md being pushed if it
# exists. Otherwise, README.md is pushed.
readme_file: ''
Loading
Loading