ubuntu promethus+grafana监控多台服务器

复制代码
apt install -y prometheus

apt install -y prometheus-node-exporter



sudo wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list

sudo apt-get update

sudo apt install -y grafana



systemctl status grafana-server

获取ip脚本

在 /etc/promethus/目录创建脚本node.sh

复制代码
#!/bin/bash

# 定义变量
TARGETS_DIR="/etc/prometheus/targets"  # Prometheus 配置文件目录
TARGETS_FILE="$TARGETS_DIR/node_targets.json"  # 目标文件路径
BASE_IP="10.10.11"  # IP地址段
START=22            # 起始IP
END=244             # 结束IP

# 创建目录(如果不存在)
mkdir -p $TARGETS_DIR

# 开始生成JSON数组
echo '[' > $TARGETS_FILE

# 循环生成所有IP地址
for i in $(seq $START $END); do
    # 如果是最后一个IP,不加逗号
    if [ $i -eq $END ]; then
        echo "  {\"targets\": [\"$BASE_IP.$i:9100\"], \"labels\": {}}" >> $TARGETS_FILE
    else
        echo "  {\"targets\": [\"$BASE_IP.$i:9100\"], \"labels\": {}}," >> $TARGETS_FILE
    fi
done

# 结束JSON数组
echo ']' >> $TARGETS_FILE

echo "Generated targets file: $TARGETS_FILE"
echo "Total targets: $(($END - $START + 1))"

vim /etc/promethus/prometheus.yml

复制代码
# Sample config for Prometheus.

global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

  # Attach these labels to any time series or alerts when communicating with
  # external systems (federation, remote storage, Alertmanager).
  external_labels:
      monitor: 'example'

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['localhost:9093']

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # Override the global default and scrape targets from this job every 5 seconds.
    scrape_interval: 5s
    scrape_timeout: 5s

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ['localhost:9090']

  - job_name: node
    # If prometheus-node-exporter is installed, grab stats about the local
    # machine by default.
    file_sd_configs:
      - files:
          - '/etc/prometheus/targets/node_targets.json'  
        refresh_interval: 5m

改garfana中文界面

复制代码
sed -i 's/default_language = en-US/default_language = zh-Hans/g' /usr/share/grafana/conf/defaults.ini

重启

复制代码
systemctl restart prometheus

systemctl restart  grafana-server.service

ip+3000访问页面

相关推荐
liuyukuan6 分钟前
如何在win11上打开 WSL2(Windows 的 Linux 子系统)?
linux·windows
橙子也要努力变强26 分钟前
Linux信号机制
linux·服务器·网络
shughui29 分钟前
FinalShell / Xshell 完整教程(下载+安装+使用,2026最新版)
linux·fiddler·xshell·xftp·finalshell·远程连接工具
程序猿编码42 分钟前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
pengyi8710151 小时前
私网IP映射公网基础原理,搭配代理IP远程访问入门
linux·服务器·网络
深圳市九鼎创展科技2 小时前
MT8883 vs RK3588 开发板全面对比:选型与场景落地指南
大数据·linux·人工智能·嵌入式硬件·ubuntu
闫利朋2 小时前
Ubuntu22.04桌面版安装Cubic2024版本并定制ISO完整教程
ubuntu·自动化的安装系统
RisunJan3 小时前
Linux命令-ngrep(方便的数据包匹配和显示工具)
linux·运维·服务器
.千余3 小时前
【Linux】基本指令3
linux·服务器·开发语言·学习
热爱Liunx的丘丘人3 小时前
Ansible-doc及常用模块
linux·运维·服务器·ansible