zoukankan      html  css  js  c++  java
  • tcpcollect基于libpcap 监听mysql sql

    tcpcollect 是基于libpacp 开发的分析 mysql 查询的工具,很不错,简单清晰,以下是一个简单的使用

    构建二进制文件

    • clone 代码&&构建
    https://github.com/hoterran/tcpcollect.git
    • 容器
      Dockerfile
     
    FROM debian:stretch-slim
    LABEL AUTHOR="dalongrong"
    RUN  apt-get update && apt-get  install -y procps
    COPY tcpcollect/ /opt/tcpcollect/
    • demo mysql 容器镜像
      基于mysql 基础镜像
     
    FROM mysql:5.7
    LABEL AUTHOR="dalongrong"
    COPY --from=dalongrong/tcpcollect:stretch-1.0  /opt/tcpcollect /opt/tcpcollect/

    试用

    • 环境准备
      docker-compose 文件
     
    version: "3"
    services: 
        tcpcollect-stretch: 
          image: dalongrong/tcpcollect:stretch-1.0
          build: 
             context: ./
             dockerfile: ./Dockerfile-tcpcollect-stretch
        tcprstat-stretch: 
          image: dalongrong/tcprstat:stretch-0.3.1
          build: 
             context: ./
             dockerfile: ./Dockerfile-stretch
        tcprstat-alpine: 
          image: dalongrong/tcprstat:alpine-0.3.1
          build: 
            context: ./
            dockerfile: ./Dockerfile-alpine
        tcprstat-demo: 
          build: 
            context: ./
            dockerfile: ./Dockerfile-demo
          cap_add: 
          - NET_ADMIN
          ports: 
          - 8080:8080
        tcpcollect-demo: 
          build: 
            context: ./
            dockerfile: ./Dockerfile-demo-mysql
          command: --character-set-server=utf8 --collation-server=utf8_bin --innodb_log_file_size=256m --max_allowed_packet=34m
          environment: 
          - MYSQL_ROOT_PASSWORD=vKzL7Shgq
          cap_add: 
          - NET_ADMIN
          ports: 
          - 3306:3306
    • 启动
    docker-compose up -d tcpcollect-demo
    • 效果(需要进入容器)
    docker-compose exec tcpcollect-demo sh
    cd /opt/tcpcollect && ./mysqlpcap

    说明

    以上是一个简单的集成使用,实际使用中需要添加cap docker-compose 为

        cap_add: 
          - NET_ADMIN

    k8s pod

      containers:
      - name: tomcat
        image: tomcat
        securityContext:
          capabilities:
            add: ["NET_ADMIN"]

    tcpcollect 是一个很不错的基于libpcap 的mysql 协议处理工具,可以方便我们排查好多业务问题(注解基于sql 的分析,对于没有做好mysql 配置 ,但是又不想重启,查看问题比较方便 ,实际行我们也可以基于配置mysql 的slow_query_log 分析sql),相关docker 镜像我已经push dockerhub dalongrong/tcpcollect:stretch-1.0

    参考资料

    https://github.com/hoterran/tcpcollect
    https://github.com/rongfengliang/tcprstat-docker.git

  • 相关阅读:
    file类中,命令记录
    Java中有多个异常, 如何确定捕获顺序(多个catch),先从上到下执行,判断异常的大小,如果包含捕到异常,就进入这个catch,后面的就不再执行
    try....fail....catch...Assert 模式的测试, fail是Junit中的功能
    java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”
    [1]IP地址查询
    支付宝地铁SDK使用失败记录
    食神
    【初等数论】 04
    【初等数论】 03
    【初等数论】 02
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13706788.html
Copyright © 2011-2022 走看看