MeterSphere 监控方案

news2025/1/23 12:08:16

前言:在部署MeterSphere之后,很多时候需要看下MeterSphere服务的监控信息,虽然有监控告警脚本,但还不是太直观,所以就结合 Prometheus+Exporter+Grafana 部署一套完整的MeterSphere监控方案。

首先我们先罗列一下需要监控的容器:

  1. 服务器的信息或node节点:Node-Exporter
  2. 应用服务的监控(例如api-test,test-track):SpringBoot 自带的 Actuator
  3. MySQL: Mysql-Exporter
  4. Kafka: Kafka-Exporter
  5. 服务器上所有容器的信息:cAdvisor

需要声明的是,此文章建立在有技术背景,并且了解 Prometheus、Exporter、Grafana 等组件有什么作用,如果需要了解具体工作原理,可以自行查阅资料。

文章结尾有完整的 docker-compose 的 yml 文件,可以直接复制完整文件进行安装。

一、使用 Grafana 集成 Node-Exporter 监控服务器资源信息

MeterSphere 安装部署完整之后,自带了 Prometheus 和 Node-Exporter 组件,所以我们只需要简单的配置安装部署 Grafana,就可以进行监控了。
Node-Exporter 可以监控服务器资源的 CPU、内存、磁盘、网络IO等信息。
详细信息可参考:https://blog.csdn.net/qq_34556414/article/details/123443187

1.1、确认Node-Exporter是否正常

  1. 首先,要确认 Prometheus 是否能够获取到服务器的监控数据, Prometheus 端口默认为9090,安装部署 MeterSphere 好之后,直接访问 http://192.168.xx.xx:9090 即可查看 Prometheus 页面。(如果出现访问不了,检查防火墙是否关闭,端口是否对外暴露)
  2. 查看 Targets 可以看到有9100端口的地址,Node-Exporter 默认监听端口为9100,如果状态为up,即为正常,代表可以查看到监控数据。

image.png
image.png
image.png

1.2、安装Grafana

本文章是通过 Docker 的方式进行安装。
注意,本次安装grafana版本为9.4.3版本,如果安装新版本,自行摸索如何操作。

  1. 在 /opt/metersphere/data/ 下面创建 grafana 文件目录。
cd /opt/metersphere/data/
mkdir grafana
chmod 777 grafana
  1. 在 /opt/metersphere 目录下,创建并编辑 docker-compose-grafana.yml,内容如下。(注意:如果是内网部署,需要在能访问互联网的机器上下载镜像,再进行上传。)
version: "2.1"
services:
  grafana:
    image: grafana/grafana:9.4.3
    restart: always
    container_name: grafana
    volumes:
      - ms-grafana-data:/var/lib/grafana
    ports:
      - 3000:3000
    healthcheck:
      test: ["CMD", "nc", "-zv", "localhost", "3000"]
      interval: 6s
      timeout: 5s
      retries: 50
    networks:
      - ms-network

volumes:
  ms-grafana-data:
    driver_opts:
      type: none
      device: ${MS_BASE}/metersphere/data/grafana
      o: bind
  1. 执行命令启动 Grafana
docker-compose -f docker-compose-base.yml -f docker-compose-grafana.yml  up -d
  1. Grafana 默认端口是3000,所以我们直接访问 http://192.168.xx.xx:3000 ,默认账号密码:admin/admin ,初次登录可以修改密码。

image.png

  1. 能够访问页面,即为安装成功

1.3、添加 Prometheus 数据源

  1. 登录 Grafana 之后,找到左下角小齿轮,然后找到 Data source,点击右上角新加数据源,选择Prometheus。

image.png
image.png

  1. 设置名字和 Prometheus 地址,点击 Save 保存。

image.png
image.png

1.4、配置 Grafana 监控面板

这边介绍两种方式去配置面板

1.4.1、如果可以访问互联网的话,直接导入模板id即可。

  1. 找到 Dashboard ,点击 Import

image.png

  1. 这里我们选择的模板为:12227,直接输入这个id,点击Load,设置模板名称,配置数据源,保存即可。

image.png
image.png

1.4.2、如果访问不了互联网,可以直接导入面板的 JSON 文件。

