为什么要监控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 文件

新建Grafana目录:

mkdir Grafana

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

cd Grafana
nano docker-compose.yml

把下面的内容复制进 docker-compose 中:

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

把下面的内容复制进 promtheus 配置文件中:

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,然后登录

image-20220302092536271

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

image-20220302092732799

选择 Prometheus

image-20220302092838709

Promethues 的配置页面中,填入URL,http://localhost:9090 ,点击 Save and Test

image-20220302093016285

image-20220302093032813

点选 DashBoard 中的 Browse

image-20220302093111086

点击 Import

image-20220302093150687

输入面板编号 8919,点击 Import

image-20220302093223960

选择 Promethues数据库,点 Import

image-20220302093248807

大功告成,Enjoy ~
分类: 实用教程 标签: VPSGrafanaPrometheusNodeExporter监控教程

评论

暂无评论数据

暂无评论数据

目录