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

Kylin Linux Advanced Server V10 离线安装 Prometheus + Grafana + node_exporter指南

离线安装 Prometheus + Grafana + InfluxDB 指南 (Kylin Linux Advanced Server V10)

最终结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

准备工作

  1. 在一台有互联网连接的机器上下载所有必要的安装包和依赖
  2. 准备一个USB驱动器或内部网络共享位置来传输文件
  3. 确保目标服务器有足够的资源运行这些服务

下载离线安装包

在有网络的机器上下载以下组件:

Prometheus

wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-arm64.tar.gz

Grafana

wget https://dl.grafana.com/oss/release/grafana-10.2.3.linux-arm64.tar.gz

InfluxDB

wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.4-linux-arm64.tar.gz

如果下载失败,也可以到此链接下载所有所需的工具:https://download.csdn.net/download/sunnygirltest/91149080

传输文件到目标服务器

将下载的tar.gz文件复制到目标服务器的/opt目录下:

cp *.tar.gz /opt/

安装步骤

1. 安装依赖

# 创建离线安装目录
mkdir -p /opt/monitoring
cd /opt/monitoring# 解压所有组件
tar -xzf /opt/prometheus-*.linux-arm64.tar.gz
tar -xzf /opt/grafana-*.linux-arm64.tar.gz
tar -xzf /opt/influxdb2-*-linux-arm64.tar.gz# 创建符号链接方便管理
ln -s prometheus-* prometheus
ln -s grafana-* grafana
ln -s influxdb2-* influxdb

2. 配置InfluxDB

# 创建数据目录
mkdir -p /var/lib/influxdb# 创建配置文件
cat > /opt/monitoring/influxdb/config.yml <<EOF
bolt-path: "/var/lib/influxdb/influxd.bolt"
engine-path: "/var/lib/influxdb/engine"
storage-cache-max-memory-size: 1073741824
EOF# 创建systemd服务
cat > /etc/systemd/system/influxdb.service <<EOF
[Unit]
Description=InfluxDB
After=network.target[Service]
User=root
Group=root
ExecStart=/opt/monitoring/influxdb/influxd --config /opt/monitoring/influxdb/config.yml
Restart=always[Install]
WantedBy=multi-user.target
EOF# 启动InfluxDB
systemctl daemon-reload
systemctl enable influxdb
systemctl start influxdb# 等待几秒让服务启动
sleep 10# 初始化InfluxDB (设置管理员用户和密码)
/opt/monitoring/influxdb/influx setup \--username admin \--password admin123 \--org myorg \--bucket mybucket \--token mytoken \--force

3. 配置Prometheus

# 创建数据目录
mkdir -p /var/lib/prometheus# 创建配置文件
cat > /opt/monitoring/prometheus/prometheus.yml <<EOF
global:scrape_interval: 15sevaluation_interval: 15sscrape_timeout: 10sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['192.168.1.126:9090']metrics_path: /metrics- job_name: 'influxdb'static_configs:- targets: ['192.168.1.126:8086']metrics_path: /metrics- job_name: 'node_exporter'static_configs:- targets: ['192.168.1.X1:9200']- targets: ['192.168.1.X2:9200']- targets: ['192.168.1.X3:9200']metrics_path: /metrics
EOF# 创建systemd服务
cat > /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus
After=network.target[Service]
User=root
Group=root
ExecStart=/opt/monitoring/prometheus/prometheus \--config.file=/opt/monitoring/prometheus/prometheus.yml \--storage.tsdb.path=/var/lib/prometheus \--web.console.templates=/opt/monitoring/prometheus/consoles \--web.console.libraries=/opt/monitoring/prometheus/console_libraries
Restart=always[Install]
WantedBy=multi-user.target
EOF# 启动Prometheus
systemctl daemon-reload
systemctl enable prometheus
systemctl start prometheus

4. 配置Grafana

# 创建数据目录
mkdir -p /var/lib/grafana# 创建systemd服务
cat > /etc/systemd/system/grafana.service <<EOF
[Unit]
Description=Grafana
After=network.target[Service]
User=root
Group=root
ExecStart=/opt/monitoring/grafana/bin/grafana-server \--homepath=/opt/monitoring/grafana \--config=/opt/monitoring/grafana/conf/defaults.ini \--packaging=tar \cfg:default.paths.logs=/var/log/grafana \cfg:default.paths.data=/var/lib/grafana \cfg:default.paths.plugins=/var/lib/grafana/plugins \cfg:default.paths.provisioning=/opt/monitoring/grafana/conf/provisioning
Restart=always[Install]
WantedBy=multi-user.target
EOF# 启动Grafana
systemctl daemon-reload
systemctl enable grafana
systemctl start grafana

验证安装

  1. 检查服务状态:
systemctl status influxdb prometheus grafana
  1. 访问服务:
    • Prometheus: http://服务器IP:9090
    • Grafana: http://服务器IP:3000 (默认用户名/密码: admin/admin)
    • InfluxDB: http://服务器IP:8086