12227_rev1.json
https://grafana.com/grafana/dashboards/12227

  1. 同样的操作,导入 JSON 文件

image.png

  1. 选择数据源即可

image.png
以上两种方式最终得到的结果如下, 至此,Node-Exporter 监控已完成
image.png

二、使用 Grafana 集成 SpringBoot Actuator 监控容器应用信息

MeterSphere V2 版本之后,默认集成了 SpringBoot Actuator 监控,所以我们只需要添加配置,开启监控即可。

2.1 什么是 SpringBoot Actuator

Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理 Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。
因为暴露内部信息的特性,Actuator 也可以和一些外部的应用监控系统整合(Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等)。这些监控系统提供了出色的仪表板,图形,分析和警报,可帮助你通过一个统一友好的界面,监视和管理你的应用程序。
Actuator使用Micrometer与这些外部应用程序监视系统集成。这样一来,只需很少的配置即可轻松集成外部的监控系统。

Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,应用程序只需要使用 Micrometer 的通用 API 来收集性能指标即可。Micrometer 会负责完成与不同监控系统的适配工作。这就使得切换监控系统变得很容易。
对比 Slf4j 之于 Java Logger 中的定位。

2.2 如何开启 MeterSphere 中 Actuator 监控

开启 MeterSphere 中的 Actuator 监控其实很简单,在/opt/metersphere/conf/metersphere.properties 添加一行 management.endpoints.enabled-by-default=true 配置即可。
添加完成之后,执行 msctl restart 重启服务。
image.png

2.3 如何查看 Metrics 监控指标

重启好之后,我们访问 Prometheus 地址 http://192.168.xx.xx:9090/ 查看 Targets指标信息,会发现有各个容器的监控信息,状态为 UP 即为正常。如果是 Down 的,需要检查一下自己服务器网络问题了。
image.png
需要注意:因为我们容器没有暴露相应的端口,所以直接在页面上是看不到具体的监控指标信息,想看到某一个容器的指标信息也很简单,这里提供两种思路:

  1. 修改某一个容器 docker-compse,添加端口映射,比如我想查看 api-test 的,直接在 docker-compose-api-test.yml 里面添加端口映射 7004:7004 ,然后重启 api-test 容器即可。
  2. 直接在 Prometheus 的 Graph 里面查看容器对应的实例名称。比如我想查看 api-test 的,那么它的实例名称为 instance:“api-test:7004”, 然后我们去 Graph 查询,就可以看到对应的指标信息了。

image.png
image.png

2.4 如何通过 Grafana 大屏展示

检查如确认开启之后,我们开始对接 Grafana。
因为前面在监控服务器资源监控的时候已经对接了数据源,这里就不需要对接了。如何对接请参考上面的(如何添加 Prometheus 数据源)章节
这里推荐两个模板,模板id为: 12900 和 9568 ,两个模板侧重监控的指标信息有所不同,有重合部分,可以根据需求修改。
两个模板的区别:

  1. 12900 主要可以分析应用内的一些信息
  2. 9568 要分析应用内 JVM 相关的信息

这里还是介绍两种方式:

2.4.1 可以访问互联网,直接import导入:

导入方式跟之前一样,选择 Dashboards->Import ,输入模板id,点击Load,选择数据源,添加即可。
image.png

2.4.2 不可以访问互联网,直接通过JSON文件导入:

直接提供两个模板的JSON文件,可以自行导入
12900_rev3.json
9568_rev1.json
https://grafana.com/grafana/dashboards/12900
https://grafana.com/grafana/dashboards/9568
image.png

以上两种模板最终结果如下:
12900 模板效果图:
image.png

9568 模板效果图:
image.png

三、使用 Grafana 集成 Mysql-Exporter 监控信息

因为 MeterSphere 使用的是 Mysql 数据库,所以我们也可以通过 Mysql-Exporter来进行监控 MySQL 的相关信息

3.1 什么是MySQL-Exporter?

