SlideShare uma empresa Scribd logo
1 de 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
* 즐겨찾기 활용

Mais conteúdo relacionado

Mais procurados

Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기raccoony
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0Ji-Woong Choi
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험NHN FORWARD
 
Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링JANGWONSEO4
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법pyrasis
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례SONG INSEOB
 
VXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneVXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneYoshikazu Nojima
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINXNGINX, Inc.
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3Ji-Woong Choi
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.NAVER D2
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화OpenStack Korea Community
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch YongKi Kim
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedGanapathi Kandaswamy
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링OpenStack Korea Community
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep DiveDocker, Inc.
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringNoahKIM36
 

Mais procurados (20)

Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
 
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
[오픈소스컨설팅]RHEL7/CentOS7 Pacemaker기반-HA시스템구성-v1.0
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링Apache kafka 관리와 모니터링
Apache kafka 관리와 모니터링
 
Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
VXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced ZoneVXLAN Integration with CloudStack Advanced Zone
VXLAN Integration with CloudStack Advanced Zone
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
 
Understanding Open vSwitch
Understanding Open vSwitch Understanding Open vSwitch
Understanding Open vSwitch
 
Docker Container
Docker ContainerDocker Container
Docker Container
 
HA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
Docker Networking Deep Dive
Docker Networking Deep DiveDocker Networking Deep Dive
Docker Networking Deep Dive
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
[9월 런치 세미나] 도커와 쿠버네티스 기술에 스며들다
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clustering
 
CloudStack Networking
CloudStack NetworkingCloudStack Networking
CloudStack Networking
 

Semelhante a 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
 
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
 
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)Seungmin Yu
 
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
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 

Semelhante a Kafka monitoring using Prometheus and Grafana (20)

Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
[오픈소스컨설팅]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
 
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
 
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
Custom DevOps Monitoring System in MelOn (with InfluxDB + Telegraf + Grafana)
 
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
 
Internship backend
Internship backendInternship backend
Internship backend
 

Mais 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
 

Mais 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) 결과 화면

Notas do Editor

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