• 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

  • 相关阅读:
    【并查集】连接格点C++
    【拓扑排序】威虎山上的分配C++
    CF39D Cubical PlanetC++
    【拓扑排序】排队C++
    [USACO09OCT]Invasion of the Milkweed】乳草的侵占C++
    免杀常用手段
    DELPHI 线程类
    动态注册OCX
    DELPHI 常用文件路径
    套接字(TCP)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13706788.html
Copyright © 2020-2023  润新知