服务器监控搭建之Grafana+Prometheus+NodeExporter+InfluxDB(Docker篇)

简介(废话)

此篇教程用处:性能测试、个人服务器监管
因个人对系统要求比较洁癖,所以这里不直接装在系统上面,而选择使用docker来管理
本人系统为ubuntu,属Debian系列,如果使用其他系列的系统,如RedHat,需自行替换部分命令,如apt替换为yum,文中不做过多说明
ubuntu如果是用的桌面版 部分命令需要加sudo运行 比如docker version 需自行改为 sudo docker version

Docker镜像及Grafana模板可以自行替换其他的 下方是官方地址

Grafana模板仓
Docker仓

一、Docker安装及配置

# 安装curl命令 如果有不用安装
apt install curl
# 安装docker 
curl -sSL https://get.daocloud.io/docker | sh
# 验证 桌面版的ubuntu需要在最前面加上 sudo 
docker version
# 修改为国内源 部分linux的vi可能存在输入异常的问题,可以使用vim,需自行安装
vi /etc/docker/daemon.json
# 重新加载daemon
systemctl daemon-reload
# 重启docker
systemctl restart docker
#复制以下内容保存并退出:  复制后按esc键,输入冒号wq回车  
{
    "registry-mirrors": [
        "https://cr.console.aliyun.com"
    ]
}
# 验证 docker info
如下图表示成功

在这里插入图片描述

NodeExporter

# 安装
docker pull bitnami/node-exporter
# 运行
docker run -itd --name node-exporter -p 19100:9100 -v /etc/localtime:/etc/localtime bitnami/node-exporter

# 验证  
curl localhost:19100
# 出现<h1>Node Exporter</h1> 则成功

Prometheus

# 安装
docker pull ubuntu/prometheus
# 创建文件夹
mkdir /etc/docker/prometheus
# 编写配置文件 prometheus.yml
vim /etc/docker/prometheus/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"
    static_configs:
      - targets: ["prometheus的ip和端口号"]
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
  
  - job_name: "node"
    static_configs:
      - targets: ["node-exporter的ip和端口号"]
# 启动prometheus
docker run -itd --name prometheus -p 19090:9090 -v /etc/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml ubuntu/prometheus

InfluxDB

`因为1和2版本差异较大,这里选择1版本`
# 安装
docker pull influxdb:1.7.9
# 运行
docker run -itd --name influx -p 18086:8086 -v /etc/localtime:/etc/localtime influxdb:1.7.9
# 进入容器并创建库
docker exec -it influx /bin/bash
influx
# 出现>符号后 
creare database jmeter
# 验证
use jmeter
# 出现 Using database jmeter则完成   退出容器
exit 

Grafana 配置Prometheus

# 安装
docker pull grafana/grafana
# 运行
docker run -itd --name grafana -p 13000:3000 grafana/grafana
# 打开浏览器访问 ip:13000 账号密码均为admin 登录后重新设置密码,可以直接点skip跳过
# 操作步骤如图 设置->Data source -> Add data source

在这里插入图片描述
选择Prometheus
在这里插入图片描述
修改url ifconfig查看当前ip 端口为19090
点击最下方save
在这里插入图片描述
在这里插入图片描述

依次点击Dashboards-> Import -> 输入1860(也可以自行去grafana找其他模板)->点击后面的Load
在这里插入图片描述
下一个页面 最下面选择Prometheus 点Import 其他不用管
在这里插入图片描述

Grafana配置InfluxDB

添加datasource

和前面一样
在这里插入图片描述
选择InfluxDB
在这里插入图片描述
修改url和database并保存
在这里插入图片描述
出现下图则表示成功
在这里插入图片描述

添加模板

和之前一样依次点击Dashboards-> Import -> 输入5496(也可以自行去grafana找其他模板)->点击后面的Load

在这里插入图片描述
加载后在新页面如图,db选择influxdb,点击Import
在这里插入图片描述

验证

监控都在 Dashbiards里面
这里我们选择Jmeter
在这里插入图片描述
进入页面后,右上角有个刷新图标,后面的下拉框中选择 5s
打开Jmeter,新建线程并添加后端监听器
在这里插入图片描述
添加后修改后端监听器实现为第三个org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
将influxdbUrl值中的ip和端口改为你自己安装influxDB的ip及端口
在这里插入图片描述
新增http请求,填上node-exporter信息地址,根据自己的ip及端口修改
在这里插入图片描述

线程组中线程数改为10 循环次数10(这里可以根据心情自行修改)然后运行
在这里插入图片描述

查看监控面板

没数据的请查看右上角显示数据时间及刷新时间是不是没有调整
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值