Mysql-Exporter 是一个用于采集 MySQL 指标的监控工具,它是开源的,可以与 Prometheus 一起使用,以便对数据库进行更全面、深入的分析和了解。
Mysql-Exporter 使用 MySQL 的本地客户端库进行数据收集,可以轻松地提供 MySQL 服务器的实时监控。它的最新版本通过使用 Percona Toolkit 来获取 MySQL 的各种统计信息,包括状态、变量和 InnoDB引擎状态。这些信息可以提供非常有用的洞察力,帮助开发人员和管理员更好地了解数据库的性能和运行状况。

3.1 部署 MySQL-Exporter 容器

我们通过 docker-compose 的方式去进行部署,放在 /opt/metersphere 目录下面,脚本如下:

version: "2.1"
services:
  mysqlexporter:
      image: prom/mysqld-exporter
      container_name: mysqld-exporter
      restart: always
      ports:
        - "9104:9104"
      environment:
        - DATA_SOURCE_NAME=root:Password123@mysql@(192.168.xx.xx:3306)/metersphere
      volumes:
        - /etc/my.cnf:/etc/my.cnf
      command:
        --collect.auto_increment.columns
        --collect.binlog_size
        --collect.global_status
        --collect.global_variables
        --collect.info_schema.innodb_metrics
        --collect.info_schema.innodb_cmp
        --collect.info_schema.innodb_cmpmem
        --collect.info_schema.processlist
        --collect.info_schema.query_response_time
        --collect.info_schema.tables
        --collect.info_schema.tablestats
        --collect.info_schema.userstats
        --collect.perf_schema.eventswaits
        --collect.perf_schema.file_events
        --collect.perf_schema.indexiowaits
        --collect.perf_schema.tableiowaits
        --collect.perf_schema.tablelocks
        --collect.slave_status
        --config.my-cnf=/etc/my.cnf
      networks:
        - ms-network

在/etc/my.cnf 添加一下配置:

[client]
host=192.168.xx.xx
port=3306
user=root
password=Password123@mysql

环境变量配置:

DATA_SOURCE_NAME配置MySQL的账号密码以及访问地址和需要监控的数据库信息

监控指标参数:

启动参数MySQL版本参数含义
collect.auto_increment.columns5.1 +从information_schema收集auto_increment列和最大值。
collect.binlog_size5.1+收集所有已注册的Binlog文件的当前大小
collect.engine_innodb_status5.1+通过SHOW ENGINE INNODB STATUS收集数据
collect.engine_tokudb_status5.6+通过SHOW ENGINE TOKUDB STATUS.收集数据
collect.global_status5.1+通过SHOW GLOBAL STATUS 收集数据(默认开启)
collect.global_variables5.1+通过SHOW GLOBAL VARIABLES收集数据(默认开启)
collect.info_schema.clientstats5.5+如果被监控的MySQL使用userstat = 1运行,则此参数需要设置为1以收集客户端统计信息
collect.info_schema.innodb_metrics5.6+从information_schema.innodb_metrics收集数据。
collect.info_schema.innodb_tablespaces5.7+从information_schema.innodb_sys_tablespaces收集数据。
collect.info_schema.innodb_cmp5.5+从information_schema.innodb_cmp收集InnoDB压缩表指标。
collect.info_schema.innodb_cmpmem5.5+从information_schema.innodb_cmpmem收集InnoDB缓冲池。
collect.info_schema.processlist5.1+从information_schema.processlist收集线程状态计数。
collect.info_schema.processlist.min_time5.1+
线程状态停留多长时间会被统计。(默认值:0)
collect.info_schema.query_response_time5.5+如果query_response_time_stats为ON,则收集查询响应时间。
collect.info_schema.replica_host5.6+从information_schema.replica_host_status收集数据。
collect.info_schema.tables5.1+从information_schema.tables中收集数据。
collect.info_schema.tables.databases5.1+收集表统计信息的数据库列表,或*全部为’的数据库
collect.info_schema.tablestats5.1+如果被监控的MySQL使用userstat = 1运行,则设置为true以收集表统计信息。
collect.info_schema.schemastats5.1+如果被监控的MySQL使用userstat = 1运行,则设置为true以收集架构统计信息
collect.info_schema.userstats5.1+如果被监控的MySQL使用userstat = 1运行,则设置为true以收集用户统计信息。
collect.perf_schema.eventsstatements5.6+从performance_schema.events_statements_summary_by_digest收集数据。
collect.perf_schema.eventsstatements.digest_text_limit5.6+规范化语句文本的最大长度。(默认值:120)
collect.perf_schema.eventsstatements.limit5.6+通过响应时间限制事件语句摘要的数量。(预设值:250)
collect.perf_schema.eventsstatements.timelimit5.6+限制“ last_seen”事件语句的年龄(以秒为单位)。(预设值:86400)
collect.perf_schema.eventsstatementssum5.7+从Performance_schema.events_statements_summary_by_digest汇总中收集指标。
collect.perf_schema.eventswaits5.5+从Performance_schema.events_waits_summary_global_by_event_name收集指标。
collect.perf_schema.file_events5.6+从Performance_schema.file_summary_by_event_name收集指标。
collect.perf_schema.file_instances5.5+从performance_schema.file_summary_by_instance收集指标。
collect.perf_schema.indexiowaits5.6+从performance_schema.table_io_waits_summary_by_index_usage收集指标。
collect.perf_schema.tableiowaits5.6+从Performance_schema.table_io_waits_summary_by_table收集指标。
collect.perf_schema.tablelocks5.6+从Performance_schema.table_lock_waits_summary_by_table收集指标。
collect.perf_schema.replication_group_members5.7+从Performance_schema.replication_group_members收集指标。
collect.perf_schema.replication_group_member_stats5.7 +从Performance_schema.replication_group_member_stats收集指标。
collect.perf_schema.replication_applier_status_by_worker5.7+从performance_schema.replication_applier_status_by_worker收集指标。
collect.slave_status5.1+从SHOW SLAVE STATUS收集(默认情况下启用)
collect.slave_hosts5.1+从SHOW SLAVE HOSTS收集
collect.heartbeat5.1+从心跳中收集。
collect.heartbeat.database5.1+从中收集心跳数据的数据库。(默认值:心跳)
collect.heartbeat.table5.1+从何处收集心跳数据的表。(默认值:心跳)

