Docker实战-部署GPE微服务的监控体系(二)
前言
上篇文章;我们介绍了GPE体系中,grafana的部署和安装(《Docker实战-部署GPE微服务的监控体系》),今天这个文章,我们继续介绍GPE体系中,Prometheus和Exporter的安装及部署,而且将Prometheus和Exporter集成在一起;
安装Promethus
获取镜像
root@boot2docker:~# docker image pull prom/prometheus
Using default tag: latest
latest: Pulling from prom/prometheus
3cb635b06aa2: Pull plete
34f699df6fe0: Pull plete
33d6c9635e0f: Pull plete
f2af7323bed8: Pull plete
c16675a6a294: Pull plete
827843f6afe6: Pull plete
3d272942eeaf: Pull plete
7e785cfa34da: Pull plete
05e324559e3b: Pull plete
170620261a59: Pull plete
ec35f5996032: Pull plete
5509173eb708: Pull plete
Digest: sha256:cb9817249c346d6cfadebe383ed3b3cd4c540f623db40c4ca00da2ada45259bb
Status: Donloaded neer image for
查看镜像
[root@izz9g3javh5eeean08tbtz ~]# docker image ls | grep prometheus
prom/prometheus latest a3d385fc29f9 8 months ago 201MB
创建数据卷
[root@izz9g3javh5eeean08tbtz ~]#mkdir -p /volume/prometheus
配置prometheus.yaml
[root@izz9g3javh5eeean08tbtz ~]# vi /volume/prometheus/prometheus.yaml
global: scrape_interval: 10s evaluation_interval: 10s scrape_timeout: 10s scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] labels: type: prometheus group: default
启动Prometheus
[root@izz9g3javh5eeean08tbtz ~]# docker run -d -p 3001:9090 --name=prometheus -v /volume/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml prom/prometheus
查看日志
[root@izz9g3javh5eeean08tbtz ~]# docker container logs prometheus -f
ts=2022-01-19T05:56:49.577Z caller=main.go:478 level=info msg="No time or size retention as set so using the default time retention" duration=15d ts=2022-01-19T05:56:49.577Z caller=main.go:515 level=info msg="Starting Prometheus" version="(version=2.32.1, branch=HEAD, revision=41f1a8125e664985dd30674e5bdf6b683eff5d32)" ts=2022-01-19T05:56:49.577Z caller=main.go:520 level=info build_context="(go=go1.17.5, user=root@54b6dbd48b97, date=20211217-22:08:06)" ts=2022-01-19T05:56:49.577Z caller=main.go:521 level=info host_details="(Linux 3.10.0-693.2.2.el7.x86_64 #1 SMP Tue Sep 12 22:26:13 UTC 2017 x86_64 015fbd6dac64 (none))" ts=2022-01-19T05:56:49.577Z caller=main.go:522 level=info fd_limits="(soft=1048576, hard=1048576)" ts=2022-01-19T05:56:49.577Z caller=main.go:523 level=info vm_limits="(soft=unlimited, hard=unlimited)" ts=2022-01-19T05:56:49.579Z caller=eb.go:570 level=info ponent=eb msg="Start listening for connections" address=0.0.0.0:9090 ts=2022-01-19T05:56:49.579Z caller=main.go:924 level=info msg="Starting TSDB ..." ts=2022-01-19T05:56:49.580Z caller=tls_config.go:195 level=info ponent=eb msg="TLS is disabled." http2=false ts=2022-01-19T05:56:49.584Z caller=head.go:488 level=info ponent=tsdb msg="Replaying on-disk memory mappable chunks if any" ts=2022-01-19T05:56:49.584Z caller=head.go:522 level=info ponent=tsdb msg="On-disk memory mappable chunks replay pleted" duration=5.129µs ts=2022-01-19T05:56:49.584Z caller=head.go:528 level=info ponent=tsdb msg="Replaying WAL, this may take a hile" ts=2022-01-19T05:56:49.584Z caller=head.go:599 level=info ponent=tsdb msg="WAL segment loaded" segment=0 maxSegment=0 ts=2022-01-19T05:56:49.584Z caller=head.go:605 level=info ponent=tsdb msg="WAL replay pleted" checkpoint_replay_duration=27.991µs al_replay_duration=178.868µs total_replay_duration=227.167µs ts=2022-01-19T05:56:49.586Z caller=main.go:945 level=info fs_type=EXT4_SUPER_MAGIC ts=2022-01-19T05:56:49.586Z caller=main.go:948 level=info msg="TSDB started" ts=2022-01-19T05:56:49.586Z caller=main.go:1129 level=info msg="Loading configuration file" filename=/etc/prometheus/prometheus.yml ts=2022-01-19T05:56:49.586Z caller=main.go:1166 level=info msg="Completed loading of configuration file" filename=/etc/prometheus/prometheus.yml totalDuration=522.203µs db_storage=660ns remote_storage=2.649µs eb_handler=247ns query_engine=714ns scrape=224.952µs scrape_sd=35.726µs notify=766ns notify_sd=1.601µs rules=2.568µs ts=2022-01-19T05:56:49.586Z caller=main.go:897 level=info msg="Server is ready to receive eb requests."
访问Prometheus
打开浏览器,在地址栏输入http://192.168.56.101:3001/targets
出现上面界面,表示已经成功;在prometheus.yaml里我们只配置了一个exporter,所以这里只出现一个Endpoint; 下面我们会使用docker安装一个cAdvisor。
安装cAdvisor
cAdvisor是个用来监控docker环境的工具,cAdvisor提供了支持Prometheus的exporter。 通过cAdvisor,prometheus就可以获取到docker的监控数据
获取镜像
root@boot2docker:~# docker image pull google/cadvisor
Using default tag: latest
latest: Pulling from google/cadvisor
Digest: sha256:815386ebbe9a3490f38785ab11bda34ec8dacf4634af77b8912832d4f85dca04
Status: Image is up to date for google/cadvisor:latest
docker.io/google/cadvisor:latest
查看镜像
root@boot2docker:~# docker image ls | grep google/cadvisor
google/cadvisor latest eb1210707573 3 years ago 69.6MB
启动cAdvisor
root@boot2docker:~# docker run
--volume=/:/rootfs:ro
--volume=/var/run:/var/run:r
--volume=/sys:/sys:ro
--volume=/var/lib/docker/:/var/lib/docker:ro
--volume=/dev/disk/:/dev/disk:ro
--publish=8080:8080
--detach=true
--name=cadvisor
google/cadvisor:latest
访问CAdvisor
打开浏览器,地址栏输入http://192.168.56.101:8080;
出现上面界面,表示已经成功; 可以访问http://192.168.56.101:8080/metrics;这是cAdvisor提供的exporter的URL;
至此,cAvisor安装成功, 在Prometheus里使用这个URL来配置endpoint,prometheus就会定期访问这个URL,获取到这些数据后,保存在Prometheus的TSDB里。
Promethues配置cAvisor的endpoint
修改prometheus.yaml文件
global: scrape_interval: 10s evaluation_interval: 10s scrape_timeout: 10s scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] labels: type: prometheus group: default - job_name: cAvisor static_configs: - targets: ['192.168.56.101:8080'] labels: type: docker group: group01
重启Prometheus
root@boot2docker:~# docker container restart prometheus
访问promethues;出现新增加的endpoint
空调维修
- 海信电视维修站 海信电视维修站点
- 格兰仕空调售后电话 格兰仕空调维修售后服务电
- 家电售后服务 家电售后服务流程
- 华扬太阳能维修 华扬太阳能维修收费标准表
- 三菱电机空调维修 三菱电机空调维修费用高吗
- 美的燃气灶维修 美的燃气灶维修收费标准明细
- 科龙空调售后服务 科龙空调售后服务网点
- 华帝热水器维修 华帝热水器维修常见故障
- 康泉热水器维修 康泉热水器维修故障
- 华凌冰箱维修电话 华凌冰箱维修点电话
- 海尔维修站 海尔维修站点地址在哪里
- 北京海信空调维修 北京海信空调售后服务
- 科龙空调维修 科龙空调维修故障
- 皇明太阳能售后 皇明太阳能售后维修点
- 海信冰箱售后服务 海信冰箱售后服务热线电话
- 海尔热水器服务热线