简介(废话)
此篇教程用处:性能测试、个人服务器监管
因个人对系统要求比较洁癖,所以这里不直接装在系统上面,而选择使用docker来管理
本人系统为ubuntu,属Debian系列,如果使用其他系列的系统,如RedHat,需自行替换部分命令,如apt替换为yum,文中不做过多说明
ubuntu如果是用的桌面版 部分命令需要加sudo运行 比如docker version 需自行改为 sudo docker version
Docker镜像及Grafana模板可以自行替换其他的 下方是官方地址
一、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(这里可以根据心情自行修改)然后运行
查看监控面板
没数据的请查看右上角显示数据时间及刷新时间是不是没有调整