通用启动参数:

NameDescription
config.my-cnf.my.cnf文件的路径。(默认值:~/.my.cnf)
log.level日志级别 记录详细程度(默认:信息)
exporter.lock_wait_timeout在连接上设置lock_wait_timeout以避免长时间的元数据锁定。(默认值:2秒)
exporter.log_slow_filter添加一个log_slow_filter以避免刮擦的慢速查询日志记录。注意:Oracle MySQL不支持。
web.listen-address监听端口 默认9104
web.telemetry-path公开metric的路径 默认/metrics
version打印版本信息

启动 Mysql-Exporter 容器,默认端口为 9104

cd /opt/metersphere
docker-compose -f docker-compose-base.yml -f docker-compose-mysql-exporter.yml  up -d

image.png
直接访问 http://192.168.xx.xx:9104 即可看到监控信息
image.png

3.2 集成到 Prometheus

安装好采集指标的 MySQL-Exporter 之后,需要集成到 Prometheus里面。

  1. 找到 /opt/metersphere/conf/prometheus/prometheus.yml,添加 Mysql-Exporter 的指标信息
 - job_name: 'mysql'
    static_configs:
      - targets: ['192.168.xx.xx:9104']

如果不了解怎么添加 Prometheus 配置请参考:https://blog.csdn.net/u013288190/article/details/116804765
配置完成之后重启 Prometheus

docker restart  ms-prometheus
  1. 访问 Prometheus 地址,查看 Mysql-Exporter监控信息,可以看到状态为 UP 状态即为成功

image.png

3.3 通过 Grafana 大屏展示

这里我们选用经典的 MySQL 展示大屏,模板id为:7362,介绍两种方式:

3.3.1 可以访问互联网的,直接import导入

  1. 选择Dashboard->Import->输入7362 ,点击 Load->选择数据源即可

image.png
image.png

  1. 配置好之后,就可以看到 MySQL 的监控信息了

image.png
image.png
image.pngimage.png

3.3.1.1 配置 Exporter 的 Instance 的值

