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访问页面

相关推荐
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux
龙码精神4 天前
前端嵌入Grafana 报表的自定义方案:隐藏导航栏保留筛选工具
grafana
崔小汤呀4 天前
最全的docker安装笔记,包含CentOS和Ubuntu
linux·后端