Kafka学习之四_Grafana监控相关的学习

kafka,学习,grafana,监控,相关 · 浏览次数 : 103

小编点评

**Kafka监控教程** **安装和配置** 1. 下载并解压缩 `alertmanager-0.25.0.linux-arm64.tar.gz`、`grafana-enterprise-10.0.1.linux-arm64.tar.gz`、`kafka_exporter-1.7.0.linux-arm64.tar.gz` 和 `prometheus-2.44.0.linux-arm64.tar.gz` 文件。 2. 将 `prometheus-2.44.0.linux-arm64` 文件安装到 `/usr/local/bin` 中。 3. 创建一个文件 named `prometheus.yml` 并将其内容设置为: ```yaml storage: tsdb: path: /prometheusdata/ size: 15GB retention: time: 15d dataSources: - name: kafka static_configs: - targets: 127.0.0.1:9308 ``` **配置kafaka-prometheus1. prometheus** 1. 在 `prometheus.yml` 文件中添加以下配置: ```yaml scrape_configs: - job_name: 'kafka' static_configs: - targets: - 127.0.0.1:9308 ``` **配置grafana** 1. 在 `prometheus.yml` 文件中添加以下配置: ```yaml grafana: enabled: true url: "localhost:9095" ``` **启动所有服务** 1. 启动 `prometheus` 和 `grafana` 服务。 **监控kafka** 1. 运行以下命令以监控 `kafka`: ```bash nohup ./prometheus --storage.tsdb.retention.time=15d --storage.tsdb.path=\"/prometheusdata/\" --storage.tsdb.retention.size=15GB --web.listen-address=\"0.0.0.0:9095\" ``` 2. 在 Grafana 中创建一个新的图表,选择 `kafka` 数据源并连接到您的 `kafka` 服务器。 **结果** 1. 运行上述命令将创建一个名为 `kafka` 的图表,显示 `kafka` 中的所有指标。 2. 您可以通过更改 `scrape_configs` 中的 `targets` 参数来监控其他主题。 **总结** 通过这步骤,您可以安装、配置和监控 `kafka` 和 `grafana` 服务,以实时监控您的 `kafka` 数据。

正文

Kafka学习之四_Grafana监控相关的学习


背景

想一并学习一下kafaka的监控.
又重新开始学习grafana了:
下载地址:
https://grafana.com/grafana/download
https://prometheus.io/download/
https://github.com/danielqsj/kafka_exporter

利用这三个网站下载较新的资源,然后进行测试与安装使用.

之前写过很多rpm还有docker的方式方法,想着这次使用一下二进制方式安装.
在某些机器上面可能更加方便一点 

这次主要是想在 鲲鹏上面验证, 所以下载的文件如下:

alertmanager-0.25.0.linux-arm64.tar.gz
grafana-enterprise-10.0.1.linux-arm64.tar.gz
kafka_exporter-1.7.0.linux-arm64.tar.gz
prometheus-2.44.0.linux-arm64.tar.gz

安装-grafana

解压缩 grafana的压缩包
然后查看部分命令的帮助信息

./grafana server -h
NAME:
   grafana server - run the grafana server

USAGE:
   grafana server [command options] [arguments...]

OPTIONS:
   --config value           Path to config file
   --homepath value         Path to Grafana install/home path, defaults to working directory
   --pidfile value          Path to Grafana pid file
   --packaging value        describes the way Grafana was installed (default: "unknown")
   --configOverrides value  Configuration options to override defaults as a string. e.g. cfg:default.paths.log=/dev/null
   --version, -v            print the version
   --vv                     prints current version, all dependencies and exits (default: false)
   --profile                Turn on pprof profiling (default: false)
   --profile-addr value     Define custom address for profiling (default: "localhost")
   --profile-port value     Define custom port for profiling (default: 6060)
   --tracing                Turn on tracing (default: false)
   --tracing-file value     Define tracing output file (default: "trace.out")
   --help, -h               show help

最简单的启动脚本为
cd /grafana-xx-xx/bin
nohup ./grafana server --config ../conf/defaults.ini 2>&1 >/devnull & 

注意可以修改 ../conf/defaults.ini 内的文件制定很多配置.

默认密码是 admin/admin 第一次登录需要修改密码

安装kafka-exporter

