SlideShare une entreprise Scribd logo
1  sur  28
구성도
Kafka Cluster
node exporter : 서버 자원(CPU, Memory, Disk) 지표 수집
jmx exporter : Kafka 구동과 관련된 jmx 지표 수집
개요
기동 순서 기동 대상 포트 기동 방법 역할
1. JMX exporter
모든 Broker
8088
Kafka 기동시 jar 파일
실행됨(agent)
Kafka의 JMX 정보 송신
2. Node exporter 9100 ./node_exporter 서버의 자원상황 송신
3. Prometheus
모니터링 서버
9090 ./prometheus 메트릭 수집
4. Grafana 3000
systemctl start
grafana-server.service 메트릭 시각화
1. JMX Exporter (1/5)
Prometheus와 연동하기 위한 일종의 Agent 파일
https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/
모든 Broker에 해당
1. JMX Exporter (2/5)
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar
아래와 같이 JMX_Exporter 파일을 다운로드 한다.
모든 Broker에 해당
1. JMX Exporter (3/5)
https://github.com/prometheus/jmx_exporter/tree/main/example_configs
wget https://raw.githubusercontent.com/prometheus/jmx_exporter/main/example_configs/kafka-2_0_0.yml
아래와 같이 JMX_Exporter 파일 실행에 적용할 설정 파일을 다운로드 한다.(수집할 JMX를 정의한 설정 파일)
모든 Broker에 해당
1. JMX Exporter (4/5)
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi
if [ "x$KAFKA_OPTS" = "x" ]; then
export KAFKA_OPTS="-javaagent:/root/monitor/jmx_prometheus_javaagent-0.17.2.jar=8088:/root/monitor/kafka-2_0_0.yml"
fi
EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'}
카프카 재기동
kafka-server-stop.sh
kafka-server-start.sh -daemon $KAFKA/config/server.properties
$KAFKA/bin/kafka-server-start.sh 에서 아래 붉은색 추가(Kafka 기동시 JMX Exporter를 같이 시작하기 위함)
모든 Broker에 해당
Kafka 재기동 이후 Exporter 정상 여부 확인
curl localhost:8088
차후, Prometheus 서버 및 웹 화면에서 메트릭 전송을 위해 방화벽 개방
firewall-cmd --permanent --zone=public --add-port=8088/tcp
firewall-cmd --reload
firewall-cmd --list-ports
1. JMX Exporter (5/5)
모든 Broker에 해당
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
tar -xzf node_exporter-1.4.0.linux-amd64.tar.gz
firewall-cmd --permanent --zone=public --add-port=9100/tcp
firewall-cmd --reload
firewall-cmd --list-ports
./node_exporter (압축 해제한 디렉토리에서 쉘파일 실행)
2. Node Exporter
모든 Broker에 해당
https://prometheus.io/download/
(방화벽 해제)
(압축 해제)
wget https://github.com/prometheus/prometheus/releases/download/v2.40.3/prometheus-2.40.3.linux-amd64.tar.gz
tar -xzf prometheus-2.40.3.linux-amd64.tar.gz
vi prometheus.yml
모니터링할 서버에 설치 및 실행
# my global config
global:
scrape_interval: 10s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 10s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: "kafka"
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ["master:8088","slave1:8088","slave2:8088"]
- job_name: "server status"
static_configs:
- targets: ["master:9100","slave1:9100","slave2:9100"]
3. Prometheus (1/4)
(압축 해제한 디렉토리에 있는 설정 파일 편집)
(JMX Exporter 접속 정보)
(Node Exporter 정보)
#포트 개방
firewall-cmd --permanent --zone=public --add-port=9090/tcp
firewall-cmd--reload
firewall-cmd --list-ports
#실행
./prometheus
모니터링할 서버에 설치 및 실행
3. Prometheus (2/4)
3. Prometheus (3/4)
웹 브라우저 접속하여 2개의 exporter에서
수집한 Metric 정상 수신 여부 확인
모니터링할 서버에 설치 및 실행
3. Prometheus (4/4)
모니터링할 서버에 설치 및 실행
https://grafana.com/grafana/download
4. Grafana (1/10)
모니터링할 서버에 설치 및 실행
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.6-1.x86_64.rpm
yum install grafana-enterprise-9.2.6-1.x86_64.rpm
firewall-cmd --permanent --zone=public --add-port=3000/tcp
firewall-cmd --reload
firewall-cmd --list-ports
systemctl start grafana-server.service
4. Grafana (2/10)
모니터링할 서버에 설치 및 실행
(서비스 실행)
(서비스 등록 및 부팅시 자동 실행 : systemctl enable grafana-server.service)
서버 접속 예시 : http://192.168.56.30:3000/login
Email or username: admin
Password: admin
모니터링할 서버에 설치 및 실행
4. Grafana (3/10)
(Password Setting)
모니터링할 서버에 설치 및 실행
4. Grafana (4/10)
Click ↓
모니터링할 서버에 설치 및 실행
4. Grafana (5/10)
Click ↓
① Prometheus Server Endpoing ↓
② Click ↓
모니터링할 서버에 설치 및 실행
4. Grafana (6/10)
node_exporter 대시보드 설정
1860↓
Prometheus↓
모니터링할 서버에 설치 및 실행
4. Grafana (7/10)
결과 화면
모니터링할 서버에 설치 및 실행
4. Grafana (8/10)
jmx_exporter 대시보드 설정
11962↓
Prometheus↓
https://grafana.com/grafana/dashboards/11962-kafka-metrics/
모니터링할 서버에 설치 및 실행
4. Grafana (9/10)
[참고] 사용 가능한 Grafana Metrics 조회
모니터링할 서버에 설치 및 실행
4. Grafana (10/10)
결과 화면
https://grafana.com/grafana/dashboards/?search=kafka
[Tip] Grafana
[참고] 기타 유용한 Grafana Metrics
[Tip] Grafana
[참고] ID : 721
[Tip] Grafana
[참고] ID : 8582
[Tip] Grafana
[참고] ID : 8582
[Tip] Grafana
* 즐겨찾기 활용

