使用dumplogsegments搜索多个apachekafka日志文件中的数据

7fhtutme  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(252)

背景
需要在kafka日志文件中搜索验证数据。不尝试使用命令行使用者。
工具
使用转储日志段工具
问题
这个 --files 参数要求文件 , 分开的

--files <file1, file2, ...>             REQUIRED: The comma separated list of  
                                        data and index log files to be dumped

有没有办法查看目录下的所有文件?尝试 *log 但它只查看目录中的第一个文件。
或者
编写一个小程序是唯一的选择?

8yoxcaq7

8yoxcaq71#

我编造了一些随机脚本,这是为了我的目的。
检查每个文件的数据


# !/bin/bash

dirname="$1"
tosearch="$2"
files=""

if [[ -s $dirname ]] ; then
    for filename in $(ls -d $dirname/*log); do
            count=$(bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files "$filename" --print-data-log | grep "$tosearch" | wc -l)
            echo "$filename : $count"
    done
fi

集体检查所有文件中的数据


# !/bin/bash

dirname="$1"
tosearch="$2"
files=""

if [[ -s $dirname ]] ; then
    for filename in $(ls -d $dirname/*log); do
            files+="$filename,"
    done
    newfiles=$(echo "$files" | sed 's/,$//')
    count=$(bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files "$files" --print-data-log | grep "$tosearch" | wc -l)
    echo "$count"
fi

相关问题