启动脚本为:
nohup ./kafka_exporter --sasl.enabled --web.listen-address=":9308" --sasl.username="admin" --sasl.password="Test20131127" --sasl.mechanism="plain" --kafka.server=127.0.0.1:9093 2>&1 >/devnull & 
解压缩先查看帮助然后根据帮助进行处理

Flags:
  -h, --[no-]help                Show context-sensitive help (also try --help-long and --help-man).
      --web.listen-address=":9308"  
                                 Address to listen on for web interface and telemetry.
      --web.telemetry-path="/metrics"  
                                 Path under which to expose metrics.
      --topic.filter=".*"        Regex that determines which topics to collect.
      --topic.exclude="^$"       Regex that determines which topics to exclude.
      --group.filter=".*"        Regex that determines which consumer groups to collect.
      --group.exclude="^$"       Regex that determines which consumer groups to exclude.
      --[no-]log.enable-sarama   Turn on Sarama logging, default is false.
      --kafka.server=kafka:9092 ...  
                                 Address (host:port) of Kafka server.
      --[no-]sasl.enabled        Connect using SASL/PLAIN, default is false.
      --[no-]sasl.handshake      Only set this to false if using a non-Kafka SASL proxy, default is true.
      --sasl.username=""         SASL user name.
      --sasl.password=""         SASL user password.
      --sasl.mechanism=""        The SASL SCRAM SHA algorithm sha256 or sha512 or gssapi as mechanism
      --sasl.service-name=""     Service name when using kerberos Auth
      --sasl.kerberos-config-path=""  
                                 Kerberos config path
      --sasl.realm=""            Kerberos realm
      --sasl.kerberos-auth-type=""  
                                 Kerberos auth type. Either 'keytabAuth' or 'userAuth'
      --sasl.keytab-path=""      Kerberos keytab file path
      --[no-]sasl.disable-PA-FX-FAST  
                                 Configure the Kerberos client to not use PA_FX_FAST, default is false.
      --[no-]tls.enabled         Connect to Kafka using TLS, default is false.
      --tls.server-name=""       Used to verify the hostname on the returned certificates unless tls.insecure-skip-tls-verify is given. The kafka server's name
                                 should be given.
      --tls.ca-file=""           The optional certificate authority file for Kafka TLS client authentication.
      --tls.cert-file=""         The optional certificate file for Kafka client authentication.
      --tls.key-file=""          The optional key file for Kafka client authentication.
      --[no-]server.tls.enabled  Enable TLS for web server, default is false.
      --[no-]server.tls.mutual-auth-enabled  
                                 Enable TLS client mutual authentication, default is false.
      --server.tls.ca-file=""    The certificate authority file for the web server.
      --server.tls.cert-file=""  The certificate file for the web server.
      --server.tls.key-file=""   The key file for the web server.
      --[no-]tls.insecure-skip-tls-verify  
                                 If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure. Default is
                                 false
      --kafka.version="2.0.0"    Kafka broker version
      --[no-]use.consumelag.zookeeper  
                                 if you need to use a group from zookeeper, default is false
      --zookeeper.server=localhost:2181 ...  
                                 Address (hosts) of zookeeper server.
      --kafka.labels=""          Kafka cluster name
      --refresh.metadata="30s"   Metadata refresh interval
      --[no-]offset.show-all     Whether show the offset/lag for all consumer group, otherwise, only show connected consumer groups, default is true
      --[no-]concurrent.enable   If true, all scrapes will trigger kafka operations otherwise, they will share results. WARN: This should be disabled on large
                                 clusters. Default is false
      --topic.workers=100        Number of topic workers
      --[no-]kafka.allow-auto-topic-creation  
                                 If true, the broker may auto-create topics that we requested which do not already exist, default is false.
      --verbosity=0              Verbosity log level
      --log.level=info           Only log messages with the given severity or above. One of: [debug, info, warn, error]
      --log.format=logfmt        Output format of log messages. One of: [logfmt, json]
      --[no-]version             Show application version.


安装以及监控kafaka-prometheus

1. prometheus的日志留存时间和大小限制
 --storage.tsdb.retention.time=15d
其实默认值就是 15天, 可以根据情况适当进行调整. 

2. 存放目录
--storage.tsdb.path="/prometheusdata/"

3.大小
--storage.tsdb.retention.size=15GB

