[修改]node-exporter特权模式
This commit is contained in:
@@ -22,6 +22,9 @@ services:
|
|||||||
- prometheus
|
- prometheus
|
||||||
node-exporter:
|
node-exporter:
|
||||||
build: docker/node_exporter
|
build: docker/node_exporter
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- '/:/host:ro'
|
||||||
opcua-exporter:
|
opcua-exporter:
|
||||||
build: opcua-exporter
|
build: opcua-exporter
|
||||||
## volumes:
|
## volumes:
|
||||||
|
|||||||
@@ -22,4 +22,6 @@ RUN architecture=$(uname -m); \
|
|||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CMD ["node_exporter"]
|
RUN mkdir /host
|
||||||
|
|
||||||
|
CMD ["node_exporter","--path.rootfs=/host"]
|
||||||
@@ -36,7 +36,7 @@ class NetworkMonitor extends ChartWidget
|
|||||||
|
|
||||||
if ($selectedFilter === 'upload') {
|
if ($selectedFilter === 'upload') {
|
||||||
// 查询过去 1 分钟内每秒的上传流量
|
// 查询过去 1 分钟内每秒的上传流量
|
||||||
$uploadQuery = 'rate(node_network_transmit_bytes_total[1m])';
|
$uploadQuery = 'rate(node_network_transmit_bytes_total{device="eth0"}[1m])';
|
||||||
$uploadResult = $prometheus->queryRange(
|
$uploadResult = $prometheus->queryRange(
|
||||||
$uploadQuery,
|
$uploadQuery,
|
||||||
now()->subMinutes(1)->timestamp,
|
now()->subMinutes(1)->timestamp,
|
||||||
@@ -55,14 +55,14 @@ class NetworkMonitor extends ChartWidget
|
|||||||
|
|
||||||
foreach ($timestamps as $timestamp) {
|
foreach ($timestamps as $timestamp) {
|
||||||
$labels[] = date('H:i:s', $timestamp); // 格式化时间戳为小时:分钟:秒
|
$labels[] = date('H:i:s', $timestamp); // 格式化时间戳为小时:分钟:秒
|
||||||
$uploadData[] = round(floatval($uploadValues[$timestamp]) / (1024 * 1024), 2); // 转换为 MB/s
|
$uploadData[] = round(floatval($uploadValues[$timestamp]) / (1024*1024), 2); // 转换为 MB/s
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($selectedFilter === 'download') {
|
if ($selectedFilter === 'download') {
|
||||||
// 查询过去 1 分钟内每秒的下载流量
|
// 查询过去 1 分钟内每秒的下载流量
|
||||||
$downloadQuery = 'rate(node_network_receive_bytes_total[1m])';
|
$downloadQuery = 'rate(node_network_receive_bytes_total{device="eth0"}[1m])';
|
||||||
$downloadResult = $prometheus->queryRange(
|
$downloadResult = $prometheus->queryRange(
|
||||||
$downloadQuery,
|
$downloadQuery,
|
||||||
now()->subMinutes(1)->timestamp,
|
now()->subMinutes(1)->timestamp,
|
||||||
|
|||||||
@@ -27,14 +27,14 @@ class SystemStats extends BaseWidget
|
|||||||
$memoryDisplay = round($memoryUsed / (1024 * 1024 * 1024), 2) . ' GB / ' . round($memoryTotal / (1024 * 1024 * 1024), 2) . ' GB';
|
$memoryDisplay = round($memoryUsed / (1024 * 1024 * 1024), 2) . ' GB / ' . round($memoryTotal / (1024 * 1024 * 1024), 2) . ' GB';
|
||||||
|
|
||||||
// 获取硬盘总量
|
// 获取硬盘总量
|
||||||
$diskTotalQuery = 'node_filesystem_size_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="squashfs"}';
|
$diskTotalQuery = 'node_filesystem_size_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="squashfs",mountpoint=~"/|/home|/boot"}';
|
||||||
$diskTotalResult = $prometheus->query($diskTotalQuery);
|
$diskTotalResult = $prometheus->query($diskTotalQuery);
|
||||||
$diskTotal = array_sum(array_map(function ($item) {
|
$diskTotal = array_sum(array_map(function ($item) {
|
||||||
return $item['value'][1] ?? 0;
|
return $item['value'][1] ?? 0;
|
||||||
}, $diskTotalResult['data']['result']));
|
}, $diskTotalResult['data']['result']));
|
||||||
|
|
||||||
// 获取已用硬盘
|
// 获取已用硬盘
|
||||||
$diskFreeQuery = 'node_filesystem_free_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="squashfs"}';
|
$diskFreeQuery = 'node_filesystem_free_bytes{fstype!="rootfs",fstype!="tmpfs",fstype!="squashfs",mountpoint=~"/|/home|/boot"}';
|
||||||
$diskFreeResult = $prometheus->query($diskFreeQuery);
|
$diskFreeResult = $prometheus->query($diskFreeQuery);
|
||||||
$diskFree = array_sum(array_map(function ($item) {
|
$diskFree = array_sum(array_map(function ($item) {
|
||||||
return $item['value'][1] ?? 0;
|
return $item['value'][1] ?? 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user