jmeter plugin监控的信息很少,只有cpu、内存、网络IO,但这些是不够的。例如对于分析mysql数据库的慢查询、最大连接数等更加细密度的信息。

服务端稳定测试的三个前提:

1.应用级别的自动化测试。针对整个系统进行评测,而不是单独某一个模块,自动化用例要覆盖系统业务场景的80%以上。自动化遍历深度不够,不能覆盖80%以上的业务场景。而且自动化遍历是在一个设备上执行的,其并发数量只有1,而稳定性测试要在一定的压力之下进行的。

2.高可用、灾难恢复的部署架构。 K8S做部署。

3.线上级别的监控体系。 在对整个系统做评测,而且是长时间的,运行时间以周为单位。要对系统进行全方位的测试。仅监控机器的物理性能指标是远远不够的,要从白盒、黑盒、从各个方面去监控不同的指标。在测试报告中详细记录,让研发人员和架构师分析系统瓶颈出现在什么地方。

目前最主流的监控体系之一。生态很丰富,有各种各样的插件可以使用。比如监控mysql的性能指标。

K8S团队已经发布了以普罗米修斯进行监控的版本,可以监控所有K8S中的性能指标,如容器的状态、服务的状态、节点的状态、名称空间的状态。

1.启动普罗米修斯

填写策略、规则。

查看启动的容器和端口号,填入到job_name。



查看IP地址:

