SlideShare uma empresa Scribd logo
1 de 18
Datadog
왕희일
조은성
What we need
• IaaS 모니터링
• 다수 에러의 원인은 IaaS!
• Issue에 대한 Alarm 기능
• 다양한 Alarm 설정
• Customizing
• custom metric/Agent check
Chapter 1
Datadog
Why datadog?
• 모니터링에 대한 Alarm기능
• 시간, 변화량, 알림 대상 등 설정 가능
• 다양한 Integration제공
• Openstack, Memcached, mysql, rabbitmq 등
• User customizing
• Custom metric, Custom Agent check
• 다양한 형태의 Metric report 제공
• 그래프, 호스트 맵, 이벤트 타임라인
• Dashboard 직접 구성 가능
Chapter 1
Datadog
Openstack Integration 장애 해결
• Problem :
• Openstack integration 중 다음 에러가 발생
• Reason :
• /opt/datadogagent/agent/checks.d/openstack.py
파일에 nova endpoint가 novav21로 잡혀있음
• Solution :
• openstack.py에서 novav21이 아니라 nova로
endpoint를 검사하도록 변경
Chapter 1
Datadog
Datadog Alerting
• Needs
• 장애가 발생시 원인 파악
• 장애 발생 시 신속히 대응 가능
• Method
• Metric분석을 통해 모니터링 가치가 있는 것들을
선정하고 Alert 기준치 설정
• 모니터링 가치가 있는 메트릭들 :
• memory usage, disk usage, hypervisor load,
process thread, rabbitmq queue message rate
network connection, agent check 등
Chapter 1
Datadog
Custom Metric
Chapter 1
Datadog
lvs.yaml
lvs.py
Custom Agent Check
Chapter 1
Datadog
• Glance, neutron, cinder등 각 서비스별 agent들의
상태를 체크
• 활성화 -> OK
• 비활성화 -> CRIT(critical)
• Agent 없음 -> UNKN(unknown)
진행상의 어려움
• 불충분한 Openstack의 Metric과
Agent Check
• 대시보드 필터
• 대시보드 필터에 host와 instance의 구분이
정확하지 않음
• 기타 문제
• 단위 표기 오류
Chapter 1
Datadog
향후 발전 사항
• 다양한 Custom Metric 추가
• OVS network 등
• Agent Check 추가
• Compute node의 agent를 체크
Chapter 1
Datadog
Puppet
왕희일
조은성
오픈스택 설치 관리의 어려움
• 오픈스택 설치와 관리의 복잡함
• 수동 설정 관리의 어려움
• Node가 100개 라면? 버전 업그레이드?
Chapter 2
Puppet
Why Puppet?
• Ruby로 구현된 서버 설정 자동화 툴
• 설정의 자동화(초기 설치, 관리)
• 버전관리
• Packstack
• 설치과정 자동화 미흡
• 설치 후 설정 관리는 수동
Chapter 2
Puppet
프로젝트 구조
Installer.sh
Puppet.sh
Environmen
t.sh
Openstack-
packge.sh
Openstack-
package.pp
Ntp.sh
Ntp.pp
Mysql.sh
MySQL.pp
···
Controller.s
h
Keystone.sh
keystone-
package.pp
Keystone_c
onf.pp
···
Glance.sh
Glance-
package.pp
Glance-
api.pp
glance_regi.
pp
Nova.sh
Nova-
package.pp
Nova_conf.
pp
···
Compute.sh
Nova.sh
Nova-
package.pp
Nova_conf.
pp
Neutron.sh
Neutron-
package.pp
Neutron_co
nf,.pp
···
Remote.sh
answer.txt
전체 설치를 진행
Ip address등
구성정보
Controller node 설치
compute node 설치
원격
설치
설치 환경 설정
Remote Install
• Needs
• 한번의 설치로 모든 노드에 오픈스택 설치
• Problem
• ssh 명령어 실행 시마다 비밀번호 요구
• Solution
• RSA 인증서로 보안강화 및 추가인증 해결
• 인증서 등록 후 원격으로 github로부터
compute node를 설치하도록 실행
Chapter 2
Puppet
Facter 변수 만들기
• Needs
• Manifest file에서 system 정보가 필요
• Ex) DB password, IP address 등
• Method
• Puppet의 환경변수 plugin : Facter
• Problem
• 불충분한 기본 Facter
• Shell 에서 사용 불가능
• Solution
• answer.txt로부터 정보를 읽어 custom facts를 정의
• answer.txt를 파싱하여 shell에서 사용
Chapter 2
Puppet
Puppet으로 configuration 수정하기
• Needs
• 오픈스택 설치 및 운영을 위한 configuration 설정
• Method
• puppet의 file_line 리소스를 사용
• Problem
• match가 여러 개 발생할 경우 원하는 줄만 수정이 불가능
• Solution
• puppet의exec 리소스를 이용하여 sed 명령어로 원하는 라인 수정
Chapter 2
Puppet
진행상의 문제점
• 성급한 시작 => 코드 수정이 너무 많음
• ex) 초기에는 변수화하지 않음
=>이후 answer.txt를 만들고 일일이 변수화
• trouble-shooting
• 에러 발생 시 정확한 원인을 찾기 어려움
=> 사소한 에러도 해결시간이 오래 걸림
Chapter 2
Puppet
• Compute node 여러 개 추가하는 경우
• 현재는 1개 추가 하는 경우만 가능
• 설정 변경 및 버전 관리
• 현재는 설치만 가능
• 다양한 customizing 제공
• 원하는 component만 설치
향후 발전 사항
Chapter 2
Puppet

Mais conteúdo relacionado

Semelhante a Openstack Datadog.pptx

JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
Ted Won
 
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
sprdd
 

Semelhante a Openstack Datadog.pptx (20)

Source To URL Without Dockerfile
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without Dockerfile
 
resource on openstack
 resource on openstack resource on openstack
resource on openstack
 
kt-cloud
kt-cloudkt-cloud
kt-cloud
 
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
JCO 11th 클라우드 환경에서 Java EE 운영 환경 구축하기
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
 
[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes
[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes
[OpenInfra Days Korea 2018] Day 2 - E5: GPU on Kubernetes
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)[넥슨] kubernetes 소개 (2018)
[넥슨] kubernetes 소개 (2018)
 
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical Guide
 
KAFKA 3.1.0.pdf
KAFKA 3.1.0.pdfKAFKA 3.1.0.pdf
KAFKA 3.1.0.pdf
 
젠킨스 설치 및 설정
젠킨스 설치 및 설정젠킨스 설치 및 설정
젠킨스 설치 및 설정
 
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
[MeetUp][3rd] Prometheus 와 함께하는 모니터링 및 시각화
 
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
Zinst 패키지 기반의-리눅스_중앙관리시스템_20140415
 
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
Meteor IoT
Meteor IoTMeteor IoT
Meteor IoT
 
Mininet
MininetMininet
Mininet
 

Openstack Datadog.pptx