到这里我们发现一个问题,有部分的监控指标是空的,展示不出来,这是因为这个监控模板展示的信息需要和 Node-Exporter 结合起来使用,想要解决这个问题很简单,在配置 Prometheus的时候,需要让Node-Exporter 的实例名称和 Mysql-Exporter 实例名称一致就好。
为了清晰明了,这里我把它配置到同一个 job 里面了。
image.png
配置好之后重启一下 Prometheus容器

docker restart ms-prometheus

重启好之后我们访问 Prometheus地址,可以看到两个 Exporter 的实例名称是一致的。
image.png
然后刷新 Grafana 监控面板,可以看到,对应的地方已经有值了。
image.png
image.png

3.3.2 不可以访问互联网的,直接导入 JSON 文件

如果不能访问互联网的,可以直接导入 JSON 文件。
7362_rev5.json
https://grafana.com/grafana/dashboards/7362

  1. 选择Dashboard->Import->上传JSON文件->选择对应的数据源

image.png
image.png

  1. 添加好之后,就可看到面板效果,如果有发现一些值没有展示出来,请参考上面配置Exporter的Instance的操作。

四、使用 Grafana 集成 Kafka-Exporter 监控信息

4.1 什么是 Kafka-Exporter

Kafka-Exporter 通过 Kafka Protocol Specification 收集 Brokers, Topics 以及 Consumer Groups的相关指标。
kafka exporter代码层借助大量开源库,所以功能强大但代码量极少,仅600+行,大致架构如下:

image.png

  • Kingpin: go的一个命令行库,处理用户输入的参数
  • sarama(核心): go实现的kafka客户端,连接broker获取相关的指标与元数据
  • kazoo: go实现的zk客户端,连接kafka的zk集群,主要用于zk消费组的lag计算
  • promhttp:用于生成 Prometheus HTTP服务器,供prometheus pull指标
  • 其他组件:协助将 sarama 和kazoo获取的指标转换成Prometheus的数据格式

4.2 部署 Kafka-Exporter 容器

我们通过docker-compose的方式去进行部署,放在 /opt/metersphere 目录下面,脚本如下:

version: "2.1"
services:
  kafka-exporter:
      image: danielqsj/kafka-exporter
      container_name: kafka-exporter
      command: --kafka.server=192.168.xx.xx:9092
      ports:
        - 9308:9308
      restart: always
      networks:
        - ms-network

默认端口为9308 ,参数说明:

–kafka.serverkafka的连接地址以及端口

执行启动命令

docker-compose -f docker-compose-base.yml -f docker-compose-kafka-exporter.yml  up -d

部署完成之后看下状态
image.png

4.3 集成到Prometheus

  1. 确认 Kafka-Exporter 启动好之后,需要集成到 Prometheus,同样的操作,找到/opt/metersphere/conf/prometheus ,在prometheus.yml中添加下面的配置
- job_name: 'kafka'
    static_configs:
      - targets: ['192.168.xx.xx:9308']

添加好之后重启 Prometheus

docker restart  ms-prometheus
  1. 重启好之后访问 Prometheus地址,会看到 Kafka-Exporter状态是好的。

image.png

4.4 通过 Grafana 大屏展示

这里推荐一个 Kafka的监控模板,同样的介绍两种方式应用
模板id为:12326

4.4.1 可以访问互联网的,直接 Import导入

导入的方式具体可以参考上面文章写的,方法都一样,这里不在详细介绍。
image.png
image.png

4.4.2 不可以访问互联网的,直接JSON文件导入

12326_rev2.json
https://grafana.com/grafana/dashboards/12326
选择Dashboard->import->上传JSON文件->选择对应的数据源即可

4.4.3 介绍一个好用的kafka的模板

这个模板用到的数据是Spring Boot Actuator ,所以如果没有开启的话,参考上面的章节开启配置。
监控的内容是各个容器关于 Kafka 消费的情况,可以查看到每个 Topic 的消费情况。
模板id为: 11285
同样的方式,可以访问互联网的话直接导入即可。
11285_rev1.json
https://grafana.com/grafana/dashboards/11285
不可以的访问的话,下载json文件导入。
模板效果
image.png
image.png

五、使用 Grafana 集成 CAdvisor

