开源监控黄金组合Grafana+Prometheus+NodeExporter监控VPS服务器

为什么要监控VPS服务器

掌握服务器的运行状态,保障在用服务的正常运行

监控服务器的方案

用过的服务器监控方案有:

  • Nezha,特点:实时监控服务器试试运行状态,部署容易,有报警消息推送,有主题,可以css定制主题
  • Uptime Kuma,特点:监控服务器试试运行状态,部署简单,有消息推送,主题简洁大气
  • Grafana+Prometheus/Zabbix:广泛应用于各类生产环境,插件丰富多样,出了监控服务器状态外,还可以监控如Docker,K8s,网络等内容。直接在Linux下部署稍显麻烦,最近研究了Docker部署方式,可一键部署,遂献给大家。

Grafana+Prometheus+NodeExporter部署步骤

部署Docker和Docker-Compose环境:

Docker部署

curl -sSL https://get.daocloud.io/docker | sh
systemctl start docker
systemctl enable docker

Docker-Compose部署

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试部署是否成功

 

docker-compose --version

编辑Docker-Compose文件

新建Grafana目录:

mkdir Grafana

进入Grafana目录,在目录下新建docker-compose.yml文件:

cd Grafana
nano docker-compose.yml

文件内容:

version: '3.3'


services:

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    depends_on:
      - renderer
      - prometheus
    ports:
      - 3000:3000
    environment:
      GF_RENDERING_SERVER_URL: http://renderer:8081/render
      GF_RENDERING_CALLBACK_URL: http://grafana:3000/
      GF_LOG_FILTERS: rendering:debug
    volumes:
      - ./data/grafana/grafana_data:/var/lib/grafana
  renderer:
    image: grafana/grafana-image-renderer:latest
    ports:
      - 8081
  node_exporter:
    image: quay.io/prometheus/node-exporter:latest
    container_name: node_exporter
    hostname: node_exporter
    command:
      - '--path.rootfs=/host'
    network_mode: host
    pid: host
    restart: unless-stopped
    volumes:
      - '/:/host:ro,rslave'
  prometheus:
    image: prom/prometheus:v2.26.0
    restart: always
    container_name:  prometheus
    hostname:  prometheus
    ports:
      - 9090:9090
    volumes:
      - ./data/prometheus/conf/prometheus.yml:/etc/prometheus/prometheus.yml
    command: --config.file=/etc/prometheus/prometheus.yml

新建grafana数据目录并修改权限:

mkdir -p data/grafana/grafana_data && chmod 777 data/grafana/grafana_data

新建promtheus的配置文件,并编辑内容:

mkdir -p data/prometheus/conf && nano data/prometheus/conf/prometheus.yml

填入内容:

global:
  scrape_interval: 5s # pull metrics interval

scrape_configs:
  - job_name: 'node_http'
    static_configs:
            - targets: ["127.0.0.1:9100"]

 

启动docker-compose:

docker-compose up -d
登录界面:

  • 【prometheus】http://服务器IP:9090
  • 【grafana】http://服务器IP:3000

加载监控图形界面:

输入网址 http://服务器IP:3000 ,用户名admin 密码admin,登录

修改密码,确定

配置数据库:选择Configuration->datasource

Add DataSource

选择Prometheus

在Promethues的配置页面中,填入URL, http://localhost:9090,点击save and test

点选DashBoard中的Browse

点击import

输入面板编号 8919,点击Import

选择Promethues数据库,点Import

大功告成,可看到监控数据

 

提示,如果监控面板上看不到数据,可以检查Prometheus是否和NodeExporter正常连接

THE END
分享
二维码
海报
开源监控黄金组合Grafana+Prometheus+NodeExporter监控VPS服务器
为什么要监控VPS服务器 掌握服务器的运行状态,保障在用服务的正常运行 监控服务器的方案 用过的服务器监控方案有: Nezha,特点:实时监控服务器试试运行状……
<<上一篇
下一篇>>