Contenu connexe

Tendances

Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheusKasper Nissen
 
Removing performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationRemoving performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationKnoldus Inc.
 
Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...HostedbyConfluent
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellN Masahiro
 
Apache Flink and what it is used for
Apache Flink and what it is used forApache Flink and what it is used for
Apache Flink and what it is used forAljoscha Krettek
 
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...confluent
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak PerformanceTodd Palino
 
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...OpenStack Korea Community
 
PostgreSQL and Linux Containers
PostgreSQL and Linux ContainersPostgreSQL and Linux Containers
PostgreSQL and Linux ContainersJignesh Shah
 
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...HostedbyConfluent
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing GuideJose De La Rosa
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlJiangjie Qin
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeperSaurav Haloi
 
Grafana Mimir and VictoriaMetrics_ Performance Tests.pptx
Grafana Mimir and VictoriaMetrics_ Performance Tests.pptxGrafana Mimir and VictoriaMetrics_ Performance Tests.pptx
Grafana Mimir and VictoriaMetrics_ Performance Tests.pptxRomanKhavronenko
 
Performance Tuning RocksDB for Kafka Streams’ State Stores
Performance Tuning RocksDB for Kafka Streams’ State StoresPerformance Tuning RocksDB for Kafka Streams’ State Stores
Performance Tuning RocksDB for Kafka Streams’ State Storesconfluent
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayDataWorks Summit
 

Tendances (20)

Monitoring with prometheus
Monitoring with prometheusMonitoring with prometheus
Monitoring with prometheus
 
Removing performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configurationRemoving performance bottlenecks with Kafka Monitoring and topic configuration
Removing performance bottlenecks with Kafka Monitoring and topic configuration
 
Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...Kafka High Availability in multi data center setup with floating Observers wi...
Kafka High Availability in multi data center setup with floating Observers wi...
 
Fluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshellFluentd v1.0 in a nutshell
Fluentd v1.0 in a nutshell
 