需要注意的是:这里监控的主要是所有docker容器的信息,类似与docker stats 命令查看的指标,跟上面Spring Boot Actuator 查看应用内部的信息还是有区别的。
写在这里只是提供一种监控容器资源的方案,可以自行判断是否安装。

5.1 CAdvisor 是什么?

cAdvisor 是谷歌开源的一款通用的容器监控解决方案。cAdvisor 不仅可以采集机器上所有运行的容器信息,还提供了基础的查询界面和 HTTP 接口,更方便与外部系统结合。所以,cAdvisor很快成了容器指标监控最常用组件,并且 Kubernetes 也集成了 cAdvisor 作为容器监控指标的默认工具。
简单来讲,就是生产级别可用的容器监控方案。

5.2 部署CAdvisor

还是通过容器的方式部署,在 /opt/metersphere/ 创建docker-compose-cadvisor.yml文件

version: '2.1'
services:
  cadvisor:
    image: google/cadvisor
    container_name: cadvisor
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    ports:
      - 8888:8080
    restart: always
    networks:
      - ms-network

cadvisor 默认端口是8080,我改成了8888 ,启动容器。

docker-compose -f docker-compose-base.yml -f docker-compose-cadvisor.yml  up -d

5.3 集成到Prometheus

  1. 确认 cadvisor 启动好之后,需要集成到 Prometheus,同样的操作,找到/opt/metersphere/conf/prometheus ,在prometheus.yml中添加下面的配置
- job_name: 'cadvisor'
    static_configs:
      - targets: ['192.168.xx.xx:8888','192.168.xx.xx:9100']
        labels:
          instance: node

这里需要解释一下,为什么把 Node-Exporter的信息也给集成过来了,是因为后面我们在 Grafana 集成的模板需要用到 Node-Exporter中的一些值,所以这边改了相同的 Instance名称,并且把 Node-Exporter的信息也给集成过来了。
image.png

  1. 重启 Prometheus
docker restart  ms-prometheus
  1. 查看 Prometheus 的 Targets,状态为 UP 即为正常。

image.png

5.4 通过 Grafana 大屏展示

推荐一个比较常用的模板id:16314
具体导入方式不在多讲,跟上面一样。

  1. 可以访问互联网,直接Import导入

选择Dashboard->Import->输入16314 ,点击Load->选择数据源即可

  1. 不可以访问互联网,通过JSON文件导入

16314_rev3.json
https://grafana.com/grafana/dashboards/16314
直接下载文件,导入即可。

  1. 效果如下:

image.png
image.png
image.png

六、注意事项

  1. 以上就是虚拟机、应用、MySQL,Kafka、Docker容器的监控方案,可以根据实际情况自行选择如何搭配监控。
  2. 以上方案都是通过 Docker 的方式安装,所以如果是内网用户,需要提前把对应的镜像下载下来,在通过 docker load 的方式安装部署。具体操作百度:docker save / load 命令。
  3. 本文grafana版本是9.4.3,Node-Exporter版本是 MeterSphere 自带的,其他 Exporter版本都为latest。
  4. 本文所有命令操作都在 /opt/metersphere 下面执行,因为用到MeterSphere自带的一些基础配置。
  5. 安装好对应的Exporter之后,记着要配置一下Prometheus。
  6. 为了部署更加方便,给一个更加全面的 docker-compose-monitor.yml ,其中的ip和端口信息需要自行修改。
