@TODocker搭建Prometheus、Grafana的可视化监控C

首先安装docker-ce

参照网址:https://www.jianshu.com/p/f39b78ade03c

uname -r  查询内核版本要高于 3.10
yum remove docker docker-common docker-selinux docker-engine  #删除之前旧版本docker,如果是线上环境一定要注意之前的docker全部停掉才能删
yum install -y yum-utils device-mapper-persistent-data lvm2     #安装依赖包
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo   #下载yum源
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo  #把软件仓库地址替换为 TUNA:
yum makecache fast  # 清缓存
yum install docker-ce  # 安装docker-ce
systemctl start docker  #启动docker

docker启动成功后,开始安装Prometheus、Grafana
docker部署:https://prometheus.io/docs/prometheus/latest/installation/
使用docker拉取Prometheus镜像
docker pull prom/prometheus
编写prometheus配置文件(我这边是放在/apphome/module/prometheus路径下面)

vim /apphome/module/prometheus/prometheus.yml

prometheus监控部署docker prometheus怎么监控docker_centos

我这边是监控6台服务器,直接一个节点里面写6台服务器的ip就行,用逗号隔开,node的端口是默认的9100,后面会部署。很多文档里面是一个job里面写一台服务器的ip,那样也可以,只不过图形化页面呈现出来的时候,不太方便一次看所有服务器的状态。

现在在每台需要监控的服务器上安装node_exporter

登录网址https://github.com/prometheus/node_exporter/releases选择跟服务配置匹配的包

我用的是node_exporter-1.1.2.linux-amd64.tar.gz

prometheus监控部署docker prometheus怎么监控docker_docker_02

window系统的网址:https://github.com/prometheus-community/windows_exporter/releases
mysql的网址:https://github.com/prometheus/mysqld_exporter/releases

可以直接下载到自己电脑上 再放到每个主机,我是放在/apphome/module/prometheus路径下面

tar -zxf node_exporter-1.1.2.linux-amd64.tar.gz   #解压包
mv node_exporter-1.1.2.linux-amd64  node_exporter  #改个名字方便管理**

编写service文件然后软链接到系统启动

prometheus监控部署docker prometheus怎么监控docker_linux_03

chown -R nginx. prometheus #修改整个文件的属主
ln -s /apphome/module/prometheus/node_exporter.service  /usr/lib/systemd/system/    #做软链接到系统
然后启动

prometheus监控部署docker prometheus怎么监控docker_容器_04

启动后可以看到9100端口被监听

注意:如果是9100端口被占用了,则可以通过–web.listen-address=:9101来指定端口号启动

/apphome/module/prometheus/node_exporter/node_exporter   --web.listen-address=:9101
所有需要监控的服务器全部安装启动node_exporter
快速部署命令
mkdir /apphome/module/prometheus   && cd  /apphome/module/prometheus

rz 传入 node_exporter-1.1.2.linux-amd64.tar.gz  和  node_exporter.service

tar zxf node_exporter-1.1.2.linux-amd64.tar.gz  && rm node_exporter-1.1.2.linux-amd64.tar.gz
mv node_exporter-1.1.2.linux-amd64  node_exporter  && chown -R banke.   node_exporter
ln -s /apphome/module/prometheus/node_exporter.service  /usr/lib/systemd/system/

布置完之后,使用之前的prometheus镜像启动prometheus容器

docker run -d -p 9090:9090 -v /apphome/module/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml  --name myPrometheus 86ea6f86fc57

镜像启动之后,直接ip加9090端口就可以打开prometheus的管理网页了
在输入框 输入 up 然后执行就可以看到节点信息,右边1显示正常 0显示异常

prometheus监控部署docker prometheus怎么监控docker_docker_05

到这里prometheus就搭建完成了,prometheus只负责数据采集,Grafana用于图形化展示

docker拉取Grafana镜像
docker pull grafana/grafana   #拉取镜像
docker run --name myGrafana  -d -p 3000:3000   bc8c9ea553  #根据镜像id启动容器

容器启动成功之后,使用ip加3000端口在网页打开
默认账号密码是admin
输入之后首次登录会让你更改密码

prometheus监控部署docker prometheus怎么监控docker_docker_06

登录之后选择数据源

prometheus监控部署docker prometheus怎么监控docker_linux_07

然后选择Prometheus

prometheus监控部署docker prometheus怎么监控docker_centos_08

然后输入Prometheus的url地址

prometheus监控部署docker prometheus怎么监控docker_mysql_09

然后点最下面sala
再到网上导入模板
登录https://grafana.com/grafana/dashboards 找到Prometheus的中文模板
然后复制模板代码

prometheus监控部署docker prometheus怎么监控docker_centos_10

prometheus监控部署docker prometheus怎么监控docker_centos_11

再到控制面板导入模板

prometheus监控部署docker prometheus怎么监控docker_centos_12


prometheus监控部署docker prometheus怎么监控docker_linux_13


prometheus监控部署docker prometheus怎么监控docker_mysql_14

导入之后面板就出来了

prometheus监控部署docker prometheus怎么监控docker_docker_15

要看单台数据的话 直接在主机那选就可以了
这个控制面板还是比较容易操作的,至于报警模块后续再慢慢学习
dashboards模版id
7362 mysql
10467 监控物理机/虚拟机(windows)
8919 监控物理机/虚拟机(linux)
9614 nginx
12856 spring boot

process-exporte模块+249模板可监控单个名称进程服务的消耗