Apache Flink and what it is used for
Apache Flink and what it is used forApache Flink and what it is used for
Apache Flink and what it is used for
 
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
Performance Tuning RocksDB for Kafka Streams' State Stores (Dhruba Borthakur,...
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
Kafka at Peak Performance
Kafka at Peak PerformanceKafka at Peak Performance
Kafka at Peak Performance
 
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
[OpenInfra Days Korea 2018] Day 2 - CEPH 운영자를 위한 Object Storage Performance T...
 
Apache Flink Hands On
Apache Flink Hands OnApache Flink Hands On
Apache Flink Hands On
 
PostgreSQL and Linux Containers
PostgreSQL and Linux ContainersPostgreSQL and Linux Containers
PostgreSQL and Linux Containers
 
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
Introduction to Kafka Cruise Control
Introduction to Kafka Cruise ControlIntroduction to Kafka Cruise Control
Introduction to Kafka Cruise Control
 
Dataflow with Apache NiFi
Dataflow with Apache NiFiDataflow with Apache NiFi
Dataflow with Apache NiFi
 
Introduction to Apache ZooKeeper
Introduction to Apache ZooKeeperIntroduction to Apache ZooKeeper
Introduction to Apache ZooKeeper
 
Envoy and Kafka
Envoy and KafkaEnvoy and Kafka
Envoy and Kafka
 
Grafana Mimir and VictoriaMetrics_ Performance Tests.pptx
Grafana Mimir and VictoriaMetrics_ Performance Tests.pptxGrafana Mimir and VictoriaMetrics_ Performance Tests.pptx
Grafana Mimir and VictoriaMetrics_ Performance Tests.pptx
 
Performance Tuning RocksDB for Kafka Streams’ State Stores
Performance Tuning RocksDB for Kafka Streams’ State StoresPerformance Tuning RocksDB for Kafka Streams’ State Stores
Performance Tuning RocksDB for Kafka Streams’ State Stores
 
Hadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox GatewayHadoop REST API Security with Apache Knox Gateway
Hadoop REST API Security with Apache Knox Gateway
 

Similaire à Kafka monitoring using Prometheus and Grafana

[오픈소스컨설팅]Nginx jboss 연동가이드__v1
[오픈소스컨설팅]Nginx jboss 연동가이드__v1[오픈소스컨설팅]Nginx jboss 연동가이드__v1
[오픈소스컨설팅]Nginx jboss 연동가이드__v1Ji-Woong Choi
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)Ji-Woong Choi
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3Ji-Woong Choi
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기Ted Won
 
Nginx Https 적용하기.pptx
Nginx Https 적용하기.pptxNginx Https 적용하기.pptx
Nginx Https 적용하기.pptxwonyong hwang
 
Blockchain 4th dapp programming
Blockchain 4th dapp programmingBlockchain 4th dapp programming
Blockchain 4th dapp programmingihpark92
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHousejieun kim
 
Monitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnMonitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnDataya Nolja
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014Gruter
 
Hadoopcluster install in_centos_virtualbox
Hadoopcluster install in_centos_virtualboxHadoopcluster install in_centos_virtualbox
Hadoopcluster install in_centos_virtualbox은봉 이
 
PCF Installation Guide
PCF Installation GuidePCF Installation Guide
PCF Installation Guideseungdon Choi
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제Tae Young Lee
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)wonyong hwang
 
[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How ToJi-Woong Choi
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우jieunsys
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurationsJohn Kim
 

Similaire à Kafka monitoring using Prometheus and Grafana (20)

Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
[오픈소스컨설팅]Nginx jboss 연동가이드__v1
[오픈소스컨설팅]Nginx jboss 연동가이드__v1[오픈소스컨설팅]Nginx jboss 연동가이드__v1
[오픈소스컨설팅]Nginx jboss 연동가이드__v1
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Nginx Https 적용하기.pptx
Nginx Https 적용하기.pptxNginx Https 적용하기.pptx
Nginx Https 적용하기.pptx
 
Blockchain 4th dapp programming
Blockchain 4th dapp programmingBlockchain 4th dapp programming
Blockchain 4th dapp programming
 
Build the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouseBuild the OpenStack Cloud with Neutron Networing, IceHouse
Build the OpenStack Cloud with Neutron Networing, IceHouse
 
Monitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOnMonitoring System for DevOps - Case of MelOn
Monitoring System for DevOps - Case of MelOn
 
Hadoop security DeView 2014
Hadoop security DeView 2014Hadoop security DeView 2014
Hadoop security DeView 2014
 
Hadoopcluster install in_centos_virtualbox
Hadoopcluster install in_centos_virtualboxHadoopcluster install in_centos_virtualbox
Hadoopcluster install in_centos_virtualbox
 
PCF Installation Guide
PCF Installation GuidePCF Installation Guide
PCF Installation Guide
 
20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제20141029 하둡2.5와 hive설치 및 예제
20141029 하둡2.5와 hive설치 및 예제
 
Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)Hyperledger fabric practice(pdf)
Hyperledger fabric practice(pdf)
 