version: "2.1"
services:
  grafana:
    image: grafana/grafana:9.4.3
    restart: always
    container_name: grafana
    volumes:
      - ms-grafana-data:/var/lib/grafana
    ports:
      - 3000:3000
    healthcheck:
      test: ["CMD", "nc", "-zv", "localhost", "3000"]
      interval: 6s
      timeout: 5s
      retries: 50
    networks:
      - ms-network

  mysqlexporter:
    image: prom/mysqld-exporter
    container_name: mysqld-exporter
    restart: always
    ports:
      - "9104:9104"
    environment:
      - DATA_SOURCE_NAME=root:Password123@mysql@(10.1.12.13:3306)/metersphere
    volumes:
      - /etc/my.cnf:/etc/my.cnf
    command:
      --collect.auto_increment.columns
      --collect.binlog_size
      --collect.global_status
      --collect.global_variables
      --collect.info_schema.innodb_metrics
      --collect.info_schema.innodb_cmp
      --collect.info_schema.innodb_cmpmem
      --collect.info_schema.processlist
      --collect.info_schema.query_response_time
      --collect.info_schema.tables
      --collect.info_schema.tablestats
      --collect.info_schema.userstats
      --collect.perf_schema.eventswaits
      --collect.perf_schema.file_events
      --collect.perf_schema.indexiowaits
      --collect.perf_schema.tableiowaits
      --collect.perf_schema.tablelocks
      --collect.slave_status
      --config.my-cnf=/etc/my.cnf
    networks:
      - ms-network


  kafka-exporter:
    image: danielqsj/kafka-exporter
    container_name: kafka-exporter
    command: --kafka.server=10.1.12.13:9092
    ports:
      - 9308:9308
    restart: always
    networks:
      - ms-network

  cadvisor:
    image: google/cadvisor
    container_name: cadvisor
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    ports:
      - 8888:8080
    restart: always
    networks:
      - ms-network


volumes:
  ms-grafana-data:
    driver_opts:
      type: none
      device: ${MS_BASE}/metersphere/data/grafana
      o: bind

启动命令

docker-compose -f docker-compose-base.yml -f docker-compose-monitor.yml up -d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1045980.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【工具使用】如何使用Audition创建多音轨项目并验证

一,简介 本文主要介绍如何使用Audition 2020创建多音轨工程,并新增轨道,供参考。 二,操作步骤 2.1 新建多轨工程 打开Audition,新建多轨会话: 设置参数,点击确定: 工程默认有6个…

MataDoor 模块化后门:先发现后解除

👁 PT 专家安全中心的专家发现了一个新的 Dark River 组织,该组织利用名为 MataDoor 的高科技模块化后门攻击国防工业公司。请阅读我们的最新研究。 我们的专家于 2022 年 10 月在调查一家俄罗斯工业企业的事件时首次遇到这种恶意软件。 🥷…

Javascript中生成器函数和Generator对象的介绍与使用

✨Generator 🎶Generator的描述 Generator 函数是ES6提供的一种异步编程解决方案 🎉三种异步方法出现的顺序 🍧Generator的 核心语法 // 像下面这样 func 这样的函数称之为生成器函数 // 通过 * 进行声明 通过yield进行等待 function* fu…

十六,镜面IBL--预滤波环境贴图

又到了开心的公式时刻了。 先看看渲染方程 现在关注第二部分,镜面反射。 其中 这里很棘手,与输入wi和输出w0都有关系,所以,再近似 其中第一部分,就是预滤波环境贴图,形式上与前面的辐照度图很相似&#…

TensorFlow入门(五、指定GPU运算)

一般情况下,下载的TensorFlow版本如果是GPU版本,在运行过程中TensorFlow能自动检测。如果检测到GPU,TensorFlow会默认利用找到的第一个GPU来执行操作。如果机器上有超过一个可用的GPU,除第一个之外的其他GPU默认是不参与计算的。如果想让TensorFlow使用这些GPU执行操作,需要将运…

Java多线程编程-栅栏CyclicBarrier实例

前言 本文是基于《Java多线程编程实战指南-核心篇》第五章个人理解,源码是摘抄作者的源码,源码会加上自己的理解。读书笔记目前笔者正在更新如下, 《Java多线程编程实战指南-核心篇》,《How Tomcat Works》,再到《spr…

QT中计算日期差,并进行加减

