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

tcpcollect基于libpcap 监听mysql sql

 

 

说明

以上是一个简单的集成使用,实际使用中需要添加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

tcpcollect基于libpcap 监听mysql sql

上一篇:SQL练习题13:获取所有部门中当前(dept_emp.to_date = '9999-01-01')员工当前(salaries.to_date='9999-01-01')薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门升序排列。


下一篇:[数据库/MYSQL]#解决缺陷#设置Unique索引时:"[Err] 1071 - Specified key was too long; max key length is 767 bytes"