global:#抓取策略,15秒抓取1次
scrape_interval: 15s
evaluation_interval: 15s alerting:#发送邮箱报警
alertmanagers:
- static_configs:
- targets:
- localhost:9093 rule_files:
- rules/*.rules scrape_configs:#监控应用explore的ip port
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.63.143:9090']
- job_name: 'node_exporter'
static_configs:
- targets: ['192.168.63.143:9100']
- job_name: 'mysql'
static_configs:
- targets: ['192.168.63.143:9104']
docker run --name prometheus -d -p 9090:9090 -v `pwd`/prometheus.yml:/etc/prometheus/prometheus.yml -v `pwd`/rules/:/etc/prometheus/ prom/prometheus --config.file=/etc/prometheus/prometheus.yml

使用浏览器打开127.0.0.1:9090可以访问prometheus,打开target可以查看当前监控的应用





点击URL可以查看监控数据

3

如果发现mysql和node连接失败,需要分别启动explore

1.1.启动MYSQLD-EXEPORTER连接数据库,并将端口修改为9104

docker run -d --name mysql-exporter -p 9104:9104 -e DATA_SOURCE_NAME="root:123456.@(192.168.63.143:3306)/mysql" prom/mysqld-exporter

1.2.NODE-EXPORTER

需求:监控Linux各种各样的指标,CPU、内存、磁盘IO。

普罗米修斯官方提供了node exporter,mac下载darwin,直接运行即可。下载好node exporter的包后,运行:

 ./node_exporter

node和mysql都已经连接成功。

2.访问和使用prometheus


graph中输入表达式即可,默认是Console模式,点击Graph可以切换到图形模式。
console模式

Graph模式

node_boot_time:系统启动时间
node_cpu:系统CPU使用量
node_disk_*:磁盘IO
node_filesystem_*:文件系统用量
node_load1:1分钟系统负载 node_load5 5分钟 node_load15 15分钟
node_memeory_*:内存使用量
node_network_*:网络带宽
node_time:当前系统时间
go_*:node exporter中go相关指标
process_*:node exporter自身进程相关运行指标

3.启用GRAFANA

每次通过输入表达式过于麻烦,使用grafana可以将一些表达式存储起来,直接查看结果

docker run --name grafana -d -p 8000:3000 grafana/grafana

http://127.0.0.1:8000,默认用户名/密码:admin/admin,修改密码即可进入grafana。



add data source,填入name,类型为prometheus,填入prometheus容器的地址



添加一个panel



点击修改



general修改名字,metrics填写语句





返回面板即可

4.使用开源共享的模版

开源的共享的mysql监控的模版

添加-import,复制下载的mysql_rev1.json内容







普罗米修斯中文教程:https://github.com/yunlzheng/prometheus-book

1021 docker prometheus监控体系的更多相关文章

  1. 使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库

    一.背景 在平时开发过程当中需要针对 MySQL 数据库进行监控,这里我们可以使用 Grafana 和 Prometheus 来实现监控功能.Grafana 是一款功能强大的仪表盘面板,支持多种数据源 ...

  2. Prometheus 监控Docker服务器及Granfanna可视化

    Prometheus 监控Docker服务器及Granfanna可视化 cAdvisor(Container Advisor)用于收集正在运行的容器资源使用和性能信息. 使用Prometheus监控c ...

  3. 使用docker方式构建prometheus监控的学习

    一.背景:近期学习部署prometheus监控系统,经研究发现prometheus提供docker运行模式.根据我的经验,能够使用docker模式构建系统一定多快好省. 二.环境: 1.centos7 ...

  4. Prometheus监控Docker Swarm集群(一)

    Prometheus监控Docker Swarm集群(一) cAdvisor简介 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advisor),它为 ...

  5. 使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql

    使用Docker部署监控系统,Prometheus,Grafana,监控服务器信息及Mysql 一.docker部署prometheus监控系统 1.1 配置安装环境 1.1.1 安装promethe ...

  6. Prometheus监控学习笔记之Prometheus的Relabel,SD以及Federation功能

    0x00 k8s 的监控设计 k8s 默认以及推荐的监控体系是它自己的一套东西:Heapster + cAdvisor + Influxdb + Grafana,具体可以看 这里 . 包括 k8s 自 ...

  7. 在Docker中监控Java应用程序的5个方法

    译者注:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.通常情况下,监控的主要目的在于:减少宕机 ...

  8. Prometheus监控学习笔记之prometheus的federation机制

    0x00 概述 有时候对于一个公司,k8s集群或是所谓的caas只是整个技术体系的一部分,往往这个时候监控系统不仅仅要k8s集群以及k8s中部署的应用,而且要监控传统部署的项目.也就是说整个监控系统不 ...

  9. Prometheus监控学习笔记之全面学习Prometheus

    0x00 概述 Prometheus是继Kubernetes后第2个正式加入CNCF基金会的项目,容器和云原生领域事实的监控标准解决方案.在这次分享将从Prometheus的基础说起,学习和了解Pro ...

随机推荐

  1. python 字符串压缩

    import zlib s = b'witch which has which witches wrist watch' print(len(s)) t = zlib.compress(s) prin ...

  2. 使用dos2unix批量转换文件

    使用dos2unix批量转换文件 dos2unix是Linux下的一个用户转换格式的程序,由于windows上文件的结束符和linux上的不同,那么在windows上编写的文件或者是脚本在Linux上 ...

  3. 并发编程-synchronized关键字大总结

    0.synchronized 的特点: 可以保证代码的原子性和可见性. 1.synchronized 的性质: 可重入(可以避免死锁.单个线程可以重复拿到某个锁,锁的粒度是线程而不是调用).不可中断( ...

  4. 【Docker】Windows下docker环境搭建及解决使用非官方终端时的连接问题

    背景 时常有容器方面的需求,经常构建调试导致测试环境有些混乱,所以想在本地构建一套环境,镜像调试稳定后再放到测试环境中. Windows Docker 安装 安装docker toolbox 博主的电 ...

  5. 在Linux和Windows系统上安装Nginx服务器的教程

    在Linux和Windows系统上安装Nginx服务器的教程  1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...

  6. Vue跨路由触发事件,Vue监听sessionStorage

    近来,在做公司的聊天系统,引用的是极光的api.项目需求实时监听别人发过来的消息,进行渲染到页面,还有历史记录也要渲染,历史记录和实时聊天记录返回的结构体还不一样,看到需求的我欲哭无泪,首先登录是在首 ...

  7. SSH-Auditor:一款SSH弱密码探测工具

    SSH-Auditor:一款SSH弱密码探测工具 freebuf 2018-09-16  ssh-auditor是一款可帮助你探测所在网络中ssh弱密码的工具. 特性 以下操作ssh-auditor都 ...

  8. bzoj2163

    题解: 拆点网络流 然后用总和-最大流 代码: #include<iostream> #include<cstring> #include<cstdio> #inc ...

  9. tornado多路由示例

    main.py代码: # encoding: utf-8 """ @version: ?? @author: andu99 @contact: andux@qq.com ...

  10. linux命令返回值的含义

    linux命令执行后无论成功与否都有一个返回值: 如果为 0,则表示命令执行成功,其它值则表示错误, 具体的错误码含义如下: "OS error code 1: Operation not ...