개발자가 인프라를 만났을때 - rhq를 활용한 legacy system 모니터링

38
개발자가 인프라를 만났을 때 (RHQ를 활용한 Legacy System 모니터링) 김유수 [email protected] 2015 SEMINAR

Upload: jbugkorea

Post on 16-Apr-2017

620 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

개발자가 인프라를 만났을 때(RHQ를 활용한 Legacy System 모니터링)

김유수[email protected]

2015 SEMINAR

Page 2: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

목차

1. RHQ는…2. 인프라도 운영해야 하는 개발자3. 다양한 인프라 환경4. REST API5. Plug-in6. 제 점수는요

Page 3: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQ는 오픈소스

• JBoss Middleware 프로젝트• 서버 응용 프로그램에 대한 관리• 모니터링, 경고, 운영 관리• 세분화 된 보안 및 고급 확장 모델

제공• Redhat에서 JBoss Operations

Network 라는 제품으로 상용서비스제공

RHQ

Page 4: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQ는 범용 관리도구를 지향

하나의 대시보드에서 미들웨어 배포, 관리 및 모니터링

Page 5: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQ는 세련된 UI

Page 6: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQ는 Plug-in 기반 아키텍처

Page 7: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQ는 확장성 좋은 구조

RHQ Agent

Sigar APIbasedPlug-in

JMXPlug-in

extendsPlug-in

System Informations

Applications on JVM

DBMS, Process, HttpService…DBMS, Process, HttpService…DBMS, Process, HttpService…

Page 8: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQ가 필요한 개발자를 만나보았습니다.

Page 9: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

핵심 시스템이 아니라서 충분한 지원을 받지 못함

https://www.flickr.com/photos/rudolf_schuba/153225000

인프라도 운영해야 하는 개발자 K씨

어디가문제야…

ㅠㅠ

Page 10: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

• Y씨의 관리자에게 서버 개발자란,à”Back-End” Full Stack 개발자

• 관리자가 생각하는 서버 개발자의 역할– 서버 응용프로그램 개발– 데이터베이스 운영– 서버 OS 운영– 네트워크 운영– 하드웨어 운영

인프라도 운영해야 하는 개발자 Y씨

Page 11: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

제 이야기는 아닙니다.

진짜 아니에요… ㅠㅠ

인프라도 운영해야 하는 개발자

Page 12: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

인프라도 운영해야 하는 개발자들께

tedwon (JBUG Korea 그룹총수, JBUG JEDI) – Red Hat FORUM 2012

RHQ

May the RHQ be with you!

Page 13: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

진짜 제 이야기를 해볼게요.

앞에 개발자들 진짜 저 아니에요… ㅠㅠ

Page 14: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 적용 사례

진짜 이런 다양한 환경들을 다 모니터링 할 수 있을까?

AIX

HP-UX

Linux

Solaris

Windows

Page 15: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

RHQServer

PostgreSQL

Linux

RHQAgent

Central Monitor

다양한 인프라 환경 – 리눅스

Linux

RHQAgent

Linux

RHQAgent

리눅스 환경에서는 쉬운 설치 쉬운 실행

Page 16: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 – 상용 유닉스

AIX

RHQAgent

Solaris

RHQAgent

Central Monitor

RHQServer

Linux

HP-UX

RHQAgent

Linux

상용 유닉스 환경에서는 쉬운 설치, 실행 안 됨

Page 17: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 – 꿀팁 하나

상용 유닉스 환경에서 Agent 실행 스크립트 문제

• RHQ 4.13.1 버전기준 (최신 배포버전)• {RHQ_AGENT_HOME}/bin/rhq-agent.sh 파일 편집

“$_JNA_LIBRARY_PATH” à $_JNA_LIBRARY_PATH

이후 출시 될 RHQ 4.14 버전에서는 해결완료

Page 18: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 1차 적용 완료

Central Monitor

RHQServer

Linux

Linux

AIX

HP-UX

Solaris

Good Monitoring?Everyone!

Good Monitoring?

RHQ

Good Monitoring?

RHQ

Good Monitoring?

RHQ

Good Monitoring?

RHQ

Good Monitoring?

RHQ!

꿀팁 하나로 단합된 팀웍

Page 19: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 – Windows

Central Monitor

RHQServer

AIX

HP-UX

Solaris

Linux

Windows

RHQAgent

리눅스에 비해 까다로운 설정, 실행은 잘 됨

드루와~드루와~

설사…아니설정하고 갈게요

Page 20: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 – 꿀팁 둘

