From d233af6f508c1f237f42e0a15c11a97b29cf11e0 Mon Sep 17 00:00:00 2001 From: 10908 <1090814301@qq.com> Date: Wed, 25 Sep 2024 10:57:51 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E6=94=B9]node-exporter=E7=89=B9?= =?UTF-8?q?=E6=9D=83=E6=A8=A1=E5=BC=8F=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 4 +++- docker/node_exporter/Dockerfile | 2 +- docker/prometheus/prometheus.yml | 2 +- .../app/Filament/Widgets/NetworkMonitor.php | 12 ++++++------ 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 2f42bda..9b56b55 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,9 @@ services: - prometheus node-exporter: build: docker/node_exporter - privileged: true +# privileged: true + network_mode: host + pid: host volumes: - '/:/host:ro' opcua-exporter: diff --git a/docker/node_exporter/Dockerfile b/docker/node_exporter/Dockerfile index f9562ba..4bdb58d 100644 --- a/docker/node_exporter/Dockerfile +++ b/docker/node_exporter/Dockerfile @@ -24,4 +24,4 @@ RUN architecture=$(uname -m); \ RUN mkdir /host -CMD ["node_exporter","--path.rootfs=/host"] \ No newline at end of file +CMD ["node_exporter","--path.rootfs=/host","--web.listen-address=0.0.0.0:9100"] \ No newline at end of file diff --git a/docker/prometheus/prometheus.yml b/docker/prometheus/prometheus.yml index df0fe54..63abd12 100644 --- a/docker/prometheus/prometheus.yml +++ b/docker/prometheus/prometheus.yml @@ -4,7 +4,7 @@ global: scrape_configs: - job_name: 'node_exporter' static_configs: - - targets: [ 'node-exporter:9100' ] + - targets: [ '172.17.0.1:9100' ] - job_name: 'opcua_exporter' static_configs: diff --git a/management-panel/app/Filament/Widgets/NetworkMonitor.php b/management-panel/app/Filament/Widgets/NetworkMonitor.php index 47f5d36..8a1142e 100644 --- a/management-panel/app/Filament/Widgets/NetworkMonitor.php +++ b/management-panel/app/Filament/Widgets/NetworkMonitor.php @@ -36,7 +36,7 @@ class NetworkMonitor extends ChartWidget if ($selectedFilter === 'upload') { // 查询过去 1 分钟内每秒的上传流量 - $uploadQuery = 'rate(node_network_transmit_bytes_total{device="eth0"}[1m])'; + $uploadQuery = 'rate(node_network_transmit_bytes_total{device!~"^(veth.*|docker.*|lo|br-.*)$"}[1m])'; $uploadResult = $prometheus->queryRange( $uploadQuery, now()->subMinutes(1)->timestamp, @@ -55,14 +55,14 @@ class NetworkMonitor extends ChartWidget foreach ($timestamps as $timestamp) { $labels[] = date('H:i:s', $timestamp); // 格式化时间戳为小时:分钟:秒 - $uploadData[] = round(floatval($uploadValues[$timestamp]) / (1024*1024), 2); // 转换为 MB/s + $uploadData[] = round(floatval($uploadValues[$timestamp]) / 1024, 2); // 转换为 MB/s } } } if ($selectedFilter === 'download') { // 查询过去 1 分钟内每秒的下载流量 - $downloadQuery = 'rate(node_network_receive_bytes_total{device="eth0"}[1m])'; + $downloadQuery = 'rate(node_network_receive_bytes_total{device!~"^(veth.*|docker.*|lo|br-.*)$"}[1m])'; $downloadResult = $prometheus->queryRange( $downloadQuery, now()->subMinutes(1)->timestamp, @@ -80,7 +80,7 @@ class NetworkMonitor extends ChartWidget foreach ($timestamps as $timestamp) { $labels[] = date('H:i:s', $timestamp); // 格式化时间戳为小时:分钟:秒 - $downloadData[] = round(floatval($downloadValues[$timestamp]) / (1024 * 1024), 2); // 转换为 MB/s + $downloadData[] = round(floatval($downloadValues[$timestamp]) / 1024, 2); // 转换为 MB/s } } } @@ -89,7 +89,7 @@ class NetworkMonitor extends ChartWidget $datasets = []; if ($selectedFilter === 'upload') { $datasets[] = [ - 'label' => '上传流量 (MB/s)', + 'label' => '上传流量 (KB/s)', 'data' => $uploadData, 'borderColor' => 'rgba(255, 99, 132, 0.6)', 'backgroundColor' => 'rgba(255, 99, 132, 0.2)', @@ -98,7 +98,7 @@ class NetworkMonitor extends ChartWidget } if ($selectedFilter === 'download') { $datasets[] = [ - 'label' => '下载流量 (MB/s)', + 'label' => '下载流量 (KB/s)', 'data' => $downloadData, 'borderColor' => 'rgba(54, 162, 235, 0.6)', 'backgroundColor' => 'rgba(54, 162, 235, 0.2)',