prometheus监控应用数据(二)
本文承接上篇文章prometheus监控应用数据(一)
。使用开源软件prometheus
对上篇文章中提及到的数据进行可视化监控。
-
本文使用docker进行prometheus的部署,准备以下两个文件,以及文件内内容如下所示:
-
.env
文件# Container Timezone 时区 TZ=Asia/Shanghai # Prometheus 镜像版本号,映射端口号, PROMETHEUS_WEB_PORT=9090
-
docker-compose.yml
文件version: '3.7' networks: demo: driver: bridge services: prometheus: image: prom/prometheus container_name: prometheus ports: - "${PROMETHEUS_WEB_PORT}:9090" environment: TZ: "${TZ}" volumes: # 挂载 prometheus 配置文件到容器中 - ./prometheus:/etc/prometheus/ - ./prometheus/prometheus.log:/etc/prometheus/prometheus.log command: # 指定 Prometheus 使用挂载的配置文件 - '--config.file=/etc/prometheus/prometheus.yml' # 指定 Prometheus 输出日志到挂载的文件夹中 - '--log.level=info' - '--log.format=logfmt'
-
-
在上面两个文件所在目录新建
prometheus
目录,在新建的目录下新建prometheus.log
与prometheus.yml
文件。其中prometheus.yml
文件中的内容如下配置:# my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. # - job_name: "prometheus" # # metrics_path defaults to '/metrics' # # scheme defaults to 'http'. # static_configs: # - targets: ["localhost:9090"] - job_name: "classInfo" static_configs: # 如果prometheus部署在docker环境中,应用程序部署在宿主机中, 就不要用localhost, 用localhost docker容器无法采集到宿主机 # 应用进程某端口上的数据 - targets: ["host.docker.internal:2112"]
-
在上面两个文件所在目录下执行命令
docker-compose -p classroom up -d
,构建prometheus
环境,并启动。前提是本机已经安装好docker
并已启动。 -
启动前一篇文章
prometheus监控应用数据(一)
中的程序TestPrometheus
,模拟业务过程。 -
浏览器中访问地址:
http://localhost:2112/metrics
, 可以看到被监控的业务数据,数据格式参见前一篇文章prometheus监控应用数据(一)
。 -
浏览器中访问地址:
http://localhost:9090/
来访问docker中部署的容器prometheus
,访问效果如下-
初始界面
-
点击
Add Panel
按钮,会出来一个面板,点击Execute
左边的按钮,会出来一个弹框,选择需要展示的监控指标,指标在前一篇文章prometheus监控应用数据(一)
中已经指定,分别是EveryStudentDetail
与StudentNumber
,选择好,点击按钮Execute
,即可展示对应指标的数据,如下所示:
-
-
至此,就完成了对使用prometheus采集业务数据的可视化监视