[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To[오픈소스컨설팅]Tomcat6&7 How To
[오픈소스컨설팅]Tomcat6&7 How To
 
톰캣 운영 노하우
톰캣 운영 노하우톰캣 운영 노하우
톰캣 운영 노하우
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Nginx basic configurations
Nginx basic configurationsNginx basic configurations
Nginx basic configurations
 

Plus de wonyong hwang

Hyperledger Explorer.pptx
Hyperledger Explorer.pptxHyperledger Explorer.pptx
Hyperledger Explorer.pptxwonyong hwang
 
하이퍼레저 페이지 단위 블록 조회
하이퍼레저 페이지 단위 블록 조회하이퍼레저 페이지 단위 블록 조회
하이퍼레저 페이지 단위 블록 조회wonyong hwang
 
토큰 증권 개요.pptx
토큰 증권 개요.pptx토큰 증권 개요.pptx
토큰 증권 개요.pptxwonyong hwang
 
Vue.js 기초 실습.pptx
Vue.js 기초 실습.pptxVue.js 기초 실습.pptx
Vue.js 기초 실습.pptxwonyong hwang
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxwonyong hwang
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptxwonyong hwang
 
HyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfHyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfwonyong hwang
 
Ngrok을 이용한 Nginx Https 적용하기.pptx
Ngrok을 이용한 Nginx Https 적용하기.pptxNgrok을 이용한 Nginx Https 적용하기.pptx
Ngrok을 이용한 Nginx Https 적용하기.pptxwonyong hwang
 
Kafka JDBC Connect Guide(Postgres Sink).pptx
Kafka JDBC Connect Guide(Postgres Sink).pptxKafka JDBC Connect Guide(Postgres Sink).pptx
Kafka JDBC Connect Guide(Postgres Sink).pptxwonyong hwang
 
Nginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptxNginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptxwonyong hwang
 
주가 정보 다루기.pdf
주가 정보 다루기.pdf주가 정보 다루기.pdf
주가 정보 다루기.pdfwonyong hwang
 
App development with quasar (pdf)
App development with quasar (pdf)App development with quasar (pdf)
App development with quasar (pdf)wonyong hwang
 
Hyperledger Fabric practice (v2.0)
Hyperledger Fabric practice (v2.0) Hyperledger Fabric practice (v2.0)
Hyperledger Fabric practice (v2.0) wonyong hwang
 
Hyperledger composer
Hyperledger composerHyperledger composer
Hyperledger composerwonyong hwang
 
BlockChain implementation by python
BlockChain implementation by pythonBlockChain implementation by python
BlockChain implementation by pythonwonyong hwang
 
Block chain introduction slideshare
Block chain introduction   slideshareBlock chain introduction   slideshare
Block chain introduction slidesharewonyong hwang
 

Plus de wonyong hwang (19)

Hyperledger Explorer.pptx
Hyperledger Explorer.pptxHyperledger Explorer.pptx
Hyperledger Explorer.pptx
 
하이퍼레저 페이지 단위 블록 조회
하이퍼레저 페이지 단위 블록 조회하이퍼레저 페이지 단위 블록 조회
하이퍼레저 페이지 단위 블록 조회
 
토큰 증권 개요.pptx
토큰 증권 개요.pptx토큰 증권 개요.pptx
토큰 증권 개요.pptx
 
Vue.js 기초 실습.pptx
Vue.js 기초 실습.pptxVue.js 기초 실습.pptx
Vue.js 기초 실습.pptx
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptx
 
HyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdfHyperLedger Fabric V2.5.pdf
HyperLedger Fabric V2.5.pdf
 
Ngrok을 이용한 Nginx Https 적용하기.pptx
Ngrok을 이용한 Nginx Https 적용하기.pptxNgrok을 이용한 Nginx Https 적용하기.pptx
Ngrok을 이용한 Nginx Https 적용하기.pptx
 
Kafka JDBC Connect Guide(Postgres Sink).pptx
Kafka JDBC Connect Guide(Postgres Sink).pptxKafka JDBC Connect Guide(Postgres Sink).pptx
Kafka JDBC Connect Guide(Postgres Sink).pptx
 
Nginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptxNginx Reverse Proxy with Kafka.pptx
Nginx Reverse Proxy with Kafka.pptx
 
Kafka Rest.pptx
Kafka Rest.pptxKafka Rest.pptx
Kafka Rest.pptx
 
주가 정보 다루기.pdf
주가 정보 다루기.pdf주가 정보 다루기.pdf
주가 정보 다루기.pdf
 
App development with quasar (pdf)
App development with quasar (pdf)App development with quasar (pdf)
App development with quasar (pdf)
 
kubernetes practice
kubernetes practicekubernetes practice
kubernetes practice
 
Hyperledger Fabric practice (v2.0)
Hyperledger Fabric practice (v2.0) Hyperledger Fabric practice (v2.0)
Hyperledger Fabric practice (v2.0)
 
Docker practice
Docker practiceDocker practice
Docker practice
 
Hyperledger composer
Hyperledger composerHyperledger composer
Hyperledger composer
 
BlockChain implementation by python
BlockChain implementation by pythonBlockChain implementation by python
BlockChain implementation by python
 
Block chain introduction slideshare
Block chain introduction   slideshareBlock chain introduction   slideshare
Block chain introduction slideshare
 

Kafka monitoring using Prometheus and Grafana

  • 1.
  • 2. 구성도 Kafka Cluster node exporter : 서버 자원(CPU, Memory, Disk) 지표 수집 jmx exporter : Kafka 구동과 관련된 jmx 지표 수집
  • 3. 개요 기동 순서 기동 대상 포트 기동 방법 역할 1. JMX exporter 모든 Broker 8088 Kafka 기동시 jar 파일 실행됨(agent) Kafka의 JMX 정보 송신 2. Node exporter 9100 ./node_exporter 서버의 자원상황 송신 3. Prometheus 모니터링 서버 9090 ./prometheus 메트릭 수집 4. Grafana 3000 systemctl start grafana-server.service 메트릭 시각화
  • 4. 1. JMX Exporter (1/5) Prometheus와 연동하기 위한 일종의 Agent 파일 https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/ 모든 Broker에 해당
  • 5. 1. JMX Exporter (2/5) wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.17.2/jmx_prometheus_javaagent-0.17.2.jar 아래와 같이 JMX_Exporter 파일을 다운로드 한다. 모든 Broker에 해당
  • 6. 1. JMX Exporter (3/5) https://github.com/prometheus/jmx_exporter/tree/main/example_configs wget https://raw.githubusercontent.com/prometheus/jmx_exporter/main/example_configs/kafka-2_0_0.yml 아래와 같이 JMX_Exporter 파일 실행에 적용할 설정 파일을 다운로드 한다.(수집할 JMX를 정의한 설정 파일) 모든 Broker에 해당
  • 7. 1. JMX Exporter (4/5) if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" fi if [ "x$KAFKA_OPTS" = "x" ]; then export KAFKA_OPTS="-javaagent:/root/monitor/jmx_prometheus_javaagent-0.17.2.jar=8088:/root/monitor/kafka-2_0_0.yml" fi EXTRA_ARGS=${EXTRA_ARGS-'-name kafkaServer -loggc'} 카프카 재기동 kafka-server-stop.sh kafka-server-start.sh -daemon $KAFKA/config/server.properties $KAFKA/bin/kafka-server-start.sh 에서 아래 붉은색 추가(Kafka 기동시 JMX Exporter를 같이 시작하기 위함) 모든 Broker에 해당
  • 8. Kafka 재기동 이후 Exporter 정상 여부 확인 curl localhost:8088 차후, Prometheus 서버 및 웹 화면에서 메트릭 전송을 위해 방화벽 개방 firewall-cmd --permanent --zone=public --add-port=8088/tcp firewall-cmd --reload firewall-cmd --list-ports 1. JMX Exporter (5/5) 모든 Broker에 해당
  • 9. wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz tar -xzf node_exporter-1.4.0.linux-amd64.tar.gz firewall-cmd --permanent --zone=public --add-port=9100/tcp firewall-cmd --reload firewall-cmd --list-ports ./node_exporter (압축 해제한 디렉토리에서 쉘파일 실행) 2. Node Exporter 모든 Broker에 해당 https://prometheus.io/download/ (방화벽 해제) (압축 해제)
  • 10. wget https://github.com/prometheus/prometheus/releases/download/v2.40.3/prometheus-2.40.3.linux-amd64.tar.gz tar -xzf prometheus-2.40.3.linux-amd64.tar.gz vi prometheus.yml 모니터링할 서버에 설치 및 실행 # my global config global: scrape_interval: 10s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 10s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "kafka" # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["master:8088","slave1:8088","slave2:8088"] - job_name: "server status" static_configs: - targets: ["master:9100","slave1:9100","slave2:9100"] 3. Prometheus (1/4) (압축 해제한 디렉토리에 있는 설정 파일 편집) (JMX Exporter 접속 정보) (Node Exporter 정보)
  • 11. #포트 개방 firewall-cmd --permanent --zone=public --add-port=9090/tcp firewall-cmd--reload firewall-cmd --list-ports #실행 ./prometheus 모니터링할 서버에 설치 및 실행 3. Prometheus (2/4)
  • 12. 3. Prometheus (3/4) 웹 브라우저 접속하여 2개의 exporter에서 수집한 Metric 정상 수신 여부 확인 모니터링할 서버에 설치 및 실행
  • 13. 3. Prometheus (4/4) 모니터링할 서버에 설치 및 실행
  • 15. wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.6-1.x86_64.rpm yum install grafana-enterprise-9.2.6-1.x86_64.rpm firewall-cmd --permanent --zone=public --add-port=3000/tcp firewall-cmd --reload firewall-cmd --list-ports systemctl start grafana-server.service 4. Grafana (2/10) 모니터링할 서버에 설치 및 실행 (서비스 실행) (서비스 등록 및 부팅시 자동 실행 : systemctl enable grafana-server.service)
  • 16. 서버 접속 예시 : http://192.168.56.30:3000/login Email or username: admin Password: admin 모니터링할 서버에 설치 및 실행 4. Grafana (3/10) (Password Setting)
  • 17. 모니터링할 서버에 설치 및 실행 4. Grafana (4/10) Click ↓
  • 18. 모니터링할 서버에 설치 및 실행 4. Grafana (5/10) Click ↓ ① Prometheus Server Endpoing ↓ ② Click ↓
  • 19. 모니터링할 서버에 설치 및 실행 4. Grafana (6/10) node_exporter 대시보드 설정 1860↓ Prometheus↓
  • 20. 모니터링할 서버에 설치 및 실행 4. Grafana (7/10) 결과 화면
  • 21. 모니터링할 서버에 설치 및 실행 4. Grafana (8/10) jmx_exporter 대시보드 설정 11962↓ Prometheus↓
  • 22. https://grafana.com/grafana/dashboards/11962-kafka-metrics/ 모니터링할 서버에 설치 및 실행 4. Grafana (9/10) [참고] 사용 가능한 Grafana Metrics 조회
  • 23. 모니터링할 서버에 설치 및 실행 4. Grafana (10/10) 결과 화면

Notes de l'éditeur

  1. 그라파나 자동 실행 : systemctl enable grafana-server.service