基建计划-grafana与prometheus实现仪表盘与监控

这是个特色图片?

鲁迅

家里云的稳定性总的来说还不错,但一直是个问题,有时候突然失联你也不知道是停电了还是山寨主板发力了

整体

先了解一下各个模块的分工

  1. prometheus(普罗米修斯):监控,系统监控和警报工具包,时间序列数据库,会定时自动抓取exporter的数据。
  2. node exporter:收集,prometheus的exporter其中之一,有不同的exporter可以监控各种服务,收集 *NIX 内核公开的硬件和操作系统指标
  3. grafana:展示,开源可视化分析软件,可集成 Prometheus 数据源,将 Node exporter 等收集的数据以多样图表、仪表盘形式直观展示系统运行状态等,还支持设置告警规则。

具体为:贴一张烂大街图

安装

安装prometheus

因为没什么依赖,所以直接从二进制包安装,也可以使用docker

打开网站https://prometheus.io/download/,下载prometheus软件压缩包(注意系统与版本),后面的node_exporter也在这下载

# 示例
wget https://github.com/prometheus/prometheus/releases/download/v3.0.0-rc.0/prometheus-<version>.linux-amd64.tar.gz
tar -xzf prometheus-<version>.linux-amd64.tar.gz
cd prometheus-<version>.linux-amd64.tar.gz

编辑目录中的prometheus.yml,具体去看相关文档

# my global config
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).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager: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"

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

    static_configs:
      - targets: ["localhost:9090"] 
  - job_name: "node"
    static_configs:
        # 被监控的节点
      - targets: ["localhost:9100","192.168.0.209:58776"] 

./prometheus 即可启动

部署node exproter

github

下载后./node_exporter即可,默认监听http://localhost:9100,./node_exporter –web.listen-address=:7100,监听7100端口

安装grafana

下载 grafana 二进制包:打开 grafana 网站(https://grafana.com/grafana/download),根据操作系统类型下载

wget https://dl.grafana.com/oss/release/grafana-<version>.linux-amd64.tar.gz
#解压
tar -zxvf grafana-<version>.linux-amd64.tar.gz
cd grafana-<version>.linux-amd64

启动 grafana:进入解压后的目录,./bin/grafana-server web启动,默认会监听在 http://localhost:3000 端口,你可以通过浏览器访问该地址来打开 grafana 的登录页面。首次登录时,默认用户名和密码通常为 admin 和 admin

设置中文

编辑解压后目录/conf/defaults.ini

将default_language修改为zh-Hans

default_language = zh-Hans

添加数据源&仪表盘

添加prometheus数据源

找一个别人做好的仪表盘模板,复制dashboard ID

在仪表盘>新建>倒入>从ID导入

OK。也可以自己根据prometheus的数据设计仪表盘,能看的参数很多,不过想用好grafana也还是要学的(′゜ω。‵),可以看成品仪表盘具体是怎么实现的

仅展示数据还是简单的

评论