Windows 서버에 Agent 설치 시 주의 사항

1. 설정파일

2. 처음 실행 시 Windows Service 에 등록

3. 재 설치 시 Windows Service 에서 제거

Hosts 파일에 호스트명을 지정했을 경우%COMPUTERNAME% 을 호스트 명으로 수정

Page 21: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경, 미션 완료

RHQ Dashboard

Page 22: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 – 사전확인 사항

방화벽 시간동기화 자바 버전

JAVA ≥ 6

Server à 16163 à Agent

Server ß 7080 ß Agent시간서버를 통한 동기화 필수 자바 실행환경 최소 1.6 이상

Page 23: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

다양한 인프라 환경 모니터링의 비법

https://support.hyperic.com/display/SIGAR/Home

• SIGAR API

• Hyperic에서 시작, Redhat 참여

• Hyperic HQ, RHQ로 분리 발전

Page 24: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

스마트폰으로 모니터링 정보를 볼 수 없을까?

Page 25: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

REST API 소개

https://docs.jboss.org/author/display/RHQ/Design-REST

• REST API를 통해 그룹별, 리소스별 모니터링 가능• 모니터링 주기 설정기능, 그래프를 위한 측정데이터 및 그룹관리 기능 제공

Page 26: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

REST API를 활용한 샘플 앱

https://github.com/pilhuhn/RHQpockethttps://play.google.com/store/apps/details?id=org.rhq.pocket

RHQPocket by pilhuhn

Page 27: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

REST API를 이용한 앱 개발 사례

RHQ Server

RESTAPI

AIX

HP-UX

Solaris

Linux

Windows

Mobile Server

CustomREST API

Spring bootRHQ Mobile

Push,SMS

Alert-PushPlug-in

Alert-SMSPlug-in

Push API

SMS API

• 스마트폰 기반의 모니터링용 모바일 앱 개발• Custom API를 통해 운영자에게 꼭 필요한 정보만을 제공• RHQ의 권한 관리를 이용한 로그인

Page 28: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

Plug-in 소개

Page 29: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

Plug-in 소개

Page 30: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

Plug-in 관리

Page 31: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

Plug-in 수정 사례

RHQ Agent의 Oracle Plug-in 의 문제

1. 라이센스 문제로 오라클 JDBC 드라이버를 Plug-in 에 포함하지 않음

à 기본 배포된 Plug-in 으로는 오라클 DBMS 모니터링 불가

2. 오라클 DBMS의 dba_tablespace_usage_metrics테이블을 통해 정보수집

à block 단위로 테이블 스페이스 정보 산정

à 모니터링 정보의 현실성이 떨어짐

Page 32: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

Plug-in 수정 사례

해결 1. jar 에 lib/ojdbc6.jar 포함

Before After

Page 33: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

Plug-in 수정 사례

해결 2. Tablespace 정보 수집 쿼리 수정

BeforeAfter

Page 34: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

제 점수는요? 평가를 먼저 할게요.

장점으로는• 설치/사용이 쉽다.• 다양한 플랫폼을 모니터링 할 수 있다.• 한 곳에서 모두 관리 할 수 있다.• 플러그인 기능을 활용하면 무한 확장 가능하다.• REST API 를 통해 다양한 형태의 보고서를 작성할 수 있다.

단점으로는• 우리말로 된 자료가 부족하다.• 전문 APM 에 비하여 모니터링이 정적이며 직관적이지 않다.• 대시보드 UI 사용이 생각보다 쉽지 않고, 기능이 다소 제한적이다.• 로그 모니터링에 대한 지원이 아쉽다.

결론은• 모니터링 시스템의 마련이 어려운 곳에서는 충분한 가치를 낼 수 있다.• scouter, ELK stack 등을 함께 활용한다면, 돈(?) 부럽지 않게 쓸 수 있다.

Page 35: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

제 점수는요!

부족한 10%를 JBUG Korea, RHQ 모임에서 채워주세요!오픈소스를 통해 감추고 있던 덕력을 뿜어봅시다!

https://www.facebook.com/groups/rhqproject/

Page 36: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

ONE MORE THING!

Page 37: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

참고자료와 성지순례

• http://rhq-project.github.io/rhq/• https://www.redhat.com/ko/technologies/jboss-middleware/operations-network/• https://access.redhat.com/documentation/en/red-hat-jboss-operations-network/

모든 개발/운영자의 무장애 기원을 위해 성지순례하고 왔습니다.

Page 38: 개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링

감사합니다Thank You!

2015 SEMINAR