• 第二个问题,可以使用老师讲的consul注册中心(服务发现)

  • mongo_exporter镜像:eses/mongodb_exporter
    mongo : 3.2版本

    问题1:prometheus可以获取mongo_exporter的数据,但是使用grafana导入2583模版后,模板自带的metrics不显示mongo数据,
    将脚本复制到prometheus发现该脚本与prometheus里不太一样,具体如下:
    prometheus:mongodb_mongod_op_counters_total
    grafana复制的脚本:mongod_op_counters_total

    grafana截图:

    prometheus截图:

    更换成prometheus提示的命令后,grafana可以正常显示数据

    目前还未确认具体原因,猜测是mongo_exporter版本的问题,希望老师帮忙解答下

    问题2:
    counter配置图

    counter计数器是每启动一个新线程才会递增的吗?
    我用1个线程,分别执行2次接口请求参数都是0。

  • 你可以参考我的配置文件

    - job_name: qas_discover
    metrics_path: /metrics
    consul_sd_configs:
    - server: 服务ip:8500
    relabel_configs:
    - source_labels: [__meta_consul_service]
    separator: ;
    regex: spring01
    target_label: __metrics_path__
    replacement: /actuator/prometheus # __meta_consul_service=spring01这个节点的__metrics_path__替换成/actuator/prometheus
    action: replace

    参考结果图:

  • 求问,consul 推送服务时,报如下错误

    url -X PUT -d '{"id": "mongo01","name": "mongo01","address": "IP地址","port": 9114,"tags": ["mall"],"checks": [{"http": "http://IP地址:9114/,interval:" "5s"}]}' http://IP地址:8500/v1/agent/service/register

    Request decode failed: invalid character '"' after object key:value pair[root@iZm5e42cxnbcabcmsyzny7Z mongo]#

    已解决,问题原因在于请求json数据格式有问题,需要调整,
    可以https://www.sojson.com/ 在此网站调整请求json格式正确后,再次发起curl请求,完成注册服务

  • docker 实战-2020215 at February 15, 2020

    dockerfile

    FROM centos:7

    ADD entrypoint.sh /root/entrypoint.sh

    RUN yum install -y wget
    RUN yum install -y java-1.8.0-openjdk*
    RUN yum install -y git
    RUN wget -P /root http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    RUN tar -zxvf /root/apache-maven-3.6.3-bin.tar.gz

    ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0
    ENV MAVEN_HOME=/apache-maven-3.6.3
    ENV PATH=$PATH:$MAVEN_HOME/bin:$JAVA_HOME/bin

    WORKDIR /root
    ENTRYPOINT ["/bin/bash","/root/entrypoint.sh"]

    entrypoint.sh

    #/bin/bash

    git clone https://github.com/ycwdaaaa/techUI
    cd techUI
    mvn test

    docker logs

  • 占楼

  • mvn package时出现xxx程序包不存在,
    万恶到.m2,用idea指向自己到地址,重新编译,成功编译

    作业截图

    测试

  • 作业1
    https://github.com/xklf2014/appium_test/tree/datadriver/src/test/java/services/api/user/testcase
    TestUser.java --> batchcreateUserByYaml方法中使用了json schema验证

    作业2

    public class Base64Filter implements Filter {
    @Override
    public Response filter(FilterableRequestSpecification filterableRequestSpecification, FilterableResponseSpecification filterableResponseSpecification, FilterContext filterContext) {
    Response responseOrigin = filterContext.next(filterableRequestSpecification,filterableResponseSpecification);
    ResponseBuilder responseBuilder=new ResponseBuilder().clone(responseOrigin);
    String decode=new String(
    Base64.getDecoder().decode(
    responseOrigin.body().asString().trim()
    )
    );
    responseBuilder.setBody(decode);
    return responseBuilder.build();
    }
    }

    -------------------------------------------------------------------
    @Test
    public void testBase64(){
    given().filter(new Base64Filter())
    .when().log().all()
    .get("http://101.132.159.87:8080/user.json")
    .then().log().all().body("name",equalTo("seveniruby"));

    }
  • 1月4日问题:
    1 测试数据的驱动,每一个方法都要写一个MethodSource,那么这一部分是不是也需要抽象出公共的方法?

    2 接口中存在加密的接口,对于这一部分的处理,我们要在当前restassured框架中哪一部分进行设计呢?baseapi还是单独写到utils里吗?