配置Grafana数据源

  1. 登录Grafana (http://服务器IP:3000)
  2. 添加数据源:
    • 选择Prometheus
    • URL: http://localhost:9090
    • 保存并测试

防火墙配置(如果需要)

firewall-cmd --permanent --add-port=3000/tcp  # Grafana
firewall-cmd --permanent --add-port=9090/tcp  # Prometheus
firewall-cmd --permanent --add-port=8086/tcp  # InfluxDB
firewall-cmd --reload

注意事项

  1. 所有服务都以root用户运行,生产环境应考虑创建专用用户
  2. 密码和token在生产环境中应更改为更安全的选项
  3. 根据服务器资源情况调整配置参数
  4. 麒麟系统可能有特殊的安全限制,如遇到权限问题可能需要额外配置

希望这个指南能帮助您在麒麟系统上成功安装监控套件!

在 Kylin Linux Advanced Server V10 (aarch64架构) 上安装配置 node_exporter-1.9.1.linux-arm64.tar.gz 的完整步骤如下:


1. 下载 node_exporter

如果已有离线包,跳过此步。否则在有网络的机器下载:

wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-arm64.tar.gz

传输到目标服务器:

scp node_exporter-1.9.1.linux-arm64.tar.gz root@<目标服务器IP>:/opt/

2. 安装 node_exporter

解压并安装
cd /opt
tar -xzf node_exporter-1.9.1.linux-arm64.tar.gz
mv node_exporter-1.9.1.linux-arm64 /usr/local/node_exporter
ln -s /usr/local/node_exporter/node_exporter /usr/local/bin/node_exporter
创建系统用户(安全考虑)
useradd -rs /bin/false node_exporter
chown -R node_exporter:node_exporter /usr/local/node_exporter

3. 配置 systemd 服务

创建服务文件
cat > /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=Node Exporter
After=network.target[Service]
User=node_exporter
Group=node_exporter
ExecStart=/usr/local/bin/node_exporter/node_exporter \--web.listen-address=:9100 \--collector.systemd \--collector.processes \--collector.filesystem \--collector.cpu \--collector.meminfo
Restart=always[Install]
WantedBy=multi-user.target
EOF
重载并启动服务
systemctl daemon-reload
systemctl enable node_exporter
systemctl start node_exporter

4. 验证服务

检查服务状态
systemctl status node_exporter

正常输出应显示 active (running)

测试指标采集
curl http://localhost:9100/metrics

应返回大量以 node_ 开头的监控指标。


5. 配置 Prometheus 采集

编辑 Prometheus 配置文件 /opt/monitoring/prometheus/prometheus.yml,在 scrape_configs 部分添加:

- job_name: 'node_exporter'static_configs:- targets: ['localhost:9100']

重启 Prometheus:

systemctl restart prometheus

6. 防火墙放行(可选)

如果需要从外部访问:

firewall-cmd --permanent --add-port=9100/tcp
firewall-cmd --reload

7. 在 Grafana 中展示

  1. 访问 Grafana(http://<服务器IP>:3000
  2. 导入 Node Exporter 仪表盘
    • 点击 “+”“Import”
    • 输入仪表盘 ID 16098(当前比较使用的模板)
    • 选择 Prometheus 数据源

常见问题

问题 1:启动失败提示端口占用
netstat -tlnp | grep 9100

如果端口被占用,修改服务文件的 ExecStart 行,添加 --web.listen-address=:9101 换端口。

问题 2:麒麟系统权限问题

如果 SELinux 或安全模块拦截,尝试临时关闭:

setenforce 0  # 临时禁用 SELinux

或添加规则:

audit2allow -a -M node_exporter_policy
semodule -i node_exporter_policy.pp

卸载方法

systemctl stop node_exporter
systemctl disable node_exporter
rm -rf /usr/local/node_exporter /etc/systemd/system/node_exporter.service
userdel node_exporter
systemctl daemon-reload

通过以上步骤,node_exporter 会以安全的方式在 Kylin 系统上运行,并将主机监控数据提供给 Prometheus。

相关文章:

  • 可以用足球做的游戏视频网站知乎推广合作
  • php+mysql网站开发全程实例.pdf汽车seo是什么意思
  • 好的做淘宝详情页的网站有哪些内容广州快速排名
  • 河北做网站怎么推广销售
  • 网站设计包括学历提升
  • 中山小榄网站百度网址安全中心
  • 解决 tmux 中 Conda 环境不生效的问题(附自动继承配置)
  • Python虚拟环境管理:conda、venv、pipenv三国杀
  • LE AUDIO---Chapter 2. The Bluetooth® LE Audio architecture
  • 在 Logstash 中使用 Ruby 脚本
  • 使用redis服务的redisson架构实现分布式锁
  • Prompt:面向目标的提示词
  • Web 点播播放器如何加载缩略图?
  • SQL关键字三分钟入门:DELETE —— 删除数据
  • js 组装树形结构
  • Mac安装Apache CXF的时候报错:/Library/Internet: No such file or directory
  • Windows下Zookeeper客户端启动缓慢问题分析与解决方案
  • Python训练营-Day33
  • 在ASP.NET Core WebApi中使用标识框架(Identity)
  • 对象实例化内存布局与访问定位
  • spring项目启动sheel脚本
  • SpringBoot 数据库连接池与 ManticoreSearch 兼容性测试
  • 本地如何安装midscene.js运行环境
  • Liunx操作系统笔记2
  • 【AI论文】从跨领域视角重新审视强化学习在大型语言模型推理中的应用
  • 【实时Linux实战系列】基于实时Linux的音频处理应用开发