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

posted on 2020-09-21 17:19  荣锋亮  阅读(496)  评论(0编辑  收藏  举报

导航