当前位置: 首页 > news >正文

离线安装prometheus与Grafana实现可视化监控

简介

prometheus 是一个专为云环境设计的开源系统监控和警报工具,它收集并存储多维度的时间序列数据,通过PromQL查询语言提供强大的数据检索能力,并支持可视化及警报功能。而 Grafana 则是一个开源的数据可视化平台,能够与包括Prometheus在内的多种数据源无缝集成,将复杂的数据转化为直观易懂的图表和仪表板,帮助用户快速洞察系统状态,优化决策过程。

安装部署

步骤 1:准备离线安装包
下载 Prometheus 和 Grafana 的安装包:
需要在一台可以访问互联网的机器上下载 Prometheus 和 Grafana 的二进制文件以及它们的依赖项。
下载所需的 .tar.gz 文件并将其复制到目标机器上。
将下载的文件传输到目标服务器:
使用 SCP 或其他文件传输工具将文件传输到目标 Ubuntu 20.04 服务器。
prometheus下载地址:https://prometheus.io/download/
Grafana下载地址:https://grafana.com/grafana/download
步骤 2:编写离线安装脚本
以下是一个示例 Bash 脚本:

#!/bin/bash# 设置安装目录
PROMETHEUS_VERSION="2.53.2"
GRAFANA_VERSION="10.2.0"INSTALL_DIR="/usr/local"# 解压 Prometheus
echo "解压 Prometheus..."
tar -xzf prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz -C $INSTALL_DIR# 创建软链接
ln -s $INSTALL_DIR/prometheus-$PROMETHEUS_VERSION.linux-amd64 $INSTALL_DIR/prometheus# 创建 Prometheus 用户
useradd --no-create-home --shell /bin/false prometheus# 设置权限
chown -R prometheus:prometheus $INSTALL_DIR/prometheus-$PROMETHEUS_VERSION.linux-amd64# 配置 Prometheus 服务
cat <<EOF | tee /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=$INSTALL_DIR/prometheus/prometheus \--config.file=$INSTALL_DIR/prometheus/prometheus.yml \--storage.tsdb.path=$INSTALL_DIR/prometheus/data[Install]
WantedBy=multi-user.target
EOF# 解压 Grafana
echo "解压 Grafana..."
tar -xzf grafana-enterprise-$GRAFANA_VERSION.linux-amd64.tar.gz -C $INSTALL_DIR# 创建软链接
ln -s $INSTALL_DIR/grafana-$GRAFANA_VERSION $INSTALL_DIR/grafana# 配置 Grafana 服务
cat <<EOF | tee /etc/systemd/system/grafana.service
[Unit]
Description=Grafana
Wants=network-online.target
After=network-online.target[Service]
User=root
Group=root
Type=simple
ExecStart=$INSTALL_DIR/grafana/bin/grafana-server \--config=$INSTALL_DIR/grafana/conf/defaults.ini \--homepath=$INSTALL_DIR/grafana[Install]
WantedBy=multi-user.target
EOF# 重新加载 systemd 配置
echo "重新加载 systemd 配置..."
systemctl daemon-reload# 启动并启用 Prometheus 和 Grafana
echo "启动 Prometheus..."
systemctl start prometheus
systemctl enable prometheusecho "启动 Grafana..."
systemctl start grafana
systemctl enable grafanaecho "安装完成!Prometheus 和 Grafana 已启动并配置为开机自启。"

步骤 3:执行脚本
赋予脚本执行权限:

chmod +x install_prometheus_grafana.sh

运行脚本进行安装:

sudo ./install_prometheus_grafana.sh

步骤 4:验证安装
通过浏览器访问 http://<你的服务器IP>:3000 验证 Grafana 是否成功运行。
通过 http://<你的服务器IP>:9090 验证 Prometheus 是否成功运行。
在这里插入图片描述
ps:Grafana默认语言为英文,可以设置 Home - 》Administration-》Default preferences,将语言更改为中文,默认账户密码皆为admin。
步骤5:客户端安装
首先将下载的文件传输到目标服务器,本次教程主要演示node_exporter安装,下面是安装脚本:

