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. Eclipse插件Fat Jar

    1.安装 1)Eclipse在线更新方法 Help > Install New Software > Add, name:Fat Jar location:http://kurucz-gr ...

  2. 几个主流的Java连接池整理

    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销.这里所说的池是一种广义上的池,比如数据库连接池.线程池.内存池.对象池等.其中,对象池可以看成保存对 ...

  3. virtualbox上,android x86 的分辨率的设置

    参考文章: http://stackoverflow.com/questions/6202342/switch-android-x86-screen-resolution 1) 用VBoxManage ...

  4. charles工具过滤腾讯视频播放器广告

    Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据.它允许一个开发者查看所有连接互联 ...

  5. Appium 自动化测试(6) -- 使用Appium操作YY语音例子

    #!/usr/bin/env python # -*- coding: utf-8 -*- import os import unittest from appium import webdriver ...

  6. bzoj1257: [CQOI2007]余数之和 整除分块

    题意:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值其中k mod i表示k除以i的余数.例如j(5, 3)=3 mod ...

  7. fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突——我的解决方案

    本文转载于:http://blog.csdn.net/tfy1028/article/details/8660823 win7 下,安装的VS2010,然后搭配opencv2.4.3运行,报错为:fa ...

  8. 谈谈oracle里的join、left join、right join

    create table l as select 'left_1' as str,'1' as v from dual union allselect 'left_2' ,'2' as v from ...

  9. mysql-connect-odbc连接

  10. 《Java程序设计》十四次作业

    <Java程序设计>十四次作业实验总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 3. 代码量统计 周次 总代码量 新增代码量 总文件数 新增 ...