prometheus+grafana手动部署节点监控

1 prometheus监控部署图

通常情况下一个完整的服务器监控系统,由三部分组成,分别为:

  1. 仪表盘服务:通常是grafna或者kibana这类专用开源仪表盘系统完成;
  2. 主监控服务:代表是prometheus,通过yaml进行采集节点配置之后,可以采集各种类型的数据,包括虚拟机状态、jvm状态、数据库状态等等,同时prometheus通过时间序列数据库存储,可以保存很长一段时间的监控数据。
  3. 采集服务:prometheus系列的监控系统,通常自带了较多的exporter,例如服务服务器基本信息采集的node_eporter、负责数据库状态采集mysqld_exporter,当然也可以通过prometheus提供的官方接口的案例,完成不同语言的采集模块设计,包括java、python、go等的各种直方图、计数器等类型的设计。

如下图所示是一个服务器节点监控系统的常用架构:

image-20200517121929174

根据上图分析,本文提供了三个服务下载的常用链接:

image-20200514112246224

01-grafana下载链接

02-下载prometheus以及node_exporter链接

2 prometheus启动及设置

prometheus的tar包,解压后会生成一个prometheus.yml的配置文件,这里通过编辑yml文件,可以将待监控节点信息填入其中:

如下图所示是修改监控中的采样周期,默认是15s一次,这里将间隔时间改为了5s触发一次查询;

image-20200514115739272

如下图所示,是配置一个监控节点的基本配置,每新增一个节点,只需要监控服务中加入简单的job即可,设置jobname以及目标采样node程序对外暴露的地址及端口。

image-20200514111650302

正常启动一个prometheus的程序,非常简单只需要./prometheus即可,但是为了方便起见,这里使用了nohup进行启动,并将运行日志重定向到了文件:

#!/usr/bin/env bash
dir_path=/root/01-tools/prometheus-2.17.1.linux-amd64
set -x
cd $dir_path
nohup ./prometheus 1>ding.log 2>&1 &
set +x
echo "start prometheus ok!"

启动prometheus后,可以简单查看并检查进程信息:

image-20200514111908511

3 采样节点node启动

负责服务器基本情况采集的服务运行同样较为简单,打开解压后的node_exporter,使用./node_exporter启动即可,或者如下图所示使用nohup启动,默认情况下采样服务的对外提供端口(也就是对prometheus提供的服务端口)是9000;

具体演示如下所示:

image-20200514112552122

image-20200514112638114

当然使用容器poll拉取镜像的方式也非常方便,这里可以根据用户的需求灵活选择;

4 grafana基本使用

grafana是一个开源仪表盘项目,可以灵活添加各种仪表盘web ui,这里并没有使用自行开发的,而是借助grafana生态成熟的仪表盘配置,具体下载位置如下链接所示:

01-grafana开源仪表盘下载链接

02-节点监控配置文件链接-8919

image-20200517123711284

使用yum或者rpm安装grafana后,直接按照导航需求,添加数据源以及仪表盘,数据源直接选择prometheus,如果grafana与protheus安装在一个宿主机,直接使用127.0.0.1:9090即可。

至于添加仪表盘,则可以根据上述网络连接,谢谢指定id导入模板,或者使用直接json导入的方式,具体操作过程可以自行熟悉。

image-20200514112939462

导入仪表盘:

image-20200514115012855

导入指定的仪表盘json配置文件:

image-20200514115130510

如下图所示是一个导入的仪表盘显示:

image-20200514115211021

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章