简单Prometheus+node_exporter+Garfana,宝塔搭建同时监控多个linux主机平台

发布于 2022-10-30  109 次阅读


来张成品图先
74304-axwijhoyuet.png

前言

一直想知道有没有办法同时监控多个linux主机,搜了下主要用的就是这三个东西来做,先介绍一下把
官方安装教程:https://prometheus.io/docs/guides/node-exporter/#tarball-installation

  1. Prometheus:一个监控系统,集成在项目中可以对项目运行的一些情况进行监控,并将监控的数据存储在文件中,并可以通过自带的页面端查询到这些数据。
  2. node_exporter:一个监控系统,集成在服务器中,可以监控主机的运行状况,可以将node_exporter集成到Prometheus的管理端,通过Prometheus提供的页面查询到相应的数据。
  3. grafana:一个显示页面,比Prometheus自带的更好看,更形象,可以通过给grafana配置Prometheus的数据源,让grafana显示Prometheus的数据。当然除了Prometheus,它也支持其他的数据源

下载需要的文件

  • 首先下载Prometheus和node_exporter, 两个在同一个页面往下翻一下,下载地址:https://prometheus.io/download/
    下载完成后解压好(可以用命令行或者宝塔自带的)并将两个文件放到两个不同的文件夹,比如说/opt/prometheus 和 /opt/node_exporter, 确定两个命令文件分别在两个目录下面
  • 接下来我是用Docker安装的Garfana,方便省事,反正只是个显示数据的web
    docker run -d -p 3000:3000 grafana/grafana-enterprise

完成后可以访问3000端口看看能不能打开网页,账号密码默认都是admin,第一次进去会设置密码。

运行Prometheus和nodee-xporter并配置

其实运行的方式有很多,这里就不赘述了,我这里采用的是比较简单的,在宝塔的应用商店里面搜索“进程”,安装supervisor进程守护器,打开添加守护进程。这里要记得运行目录和启动命令一定要是绝对路径,这个是个坑

安装node-exporter,完成后打开ip://9100查看

18889-yrqk7ti1lj.png

安装prometheus,,完成后打开ip://9090查看

添加到进程守护,同理上面的,但是在启动命令要添加yml配置文件,记得也必须要绝对路径
/opt/prometheus --config.file=/opt/prometheus/prometheus.yml

添加Dashboard和添加Data Source

安装好了后端肯定要搞个漂亮的前端,打开grafana里面导入模板,设置里面添加配置的Prometheus Data来源,搞定。

添加别的机器

简单的方法就是一样的步骤添加个node-exporter,然后再Prometheus配置文件里面加入一行target,记得开放端口。例如

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: ['ip1ax.cf:9100']
        - targets: ['ip2ax.cf:9100']

其他的懒得写了哈哈

后记

很多功能没有介绍到,可以自己去玩玩
顺便找到一个添加openwrt的挺好玩的https://www.cloudrocket.at/posts/monitor-openwrt-nodes-with-prometheus/
TODO:预警配置

届ける言葉を今は育ててる
最后更新于 2022-10-30