来张成品图先
前言
一直想知道有没有办法同时监控多个linux主机,搜了下主要用的就是这三个东西来做,先介绍一下把
官方安装教程:https://prometheus.io/docs/guides/node-exporter/#tarball-installation
- Prometheus:一个监控系统,集成在项目中可以对项目运行的一些情况进行监控,并将监控的数据存储在文件中,并可以通过自带的页面端查询到这些数据。
- node_exporter:一个监控系统,集成在服务器中,可以监控主机的运行状况,可以将node_exporter集成到Prometheus的管理端,通过Prometheus提供的页面查询到相应的数据。
- 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查看
安装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:预警配置
Comments NOTHING