目录
一、安装docker
二、下载prometheus和grafana、node-exporter镜像包
三、启动node-exporter
四、启动prometheus
五、安装cadvisor
六、启动grafana
1、安装
2、添加数据源
3、查看模版
4、导入官网模版
目前我使用这个
部署系统:Centos 7.2以上
# 关闭防火墙
service firewalld stop
# 不启用防火墙
systemctl disable firewalld
yum -y install docker
systemctl start docker
# 设置docker开机启动
systemctl enable docker
docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana
docker run -d -p --restart=always --name node 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
-v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone \
--net="host" \
prom/node-exporter
# -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone 我后加的 解决时区问题
等待几秒钟,查看端口9100是否起来了
netstat -anpt
# 浏览器访问
http://192.168.233.131:9100/metrics
编辑配置文件prometheus.yml
mkdir -p /opt/prom/{prometheus,prometheus/tsdb}
# 赋权限
chmod 777 -R /opt/prom/{prometheus,prometheus/tsdb}
cd /opt/prom/prometheus/
vim prometheus.yml
# 输入
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
- job_name: linux # 这个应该是监控node
static_configs:
- targets: ['192.168.91.132:9100']
labels:
instance: localhost
注意:修改IP地址,这里的192.168.91.132就是本机地址,监控node_exporter
#启动
docker run -d -p 9090:9090 --restart=always --name prometheus \
-u root \
-v /opt/prom/prometheus/tsdb:/etc/prometheus/tsdb \
-v /opt/prom/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone \
--privileged=true prom/prometheus \
--storage.tsdb.path=/etc/prometheus/tsdb \
--storage.tsdb.retention=7d \
--config.file=/etc/prometheus/prometheus.yml
# -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone 我后加的,解决时区问题
# 简单版本
docker run -d --restart=always --name prometheus\
-p 9090:9090 \
-v /opt/prom/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
查看端口9090是否启动起来
# 访问,我遇到了360兼容性模型打开不行,使用极速模式的
http://192.168.233.131:9090/graph
访问targets:
CAdvisor是谷歌开发的用于分析运行中容器的资源占用和性能指标的开源工具。CAdvisor是一个运行时的守护进程,负责收集、聚合、处理和输出运行中容器的信息。
# 注意端口,之前使用last镜像有问题,这次指定了版本
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:ro \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--volume=/dev/disk/:/dev/disk:ro \
-v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone \
--publish=8090:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:v0.24.1
# -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezoneo 我后加的解决时区问题
ip+端口 访问,数据能实时查询,但是不能存储,所有使用prometheus方式
# 在prometheus.yml加入配置文件
- job_name: docker
static_configs:
- targets: ['192.168.233.132:8090']
labels:
instance: docker
# 费了很大劲使用这个
docker run \
-d --name grafana -p 3000:3000 --restart=always \
-e "GF_SECURITY_ADMIN_PASSWORD=123456" \
--volume "grafana_data:/var/lib/grafana" \
-v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone \
grafana/grafana grafana
# -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone 我后加的
=====================以下部分不要看了==============
# 启动
docker run -d --restart=always \
-p 3000:3000 \
--name=grafana \
grafana/grafana
至此,基本安装完成,但是,考虑到一旦docker容器停止,其存储的数据就会丢失,因此还需要进行数据的持久化工作。
需要把容器内的/etc/grafana、/var/lib/grafana、/var/log/grafana三个目录挂载到宿主机上以确保数据不随容器的停止而消失。
# 新建文件存储数据
mkdir -p /opt/grafana/{conf,data,log}
在前述运行的grafana系统中,把上述三个目录内的文件和目录全部拷贝到宿主机中。
docker cp grafana:/etc/grafana/. /opt/grafana/conf
docker cp grafana:/var/lib/grafana/. /opt/grafana/data
docker cp grafana:/var/log/grafana/. /opt/grafana/log
修改宿主机新建目录的所有者为grafana(这一步很重要,若缺乏所有者权限配合,grafana页面在登录时就会出错,无法登录)
(1)宿主机新增用户grafana,并修改UID和GID都为472(因为容器内的运行用户也是grafana,且UID和GID都是472)
useradd grafana
vi /etc/passwd
vi /etc/group
修改grafana目录所有者为grafana
chown -R grafana:grafana /opt/grafana
cd /opt
ls -lhat
ls -lhat grafana
# 查看容器
docker ps -a
# 删除之前启动的grafana
docker stop grafana
docker rm grafana
# 启动
docker run -d --restart=always --name grafana -p 3000:3000 -v /opt/grafana/conf:/etc/grafana -v /opt/grafana/data:/var/lib/grafana -v /opt/grafana/log:/var/log/grafana grafana/grafana
=====================以上部分不要看了========
等待几秒钟,查看端口3000状态
# 访问
http://192.168.233.131:3000/
默认用户名admin 默认密码admin
选择prmetheus
配置地址
点击保存之后,再去开启模版
导入linux服务器监控9276
导入
这里还有:
推荐id:
nginx:193
linux:9276,8919
mysql:7362,12826,6239
cAdvisor: 8321
9276:我使用发现cpu等监控不行,做了一些修改,导出为json,可以使用json导入 点击下载地址
7362:做了一些修改,导出为json,可以使用json导入 点击下载地址
cAdvisor:做了修改,注意prometheusde的配yml配置文件 要是ip:端口方式。 instance: 192.168.233.132:8090 点击下载地址
通过自己画或者社区导入自己喜欢的仪表盘
Dashboards | Grafana Labs