3、在被监控端安装
**安装 exporter+docker+cAdvisor **
#下面操作都是被监控端进行 [root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 #上传yun仓库进行安装 [root@docker ~]# ll 总用量 8 -rw-------. 1 root root 1264 1月 12 2021 anaconda-ks.cfg drwxr-xr-x 3 root root 4096 8月 5 10:21 docker [root@docker ~]# vim /etc/yum.repos.d/centos.repo [aaa] name=aaa baseurl=file:///mnt enabled=1 gpgcheck=0 [docker] name=docker baseurl=file:///root/docker enabled=1 gpgcheck=0 #保存退出 [root@docker ~]# yum -y install docker-ce [root@docker ~]# mkdir -p /etc/docker/ [root@docker ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://w4uieobw.mirror.aliyuncs.com"] } #保存退出 [root@docker ~]# systemctl start docker [root@docker ~]# systemctl status docker
#安装exporter #上传软件包进行安装 [root@docker ~]# ll 总用量 7904 -rw-------. 1 root root 1264 1月 12 2021 anaconda-ks.cfg drwxr-xr-x 3 root root 4096 8月 5 10:21 docker -rw-r--r-- 1 root root 8083296 7月 10 16:51 node_exporter-0.18.1.linux-amd64.tar.gz [root@docker ~]# tar xf node_exporter-0.18.1.linux-amd64.tar.gz [root@docker ~]# mv node_exporter-0.18.1.linux-amd64 /usr/local/exporter [root@docker ~]# cd /usr/lib/systemd/system [root@docker system]# vim node_exporter.service [Unit] Description=node_exporter After=network.target [Service] User=prometheus Group=prometheus ExecStart=/usr/local/exporter/node_exporter --web.listen-address=:20001 --collector.systemd --collector.systemd.unit-whitelist=(sshd|nginx).service --collector.processes --collector.tcpstat [Install] WantedBy=multi-user.target #保存退出 [root@docker system]# systemctl daemon-reload [root@docker system]# useradd prometheus [root@docker system]# systemctl start node_exporter [root@docker system]# systemctl status node_exporter [root@docker system]# netstat -anpt | grep 20001 tcp6 0 0 :::20001 :::* LISTEN 16595/node_exporter [root@docker system]# systemctl enable node_exporter
使用浏览器进行访问测试,
#安装cadvisor [root@docker ~]# docker images #同样下载cadvisor镜像 REPOSITORY TAG IMAGE ID CREATED SIZE google/cadvisor latest eb1210707573 2 years ago 69.6MB [root@docker ~]# docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:rw \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=18104:8080\ --detach=true \ --name=cadvisor \ google/cadvisor:latest [root@docker ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b0719f301f48 google/cadvisor:latest "/usr/bin/cadvisor -…" 27 seconds ago Up 26 seconds 0.0.0.0:18104->8080/tcp cadvisor
使用浏览器进行访问测试
4、修改prometheus主配置文件
#在监控端修改配置文件 [root@prometheus ~]# cd /usr/local/prometheus/ [root@prometheus prometheus]# vim prometheus.yml 。。。。。。 28 static_configs: 29 - targets: ['localhost:9090'] 30 - job_name: 'node1' #增加一个监控节点的job 31 static_configs: 32 - targets: 33 - "192.168.100.208:20001" #节点的端口是20001 34 - job_name: 'docker' #增加两个监控容器的job 35 static_configs: 36 - targets: ['192.168.100.210:18104','192.168.100.208:18104'] #容器的两个端口是18104,在上面启动容器时指定的 37 remote_write: 38 - url: "http://localhost:8086/api/v1/prom/write?db=prometheus" 39 40 remote_read: 41 - url: "http://localhost:8086/api/v1/prom/read?db=prometheus" #保存退出 #重启prometheus [root@prometheus prometheus]# systemctl restart prometheus #重启 [root@prometheus prometheus]# systemctl status prometheus #查看状态
5、测试访问prometheus的web界面
6、使用Grafana来进行监控
- 1860模板监控节点
监控节点的界面
- 893模板是监控容器的
监控容器的界面