docker 部署 prometheus+grafana

 

关闭防火墙和selinux

 

关闭防火墙

 

systemctl stop firewalld.service

 

systemctl disable firewalld.service

 

关闭selinux

 

setenforce 0 (临时生效)

 

sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config(永久生效)

 

 

 

# centos7 安装docker

# 安装依赖

yum install -y yum-utils device-mapper-persistent-data lvm2

 

#安装docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

 

# 设置开机启动

systemctl enable docker

 

 

# 下载Prometheus镜像

docker pull prom/prometheus

 

# 创建Prometheus容器

docker run -itd --name=docker_prometheus --restart=always -p 9090:9090 prom/prometheus

容器创建成功后,即可通过浏览器访问 http://prometheus机器ip:9090 查看

 

 

 

# 下载镜像

docker pull grafana/grafana

 

# 创建容器

docker run -itd --name=grafana --restart=always -p 3000:3000 -v $PWD/grafana-storage:/var/lib/grafana grafana/grafana

容器创建成功后,即可通过浏览器访问 http://grafana机器ip:3000,默认账号密码都是:admin

 

 

 

 

 

 

node_export

node_export是Prometheus的一个export,主要是用来收集服务器硬件资源使用情况的。所以这个往往会部署再被监控的服务器上。即:grafana、Prometheus会独立部署在一台机器上,node_export则被部署在被监控的服务器上,收集被监控的服务器资源数据,给Prometheus,然后再通过grafana展示出来。

node_export部署在被监控的服务器上,可以根据服务器的实际情况,选择直接安装,还是用docker安装。

 

 

 

服务器上直接安装node_export

首先,用浏览器访问:https://github.com/prometheus/node_exporter/releases 这里能获得node_export所有的发布版本,可以根据自己服务器的实际情况,选择要下载的包

下载包后,上传到被监控的服务器上,解压

进入解压文件夹,直接启动./node_exporter

服务器上用docker安装node_export

# 下载镜像

docker pull prom/node-exporter

 

 

# 创建容器

docker run -itd --name=node-exporter --restart=always -p 9100:9100  -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

node-exporter部署启动好了后,在服务器的防火墙上开放9100端口,则可以通过浏览器访问 http://服务器ip:9100/metrics 查看监控收集的数据

 

nodexporter20210108142141.png

 

 

 

配置Prometheus+node_exporter

prometheus本身没有数据收集功能,需要用node_exporter收集,他们俩之间如何连接在一起呢?这就要修改Prometheus的配置文件,这个文件在Prometheus容器的 /etc/prometheus/prometheus.yml

 

 

# 从Prometheus容器中拷贝配置文件到宿主机

docker cp docker_prometheus:/etc/prometheus/prometheus.yml $PWD

修改prometheus.yml文件

 

vim prometheus.yml

 

 

scrape_configs:

  - job_name: prometheus

    static_configs:

      - targets: ['localhost:9090']

        labels:

          instance: prometheus

 

  - job_name: linux

    static_configs:

      - targets: ['被监控的服务器ip:9100']

        labels:

          instance: localhost

注意 :yml文件的编辑,注意格式;想添加多个监控服务器时,可以在中括号中,用逗号分隔写多个

 

# 把修改后的Prometheus配置文件拷贝到容器中

docker cp $PWD/prometheus.yml docker_prometheus:/etc/prometheus/prometheus.yml

重启Prometheus容器

docker restart docker_prometheus

 

配置Grafana+Prometheus

现在,万事俱备,只欠东风了,只需要配置grafana+prometheus就能看到监控结果了。

 

用浏览器访问 http://grafana机器ip:3000 登录用户密码:admin

 

登录后,在首页,选择 "Add your first data source"

grafana20210108144721.png

选择 Prometheus,填写相关信息

grafana20210108145707.png

 

点击back按钮,回到首页

再点击 import

grafana20210108145855.png

 

grafana20210108150112.png

 

输入12884,点击 load

再页面底部,Prometheus数据库下拉框中,选择自己添加的数据源的名称,点击 import按钮,所有工作就都完成

昍 Node Exporter fo 「 Prometheus Dashboard CN -133 
Last 12 hours 
37 G 
可 以 选 ~ 
0 
27_9G 
18-668 
十 
477MiB 
3C 
C 2 0 一 5 分 Cmt: 0P20 
一 e 十 甩 1 -1 
內 存 C'-mt: 1-2 GiB 
一 e 「 , 11 引 
一 十 用 嶳 C—t: 6 
~ ℃ , , 451 & 甘 
一 资 源 细 : 【 93b53ag 1 】 
每 , 亅 亅 量 
【 93b53a3 1 】 • 各 分 区 可 用 空 间 ( / XFS ) 
0 
分 区 
亅 
可 用 司 
3 hour 
0.00 % L 
/dev/mapper/centos•root 
45 GiB 
42.0 & 8 
CPU 
余 : 尰 t. - 
/dev/mapper/centos•root 
45 GiB 
42.0 & 8 
23.6 Mil 
2 
c / | , 。 nf 
/dev/mapper/centos•root 
45 GiB 
42.0 & 8 
e 文 件 
2GiB 
183 , 518 
每 用 A 
477MiB 
1- kW8 
2 kb'8 
1-40k , 
12 80 0/S 
163 , 
151-49 
1324 】 b/' 
平 均 负 
• 10 MB's

 
 
posted @ 2022-07-20 17:02  牧羊人の冬天  阅读(884)  评论(0编辑  收藏  举报