python脚本

#!/usr/bin/env python

import os
import re
import sys group_id=sys.argv[1]
pn=sys.argv[2] kafka_ip=os.popen('sudo docker inspect elements_kafka_1 | grep KAFKA_ADVERTISED_HOST_NAME').read()
kafka_ip=re.match('^.*=(.*)",', kafka_ip).group(1)
kafka_port=9092 def kafka_value(): content=os.popen('sudo docker exec -it elements_kafka_1 /opt/kafka_2.12-2.2.0/bin/kafka-consumer-groups.sh --bootstrap-server kafka_ip:kafka_port --group group_id --describe | grep -v LAG').read()
content=content.split() length=len(content)
item_num=length/8 Offset=""
Logsize=""
Lag="" for i in range(0, item_num):
Logsize = content[8*i+3]
if Logsize == "":
continue
else:
Offset = content[8*i+2]
Lag = content[8*i+4] if pn in ("lag", "Lag"):
print(Lag)
if pn in ("offset", "Offset"):
print(Offset)
if pn in ("logsize", "Logsize"):
print(Logsize) kafka_value()

shell脚本

#!/bin/bash

#NIC=ens3
#kafka_ip=`ifconfig $NIC | awk '/inet addr:/ {print $2}' | awk -F: '{print $2}'`
kafka_ip=`sudo docker inspect elements_kafka_1 | grep KAFKA_ADVERTISED_HOST_NAME | awk -F "[=,\"]" '{print $3}'`
kafka_port=
group_id=$
pn=$ sudo docker exec -it elements_kafka_1 \
/opt/kafka_2.-2.2./bin/kafka-consumer-groups.sh --bootstrap-server $kafka_ip:$kafka_port --group $group_id --describe | grep -v LAG \
> /tmp/kafka-tp-${group_id}.info # modify format problem
sed -i 's/\r//g' /tmp/kafka-tp-${group_id}.info Offset=
logsize=
Lag= while read line
do
current_logsize=`echo $line | awk '{print $4}'`
if [ $current_logsize = ];then
continue
else
current_lag=`echo $line | awk '{print $5}'`
current_offset=`echo $line | awk '{print $3}'`
Offset=$((Offset+current_offset))
logsize=$((logsize+current_logsize))
Lag=$((Lag+current_lag))
fi
done < /tmp/kafka-tp-${group_id}.info case $pn in
offset|Offset)
echo $Offset
;;
logsize|logSize)
echo $logsize
;;
lag|Lag)
echo $Lag
;;
*)
echo Error
;;
esac

获取kafka的lag, offset, logsize的shell和python脚本的更多相关文章

  1. shell调用python脚本,并且向python脚本传递参数

    1.shell调用python脚本,并且向python脚本传递参数: shell中: python test.py $para1 $para2 python中: import sys def main ...

  2. jenkins发布程序触发shell调用python脚本刷新akamai cdn api

    刷新cdn的流程:jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 - ...

  3. 关于怎么获取kafka指定位置offset消息(转)

    1.在kafka中如果不设置消费的信息的话,一个消息只能被一个group.id消费一次,而新加如的group.id则会被“消费管理”记录,并指定从当前记录的消息位置开始向后消费.如果有段时间消费者关闭 ...

  4. 获取kafka最新offset-java

    之前笔者曾经写过通过scala的方式获取kafka最新的offset 但是大多数的情况我们需要使用java的方式进行获取最新offset scala的方式可以参考: http://www.cnblog ...

  5. 获取Kafka每个分区最新Offset的几种方法

    目录 脚本方法 Java 程序 参考资料 脚本方法 ./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhos ...

  6. 工具篇-Spark-Streaming获取kafka数据的两种方式(转载)

    转载自:https://blog.csdn.net/weixin_41615494/article/details/7952173 一.基于Receiver的方式 原理 Receiver从Kafka中 ...

  7. Kafka设计解析(十二)Kafka 如何读取offset topic内容 (__consumer_offsets)

    转载自 huxihx,原文链接 Kafka 如何读取offset topic内容 (__consumer_offsets) 众所周知,由于Zookeeper并不适合大批量的频繁写入操作,新版Kafka ...

  8. Spark Streaming消费Kafka Direct保存offset到Redis,实现数据零丢失和exactly once

    一.概述 上次写这篇文章文章的时候,Spark还是1.x,kafka还是0.8x版本,转眼间spark到了2.x,kafka也到了2.x,存储offset的方式也发生了改变,笔者根据上篇文章和网上文章 ...

  9. Kafka Consumer Lag Monitoring

    Sematext Monitoring  是最全面的Kafka监视解决方案之一,可捕获约200个Kafka指标,包括Kafka Broker,Producer和Consumer指标.尽管其中许多指标很 ...

随机推荐

  1. pandas基础(1)_Series和DataFrame

    1:pandas简介 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标 ...

  2. VBA for AutoCAD

    Download the Microsoft Visual Basic for Applications Module (VBA) 2016 Downloads AutoCAD 2016 VBA mo ...

  3. axios发送两次请求原因及解决方法

    axios发送两次请求原因及解决方法 最近Vue项目中使用axios组件,在页面交互中发现axios会发送两次请求,一种请求方式为OPTIONS,另外一种为自己设置的. 如图: 什么是CORS通信? ...

  4. Kaggle 数据挖掘比赛经验分享

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 来源 | 腾讯广告算法大赛 作者 | 陈成龙 Kaggle 于 2010 年创立,专注数据科学,机器学 ...

  5. SqlConnectionStringBuilder的用法

    SqlConnectionStringBuilder提供了一个很好的构建SQL连接字串的方式.不多说,见代码: SqlConnectionStringBuilder builder = new Sql ...

  6. [LOJ3054] 「HNOI2019」鱼

    [LOJ3054] 「HNOI2019」鱼 链接 链接 题解 首先想 \(O(n^3)\) 的暴力,不难发现枚举 \(A\) 和 \(D\) 后, \((B,C)\) 和 \((E,F)\) 两组点互 ...

  7. Angular2.0的学习(一)

    第一节课 1.Angular程序架构 2.搭建Angular开发环境 3.开发在线竞拍程序Auction的第一个版本

  8. 命令行 IRC 客户端 irssi 的基本操作

    登录与退出 启动 irssi $ irssi 登陆 IRC 服务器/connect server port 修改昵称/nick nickname 直接带昵称登录指定的服务器$ irssi -c [se ...

  9. F. Coprime Subsequences 莫比乌斯反演

    http://codeforces.com/contest/803/problem/F 这题正面做了一发dp dp[j]表示产生gcd = j的时候的方案总数. 然后稳稳地超时. 考虑容斥. 总答案数 ...

  10. Linux 运维培训笔记

    2018/01/05 权限管理:sudoers文件 KAIFA_ADMINS           ALL=(OP1)            KAIFACMD 用户(大写)                ...