监控工具prometheus配置-docker版
1、安装
直接创建一个docker-compose.yml
内容增加
networks:为了网络在同一个网段,方便通信,增加一个网段。
services:
prometheus:
安装docker镜像的信息配置。定义了镜像来源image,容器名称container_name,重点是吧prometheus.yml放入到容器内的卷映射,对外访问端口ports
grafana:
用于UI展示,能把prometheus中采集的信息用多种图形的方式展示。其官网有很多可以直接引用的模版。
grafana面板资源
https://grafana.com/grafana/dashboards
version: "3" # 网桥 -> 方便相互通讯 networks: prometheus: ipam: driver: default config: - subnet: "172.22.0.0/24" services: # 开源的系统监控和报警系统 prometheus: image: prom/prometheus:v2.34.0 container_name: prometheus restart: unless-stopped volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus" ports: - "9090:9090" depends_on: - node-exporter networks: prometheus: ipv4_address: 172.22.0.11 # 采集服务器层面的运行指标 node-exporter: image: prom/node-exporter:v1.3.1 container_name: prometheus-node-exporter restart: unless-stopped ports: - "9100:9100" networks: prometheus: ipv4_address: 172.22.0.22 # 用于UI展示 # https://grafana.com/docs/grafana/latest/installation/docker grafana: image: grafana/grafana:8.0.0 container_name: prometheus-grafana restart: unless-stopped ports: - "3000:3000" volumes: - "./prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini" # 邮箱配置 environment: GF_EXPLORE_ENABLED: "true" GF_SECURITY_ADMIN_PASSWORD: "admin" GF_INSTALL_PLUGINS: "grafana-clock-panel,grafana-simple-json-datasource,alexanderzobnin-zabbix-app" # 持久化到mysql数据库 GF_DATABASE_URL: "mysql://root:root@www.zhengqingya.com:3306/grafana" # TODO 修改 depends_on: - prometheus networks: prometheus: ipv4_address: 172.22.0.33
2、配置
配置需要监控的信息prometheus.yml
global: scrape_interval: 10s scrape_timeout: 10s evaluation_interval: 10m scrape_configs: # springboot项目 - job_name: spring-boot scrape_interval: 5s scrape_timeout: 5s metrics_path: /actuator/prometheus scheme: http basic_auth: username: admin password: 123456 static_configs: - targets: - 192.168.3.61:16000 # TODO 此处填写SpringBoot应用的IP+端口号 # prometheus - job_name: prometheus static_configs: - targets: ['prometheus:9090'] labels: instance: prometheus # 采集node exporter监控数据,即linux - job_name: linux static_configs: - targets: ['node-exporter:9100'] labels: instance: localhost
3、访问测试
访问prometheus,默认端口没有修改,以及我们的容器地址对外映射的端口是9000。
访问后,我们最关心的是,我们要监控的信息列表在哪里。
此时可以在这里路径下访问:Status---Target
访问地址
http://192.168.3.230:9090/
访问后,就是我们配置的监控列表信息。只有服务连接成功时,状态才是UP。
访问UI配置界面:http://IP:端口
http://192.168.3.230:3000/
进入主页后,信息如此。
此时我们首先需要做的事情是配置数据源。
数据源可以是多样的,目前我们信息数据来自prometheus,所以数据源选择这个。
添加数据,填写prometheus地址url
拉到最下方,选择save and test,如果出现如图的 data source is working 说明数据源添加成功
grafana看板配置:
选择导入模版,目前我们使用的模版是jvm模版
https://grafana.com/grafana/dashboards/4701-jvm-micrometer/
引入模版
加载成功后,选择数据源,最后点击import
点击import后,得到如下图信息。