陕西省泰烜建设集团有限公司网站,上海今天死亡新闻,西安高新区网站建设,福田祥菱m2双排后双轮往期文章
Prometheus监控系统 https://blog.csdn.net/qq_39578545/article/details/108754585
Docker之compose介绍
使用一个Dockerfile模板文件可以定义一个单独的应用容器#xff0c;如果需要定义多个容器就需要服务编排。下面介绍Docker官方产品#xff0c;Docker Comp…往期文章
Prometheus监控系统 https://blog.csdn.net/qq_39578545/article/details/108754585
Docker之compose介绍
使用一个Dockerfile模板文件可以定义一个单独的应用容器如果需要定义多个容器就需要服务编排。下面介绍Docker官方产品Docker Compose。Dockerfile可以让用户管理一个单独的应用容器而compose则允许用户在一个模板yaml格式中定义一组相关联的应用容器被称为一个project即项目例如一个web服务再加上后端的数据库服务容器等。
docker-compose将所管理的容器分为三层 分别是工程project服务service以及容器containner
docker-compose运行目录下的所有文件docker-compose.yml文件、extends文件或环境变量等组成一个工程如无特殊指定工程名即为当前目录名。一个工程当中可以包含多个服务每个服务中定义了容器运行的镜像、参数、依赖。一个服务中可以包括多个容器实例docker-compose并没有解决负载均衡的问题。因此需要借助其他工具实现服务发现及负载均衡比如consul。 docker-compose的工程配置文件默认为docker-compose.yml。可以通过环境变量COMPOSE_FILE -f 参数自定义配置文件其自定义多个有依赖关系的服务及每个人服务运行的容器。简单来说就是来管理多个容器的定义启动顺序的合理编排方便管理。
Prometheus监控容器
需要一台docker 宿主机docker 容器安装prometheus服务
1.下载compose软件
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose2、授予可执行权限
[rootdocker1 ~]# chmod x /usr/local/bin/docker-compose
[rootdocker1 ~]# which docker-compose
/usr/local/bin/docker-compose
[rootdocker1 ~]# docker compose version
Docker Compose version v2.7.03、编辑prometheus的配置文件
[roottdocker1 ~]# mkdir /prom_docker
[roottdocker1 ~]# cd /prom_docker/
[roottdocker1 prom_docker]#
[rootdocker1 prom_docke]# vim prometheus.yml
[rootdocker1 prom_docker]# cat prometheus.yml
scrape_configs:
- job_name: cadvisorscrape_interval: 5sstatic_configs:- targets:- cadvisor:8080[rootdocker1 prom_docke]# vim docker-compose.yaml
[rootdocker1 prom_docker]# cat docker-compose.yml
version: 3.2
services:prometheus:image: prom/prometheus:latestcontainer_name: prometheusports:- 9090:9090command:- --config.file/etc/prometheus/prometheus.ymlvolumes:- ./prometheus.yml:/etc/prometheus/prometheus.yml:rodepends_on:- cadvisorcadvisor:image: gcr.io/cadvisor/cadvisor:latestcontainer_name: cadvisorports:- 8080:8080volumes:- /:/rootfs:ro- /var/run:/var/run:rw- /sys:/sys:ro- /var/lib/docker/:/var/lib/docker:rodepends_on:- redisredis:image: redis:latestcontainer_name: redisports:- 6379:6379cadvisor相当于node_exporter 4、下载cadvisor.tar镜像
docker pull gcr.io/cadvisor/cadvisor:latest 由于下载该镜像需访问谷歌因此国内无法成功下载有条件可以使用香港的服务器里去下载镜像或者通过其他途径获取该镜像
https://download.csdn.net/download/qq_39578545/87613018
iptables -F 真正删除规则需要重启机器 cAdvisor(需要监控的主机都要安装) 官方地址https://github.com/google/cadvisor CAdvisor是谷歌开发的用于分析运行中容器的资源占用和性能指标的开源工具。CAdvisor是一个运行时的守护进程负责收集、聚合、处理和输出运行中容器的信息。 docker监控也需要用一个exporter这个exporter就是cAdvisor类似zabbix的各种agent [rootlocalhost prom_docker]# pwd
/prom_docker
[rootlocalhost prom_docker]# ls
cadvisor.tar docker-compose.yml prometheus.ymldocker tag 68c29634fe49 gcr.io/cadvisor/cadvisor:latest5、使用docker compose启动容器
[rootdocker1 prom_docker]# docker compose up -d
[] Running 4/4⠿ Network prom_docker_default Created 0.3s⠿ Container redis Started 1.1s⠿ Container cadvisor Started 2.3s⠿ Container prometheus Started 3.5s
[rootdocker1 prom_docker]# docker compose ps
NAME COMMAND SERVICE STATUS PORTS
cadvisor /usr/bin/cadvisor -… cadvisor running (starting) 0.0.0.0:8080-8080/tcp, :::8080-8080/tcp
prometheus /bin/prometheus --c… prometheus running 0.0.0.0:9090-9090/tcp, :::9090-9090/tcp
redis docker-entrypoint.s… redis running 0.0.0.0:6379-6379/tcp, :::6379-6379/tcp如启动有问题注意检查配置文件的格式问题查看配置文件中各个端口本机是否已经占用等6、访问cadvisor和prometheus
8080 端口访问 cadvisor 9090 端口访问 prometheus http://192.168.48.129:8080
7、安装grafana 使用能显示docker容器的模板
[rootdocker1 prom_docker]# docker run -d -p 3001:3000 --name sc-grafana-1 grafana/grafana
Unable to find image grafana/grafana:latest locally
latest: Pulling from grafana/grafana
9621f1afde84: Pull complete
37c977d2b27c: Pull complete
c808de7a697e: Pull complete
86659f76fb09: Pull complete
747aee88ceca: Pull complete
99d875e11915: Pull complete
3fb2327ae1ed: Pull complete
ac9523800f50: Pull complete
e15e29cdce8f: Pull complete
Digest: sha256:980ff2697655a0aa5718e40bbda6ac52299d2f3b1584d0081152e2d0a4742078
Status: Downloaded newer image for grafana/grafana:latest
c4aae27eb48ce7be7add6af0d8073aed15c305de81ec94e788ebdfc529836353http://192.168.48.129:3001/
首次进入时需要输入用户名和密码皆为admin1、添加数据源 datasource
2、导入图标模板
https://grafana.com/grafana/dashboards
该网站有许多已经搭建好了的grafana模板每个模板都有一个id也可以下载成json文件scrape_configs:- job_name: cadvisorscrape_interval: 5sstatic_configs:- targets:- cadvisor:8080- job_name: prometheusstatic_configs:- targets: [127.0.0.1:9090]- job_name: job1static_configs:- targets: [192.168.48.129:9100]- job_name: job2static_configs:- targets: [192.168.48.129:6379]
Node_exporter
Node-exporter 可以采集机器物理机、虚拟机、云主机的监控指标数据能够采集到的指标包括cpu、内存、磁盘、网络、文件数等信息。
各种各样的exporter下载地址https://prometheus.io/download/ 1、下载安装
curl -O -L https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gz# 解压
tar -zxvf node_exporter-1.5.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-1.5.0.linux-amd64/ /usr/local/node_exporter-1.5.0
# 创建软连接
ln -s /usr/local/node_exporter-1.5.0/ /usr/local/node_exporter2、添加到系统服务
sudo tee /usr/lib/systemd/system/node_exporter.service EOF
[Unit]
DescriptionPrometheus node_exporter
[Service]
Usernobody
ExecStart/usr/local/node_exporter/node_exporter --log.levelerror
ExecStop/usr/bin/killall node_exporter
[Install]
WantedBydefault.target
EOF3、启动
# 启动
systemctl start node_exporter
# 查看服务状态
systemctl status node_exporter访问地址http://192.168.48.129:9100/metrics可以看到监控的指标信息4、配置Prometheus
global:scrape_interval: 5sevaluation_interval: 5sscrape_timeout: 5sscrape_configs:- job_name: prometheusstatic_configs:- targets: [localhost:9090]- job_name: linux-exportermetrics_path: /metricsstatic_configs:- targets: [localhost:9100]5、grafana DashBoard添加 https://grafana.com/grafana/dashboards/12884-1-node-exporter-for-prometheus-dashboard-cn-v20200628/ https://grafana.com/grafana/dashboards