@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
我这边是监控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
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文件然后软链接到系统启动
chown -R nginx. prometheus #修改整个文件的属主
ln -s /apphome/module/prometheus/node_exporter.service /usr/lib/systemd/system/ #做软链接到系统
然后启动
启动后可以看到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就搭建完成了,prometheus只负责数据采集,Grafana用于图形化展示
docker拉取Grafana镜像
docker pull grafana/grafana #拉取镜像
docker run --name myGrafana -d -p 3000:3000 bc8c9ea553 #根据镜像id启动容器
容器启动成功之后,使用ip加3000端口在网页打开
默认账号密码是admin
输入之后首次登录会让你更改密码
登录之后选择数据源
然后选择Prometheus
然后输入Prometheus的url地址
然后点最下面sala
再到网上导入模板
登录https://grafana.com/grafana/dashboards 找到Prometheus的中文模板
然后复制模板代码
再到控制面板导入模板
导入之后面板就出来了
要看单台数据的话 直接在主机那选就可以了
这个控制面板还是比较容易操作的,至于报警模块后续再慢慢学习
dashboards模版id
7362 mysql
10467 监控物理机/虚拟机(windows)
8919 监控物理机/虚拟机(linux)
9614 nginx
12856 spring boot
process-exporte模块+249模板可监控单个名称进程服务的消耗