#!/bin/bash# 设置 Node Exporter 版本号和安装目录
NODE_EXPORTER_VERSION="1.8.2"
INSTALL_DIR="/usr/local/bin"
NODE_EXPORTER_ARCHIVE="node_exporter-$NODE_EXPORTER_VERSION.linux-amd64.tar.gz"
NODE_EXPORTER_USER="node_exporter"# 检查二进制文件是否存在
if [ ! -f "$NODE_EXPORTER_ARCHIVE" ]; thenecho "Node Exporter 二进制文件未找到:$NODE_EXPORTER_ARCHIVE"exit 1
fi# 解压 Node Exporter 文件
echo "解压 Node Exporter..."
tar -xzf "$NODE_EXPORTER_ARCHIVE" -C /tmp/# 移动二进制文件到安装目录
echo "安装 Node Exporter 到 $INSTALL_DIR..."
sudo mv /tmp/node_exporter-$NODE_EXPORTER_VERSION.linux-amd64/node_exporter $INSTALL_DIR/# 创建 node_exporter 用户(如果尚未创建)
if getent passwd "$NODE_EXPORTER_USER" > /dev/null 2>&1; thenecho "用户 $NODE_EXPORTER_USER 已存在。"
elsesudo useradd --no-create-home --shell /bin/false $NODE_EXPORTER_USERecho "用户 $NODE_EXPORTER_USER 已创建。"
fi# 设置二进制文件权限
sudo chown $NODE_EXPORTER_USER:$NODE_EXPORTER_USER $INSTALL_DIR/node_exporter# 创建 systemd 服务文件
echo "创建 Node Exporter 服务..."
sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target[Service]
User=$NODE_EXPORTER_USER
Group=$NODE_EXPORTER_USER
Type=simple
ExecStart=$INSTALL_DIR/node_exporter[Install]
WantedBy=multi-user.target
EOF# 重新加载 systemd 并启动 Node Exporter 服务
echo "启动 Node Exporter 服务..."
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter# 清理临时文件
echo "清理临时文件..."
rm -rf /tmp/node_exporter-$NODE_EXPORTER_VERSION.linux-amd64# 检查服务状态
sudo systemctl status node_exporterecho "Node Exporter 已成功安装并启动。"

脚本运行成功后可以使用“ss -ntulp | grep 9100”来验证程序是否正常启动。

具体操作

1、普罗米修斯服务端配置文件添加监控项

sudo vim /usr/local/prometheus/prometheus.yml
- job_name: "linux"static_configs:- targets: ["192.168.188.148:9100"] # 若需要添加多个节点,需要使用“,”分开

在这里插入图片描述
重启prometheus服务:

sudo systemctl restart prometheus.service

打开普罗米修斯自带的监控页面,Status -> Targets 查看:
在这里插入图片描述
2、Grafana 展示 Prometheus 数据
首先,在Configuration -> Data Sources ->add data source -> Prometheus这个选项下面添加数据源:
在这里插入图片描述
在这里插入图片描述
然后,新增Dashboard Linux基础数据展示:
在这里插入图片描述
导入模板:
在这里插入图片描述
在这里插入图片描述

ps:本次测试所使用模板是在https://grafana.com/grafana/dashboards中下载的相应dashboards的id为8919的模板。
仪表板效果图展示:
在这里插入图片描述
本次测试只是单独介绍了监控Linux的一些基础用法,后期会继续进行更新。
在这里插入图片描述

http://www.lryc.cn/news/424787.html

相关文章:

  • 【Python学习-UI界面】PyQt5 小部件7-QSpinBox 计数器
  • [二次元]个人主页搭建
  • Spring Data JPA 自动创建时间的相关注解和用法
  • Java基础之隐式类型转换
  • 【数据结构与算法 | 图篇】Dijkstra算法(单源最短路径算法)
  • windows c转linux c要做的事情。
  • 【高等代数笔记】002.高等代数研究对象(二)
  • ubuntu服务器部署的mysql本地连不上的问题
  • python redis安装
  • YJ0043定制版抖音电商卷抢购系统带回收商城抖音电商优惠卷投资理财系统
  • 如何选择图片和视频
  • html+css网页制作 电商华为商城首页 ui还原度100%
  • EDAS(企业级应用服务)
  • 简单工厂,工厂方法 和 抽象工厂
  • python 压力测试脚本
  • 【Linux】多线程7——线程池
  • Linux Shell实例
  • Linux~MySQL数据库具体操作
  • Unity WebGL平台Hybrid Generate All报错undefined symbol sendfile
  • Java高级Day28-多线程
  • 0003 保险的会计要素及其计量属性
  • Swift版本控制的艺术:掌握代码演化的魔杖
  • 学习实战:生活垃圾自动识别与分类系统的实现
  • Swift模块化构建:解锁代码重用的金钥匙
  • 【计算机网络】CIDR无分类编址知识学习
  • JavaScript 详解
  • 运维实践01-安装OpenJDK
  • Windows下,C# 通过FastDDS高效通信
  • 【模型】ResNet
  • Objective-C中NSExpression与NSPredicate的协同艺术