Ubuntu20.04下部署linux资源监控平台(docker部署)grafana+prometheus+node_exporter(docker+离线包)

背景

性能测试的时候需要监控业务服务器的各指标,比如cpu、内存、带宽、网络等,所以搭建基于一套可视化的数据展示平台,方便直观的观察的系统的运行状态。
整体的架构如下:
在这里插入图片描述

一、Ubuntu安装docker,若已经安装跳过此步骤

通过官方的安装指令安装,地址:(https://docs.docker.com/engine/install/ubuntu/) 截图如下:

docker官方在Ubuntu上安装docker

如果网速较慢,我给指令摘抄下来了

卸载旧版本,卸载的非官方包如下
- docker.io
- docker-compose
- docker-compose-v2
- docker-doc
- podman-docker

1.运行以下命令卸载所有冲突的包:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

2.设置 Docker 的apt存储库。

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

3.安装 Docker 软件包(最新和指定版本选一)

3.1安装最新
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3.2安装具体版本

列出版本

# List the available versions:
apt-cache madison docker-ce | awk '{ print $3 }'

5:24.0.0-1~ubuntu.22.04~jammy
5:23.0.6-1~ubuntu.22.04~jammy
...

选择所需的版本并安装:

VERSION_STRING=5:24.0.0-1~ubuntu.22.04~jammy
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

4.验证docker是否安装成功

sudo docker run hello-world

或者查看docker版本

docker -v

二、安装node_exporter

1.离线包安装

下载地址:https://github.com/prometheus/node_exporter/releases
如果网络不好,我上传了资源,可以下载,地址:(https://download.csdn.net/download/deer_cui/88470117?spm=1001.2014.3001.5503
node_exporter下载地址
选择对应的版本下载,然后上传到linux目录下,解压运行
node_exporter
在这里插入图片描述
解压

tar zxvf  node_exporter.tar.gz 

后台运行

nohup ./node_exporter &

运行成功后,端口监听在9100端口,可以lsof -i :9100 或者ps 查看进程
在这里插入图片描述

2.docker安装

确保机器已经安装docker,然后按照以下步骤安装node_exporter

2.1拉取node_exporter镜像:
docker pull prom/node-exporter
2.2 运行node_exporter容器:
docker run --rm --name=node-exporter -p 9100:9100 -d prom/node-exporter

其中,–rm参数表示容器退出时自动删除容器,–name参数指定容器的名称,-p参数将容器内的9100端口映射到主机的9100端口,-d参数表示在后台运行容器。

三、安装prometheus

官方安装文档(https://prometheus.io/docs/prometheus/latest/installation/

3.1 拉取prometheus镜像

docker pull prom/prometheus

3.2 创建prometheus.yml配置文件

比如在home目录下创建一个prometheus文件夹,文件夹下创建prometheus.yml。
在这里插入图片描述

创建后编辑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"


scrape_configs: #指定prometheus要监控的目标
  - job_name: "server"
  #我本机刚装了node_exporter,这里监控的是本机,如果有其他机器可以填写其他的ip+端口,然后重启prometheus服务
    static_configs:
            - targets: ["192.192.100.72:9100"]

3.3 启动prometheus(不保存prometheus数据和保存prometheus数据)

3.3.1不保存数据启动

/path/to/prometheus.yml 是刚刚prometheus的路径,比如/home/prometheus
prom/prometheus 是拉取的镜像

docker run \
    -p 9090:9090 \
    -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus
3.3.2 保存Prometheus 数据启动

创建一个持久存储容器

docker volume create prometheus-data

然后指定持久容器启动

docker run \
    -p 9090:9090 \
    -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
    -v prometheus-data:/prometheus \
    prom/prometheus

四、安装grafana

官方安装文档:(https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/

4.1拉取grafana镜像

docker pull grafana/grafana-enterprise

4.2启动grafana

docker run -d -p 3000:3000 --name=grafana grafana/grafana-enterprise

此时你部署基本完成了,可以打开浏览器通过ip+3000端口访问,比如我不熟的linux虚拟机ip为192.168.1.145,那么我就访问192.168.1.145:3000 ,会跳转到grafana的登录界面,然后账号密码默认是admin,会让你修改自己的登录密码。

五、grafana配置数据源和模板

5.1配置数据源

grafana是可视化的项目,主要起到展示的作用,所展示的数据需要有数据源,这里我们刚刚安装了prometheus,那么选择数据源为Prometheus。

配置数据源步骤
5.1.1侧边栏选择datasources

选择数据

5.1.2add new data sources

在这里插入图片描述

5.1.3选择prometheus

在这里插入图片描述

5.1.4配置prometheus地址

在这里插入图片描述

5.1.5保存配置

在这里插入图片描述

5.2配置模板

配置好数据源以后,你的grafana就可以有数据来源了,但是为了更好看的展示,就需要一个美观的模板来展示,这个可以自定义,但是也可以用现成的。具体的模板都可以在grafana官网找到。地址(https://grafana.com/grafana/dashboards/)
在这里插入图片描述

这里我用一款用的比较多的监控node_exporter的资源的模板,id是 1860 效果如下:
在这里插入图片描述

配置模板的步骤
5.2.1选择仪表盘

在这里插入图片描述

5.2.2选择导入

在这里插入图片描述

5.2.3 输入id导入

在这里插入图片描述

5.2.4仪表盘查看效果

在这里插入图片描述
至此,已成艺术!你已经成功安装了,具体更多用法可以参考官方的文档,官方的文档一般都很详细。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值