4. 修改端口
--web.listen-address="0.0.0.0:9095"

5. 设置监控kafka

    scrape_configs:
      # 监控业务kafka
      - job_name: 'kafka'
        static_configs:
        - targets:
          - 127.0.0.1:9308

整体命令为:
nohup ./prometheus --storage.tsdb.retention.time=15d  --storage.tsdb.path="/prometheusdata/"  --storage.tsdb.retention.size=15GB --web.listen-address="0.0.0.0:9095" 2>&1 >/dev/null &

增加数据源

增加prometheus的数据源
然后grafana导入: 7589 监控就可以了. 

结果展示

image

与Kafka学习之四_Grafana监控相关的学习相似的内容:

Kafka学习之四_Grafana监控相关的学习

# Kafka学习之四_Grafana监控相关的学习 ## 背景 ``` 想一并学习一下kafaka的监控. 又重新开始学习grafana了: 下载地址: https://grafana.com/grafana/download https://prometheus.io/download/ htt

kafka学习之五_多个磁盘的性能验证

# kafka学习之五_多个磁盘的性能验证 ## 背景 ``` 周末在家学习kafka 上午验证了grafana+kafka_exporter的监控 下午想着验证一把性能相关. kafka学习之三里面,有成套的脚本. 我这边想起来之前还有一个机器, 是四个单盘HDD, 我可以直接进行使用和验证. `

Jmeter学习之八_测试kafka

# Jmeter学习之八_测试kafka ## 背景 ``` 最近在持续学习. 昨天学习了grafana展示Jmeter测试数据库的结果 今天想着能够测试一下kafka验证一下kafka的吞吐量等信息 说干就干的. ``` ## 遇到的坑 ``` 本来计划使用pepper-box 或者是 kafka

[转帖]java性能分析之火焰图

http://t.zoukankan.com/lemon-le-p-13820204.html 原由 最近因为kafka、zookeeper、ES和相关的Java应用的内存问题搞的头大,做运维将近4年,对Java调优、性能方面的知识了解的少之又少,是时候下定决心来对他多一个学习了。不能一口吃成一个胖

kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现实时增量同步

1、之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql。 注:CDC (Change Data Capture) 是一种技术,用于捕获和同步数据库中的更改。 1)Debezium步

kafka的学习之二_kafka的压测与GUI管理

# kafka的学习之二_kafka的压测与GUI管理 ## 第一部分创建topic ``` cd /root/kafka_2.13-3.5.0 bin/kafka-topics.sh --create --bootstrap-server 10.110.139.184:9093 --command

kafka的学习之一_带SASL鉴权的集群安装与启动

# kafka的学习之一_带SASL鉴权的集群安装与启动 ## 背景 ``` 想开始一段新的里程. 可能会比现在累, 可能会需要更多的学习和努力. kafka可能就是其中之一. 自己之前总是畏缩不前. 不想面对很多压力. 年龄已经很大了, 必须得向前看继续努力了. ``` ## 关于kafka ``

kafka学习之三_信创CPU下单节点kafka性能测试验证

# kafka学习之三_信创CPU下单节点kafka性能测试验证 ## 背景 ``` 前面学习了 3controller+5broker 的集群部署模式. 晚上想着能够验证一下国产机器的性能. 但是国产机器上面的设备有限. 所以想着进行单节点的安装与测试. 并且记录一下简单结果 希望对以后的工作有指

从Kafka中学习高性能系统如何设计

相信各位小伙伴之前或多或少接触过消息队列,比较知名的包含Rocket MQ和Kafka,在京东内部使用的是自研的消息中间件JMQ,从JMQ2升级到JMQ4的也是带来了性能上的明显提升,并且JMQ4的底层也是参考Kafka去做的设计。在这里我会给大家展示Kafka它的高性能是如何设计的,大家也可以学习相关方法论将其利用在实际项目中,也许下一个顶级项目就在各位的代码中产生了。

[转帖]Kafka 核心技术与实战学习笔记(七)kafka集群参数配置(上)

一.Broker 端参数 Broke存储信息配置 log.dirs:非常重要,指定Broker需要使用的若干文件目录路径,没有默认值必须亲自指定。log.dir:他只能表示单个路径,补充上一个参数用。 如何设置: 只要设置log.dirs,不要设置log.dir线上环境一定要为log.dirs配置多