在笔记本上docker测试node-exporter,prometheus,VictoriaMetrics,grafana的指标监控原型

算起来,差不多耗了今天一下午加晚上的时间,但,还是很值得的。好久不作,但作咨询有空了还是要多动手练练~

一,Virtualbox安装

这个Oracle Virtualbox在Win上的安排,以及在Centos虚拟机里安装docker这些简单操作,就不提啦,不然太长了。不过,如果以后真要写类似的step-by-step的书,倒可以慢慢道来。


2022-05-02 21_37_50-Oracle VM VirtualBox 管理器.png

二,Node-exporter安装运行

这个本来想用docker的,但我感觉还是直接安装合适,毕竟要采集机器上的指标。
在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。
从上面的描述中可以看出exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据(TS时间序列)即可。
这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。就需要用到node_exporter。

linux下载
https://github.com/prometheus/node_exporter/releases
windows下载
https://github.com/prometheus-community/windows_exporter/releases
当node-exporter运行起来之后,就可以通过http://xxxx:xx/metrics查看相关的指标了,这个好像也没有啥配置,就是下载下来,直接运行即可。

2022-05-02 21_34_24-MessageCenterUI.png

2022-05-02 21_20_57-MessageCenterUI.png

三,VictoriaMetrics单节点运行

要先运行这个VM存储,后面prometheus才好写配置文件。

VictoriaMetrics 是一个支持水平扩展的时序数据库,可以作为 Prometheus的远端存储,并且实现了 PromSQL,可以直接通过 VictoriaMetrics 查询时序数据,避开 Prometheus 查询时的单点瓶颈。
VM的docker单节点运行,极简单。
docker run -it --name vm -p 8428:8428 victoriametrics/victoria-metrics
运行之后,就可以通过8428端口访问。

2022-05-02 21_19_04-MessageCenterUI.png

四,Prometheus配置

docker运行prometheus,就是要改改配置文件,因为是极小原型,所以使用静态配置,存储远程写入的方式。
prometheus.yml文件内容,参照的朋友,记得改IP。

global:
  scrape_interval:     15s
  evaluation_interval: 15s
remote_write:
  - url: http://192.168.1.111:8428/api/v1/write
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['172.17.0.1:9090']
        labels:
          instance: prometheus
  - job_name: linux
    static_configs:
      - targets: ['192.168.1.111:9100']
  - job_name: windows
    static_configs:
      - targets: ['192.168.1.7:9182']
  - job_name: vm
    static_configs:
      - targets: ['192.168.1.111:8428']

docker启动命令
docker run -itd --name prometheus -p 9090:9090 -v /root/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /etc/localtime:/etc/localtime:ro prom/prometheus
启动完成,即可看到相关的target已启动完成。

2022-05-02 21_18_24-MessageCenterUI.png

五,Grafana配置及dashboard模板引入

grafana的重点,是看配置VM访问时的url
docker启动命令

docker run -d -p 3000:3000 --name=grafana grafana/grafana
VM存储与prometheus共享协议,配置如下:

2022-05-02 21_58_25-Prometheus_ Settings - Grafana.png

找到网上传说的两个dashboard模板ID配置进去,看看效果,现在这个ID可以在grafana里直接输入了。

  • 10467 监控物理机/虚拟机(windows)
  • 8919 物理机/虚拟机(Linux)监控


    2022-05-02 22_01_36-Import_ Import - Grafana.png

最后,看看效果

2022-05-02 21_20_05-MessageCenterUI.png

2022-05-02 21_19_31-MessageCenterUI.png

你可能感兴趣的:(在笔记本上docker测试node-exporter,prometheus,VictoriaMetrics,grafana的指标监控原型)