1、界面上拖动两个QDateTimeEdit控件,同时设置为开始时间与结束时间,然后再来拖动个pushButton,命名为查询功能,然后槽函数中,实现如下: void Database::on_pushButton_4_clicked() {QDateTime time1 u…

ARM/X86工控机在轨道交通车站管理系统的应用(1)

车站管理系统 车站管理系统是一种集成平台,包括综合监控系统(ISCS)、火灾报警系统(FAS)、以及楼宇自动化系统(BAS)等。由于其复杂性,车站管理系统要求硬件必须稳定且可扩展,以确保24/7全天侯正常运作。信迈工业服务器级系统素以坚固耐用和广…

x86汇编基础

目录 CPU架构与指令集 x86 / x64 CPU操作模式 寄存器 数据类型 数据传送与访问 算数逻辑与运算逻辑 跳转指令和循环指令 栈与函数调用 这一部分更详细的内容可以参考我的专栏:C与汇编 CPU架构与指令集 CPU即中央处理单元(Central Processing Unit )&#…

虚拟机联网

桥接 桥接模式就是虚拟机与你的电脑平起平做,都有同样的IP,且与你的电脑在同一网段下,就能够上网。 电脑的IP的地址 虚拟机的ip地址 设置vm1的ip地址与网关与电脑相同 如果出现ssh连接虚拟机不成功的问题,无其他问题时&#xff0…

2023-09-27 LeetCode每日一题(餐厅过滤器)

2023-09-27每日一题 一、题目编号 1333. 餐厅过滤器二、题目链接 点击跳转到题目位置 三、题目描述 给你一个餐馆信息数组 restaurants,其中 restaurants[i] [idi, ratingi, veganFriendlyi, pricei, distancei]。你必须使用以下三个过滤器来过滤这些餐馆信息…

Python经典练习题(四)

文章目录 🍀第一题🍀第二题🍀第三题 🍀第一题 题目:打印出如下图案(菱形): 我们首先分析一下,本题实现的步骤主要有两个,分别是前四行和后三行 前四行:第一…

数据结构--二叉树(2)

文章目录 二叉树的存储结构二叉树的链式结构二叉树的遍历结点个数寻找二叉树的某个结点二叉树的层遍历判断是否为完全二叉树 上一节 二叉树的堆链接入口 二叉树的存储结构 对于二叉树的存储,有两种存储方式:一种是顺序存储,另一种是链式存储…

linux 清除卸载jenkins

1、停服务进程 查看jenkins服务是否在运行,如果在运行,停掉 查看服务 ps -ef|grep jenkins 停掉进程 kill -9 XXX2、查找安装目录 find / -name "jenkins*"3、删掉相关目录 删掉相关安装目录 rm -rf /root/.jenkins/# 删掉war包 rm -rf /…

服务断路器_Resilience4j异常比例熔断降级

给coud-consumer-feign-order80添加resilience4j依赖 修改yml文件 resilience4j.circuitbreaker:configs:default:# 熔断器打开的失败阈值failureRateThreshold: 30# 默认滑动窗口大小,circuitbreaker使用基于计数和时间范围欢动窗口聚合统计失败率slidingWindowS…

如何写公众号推文?公众号文章写作步骤分享

一篇优质的公众号文章,不仅能提升品牌知名度,增强用户粘性,还能引导潜在客户,实现商业价值。那么,如何才能写出一篇引人入胜的公众号文章呢?本文伯乐网络传媒将为您详细解析写公众号文章的步骤,…

模块接口测试

单元测试是代码正确性验证的最重要的工具,也是系统测试当中最重要的环节。也是唯一需要编写代码才能进行测试的一种测试方法。在标准的开发过程中,单元测试的代码与实际程序的代码具有同等的重要性。每一个单元测试,都是用来定向测试其所对应…

【笔记】Splay

【笔记】Splay 目录 简介右旋左旋 核心思想操作a. Splayb. 插入c. 删除 信息的维护例题AcWing 2437. SplayP3369 【模板】普通平衡树 简介 Splay 是一种平衡树,并且是一棵二叉搜索树(BST)。 它满足对于任意节点,都有左子树上任意…

fdbus之CBaseMessage

总体介绍 这个类是一个很重要的的类,fdbus中传递对象就是这个类的实例,该类中包含了很多重要的信息。可以这样理解,再fdbus的通信中,这个类的地位至关重要。他们的通信的内容就是该类定义的一些信息。 虽然CFdbBaseObject定义了…

如何进一步全面提高项目估算精准度?

项目估算非常重要,这直接关系着项目的成本和收入,如果估算不准确,将为项目带来较大风险。一般软件规模可以用多种方式进行估算,但是用功能点估算方式更准确,而自动估算让估算更快速,我们以CoCode开发的估算…