brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Nov 01. 2023

14탄-(NCP PRO 후기) 트러블슈팅 207

 

<1> 용량 산정

<2> 네트워크 이해 ,  ACG , NACL 이해

<3> 성능 측정

<4> 웹 성능 측정 AB 툴 설치

<5> 문제 진단 상품

<6> 문제 해결을 위한 명령어들

<7> 문제 해결을 위한 Log

<8> Logrotate

<9> 커널 파라미터 변경

<10> 리눅스 명령어들

<11> 네이버 클라우드 트라블 슈팅

<12> Apache 사용



<1> 용량 산정


1

컴퓨팅 파워 용량 산정?

IO Wait발생 시 느려짐

스왑(SWAP) 사용하는 경우 메모리 증설

sar , ps , top 명령어로 확인



2

sar?


CPU,MEM,Disk IO 사용량등 시스템 전반에 대해 성능 지표를 수집,레포팅하고 저장하는 명령어?

sar


버퍼의 액티비티를 점검,  I/O 와 transfer 의 통계를 백분율로 출력 ?   

sar -b | more


sar에서 io를 보는 옵션은?

-b



전체 시스템 성능을 확인하는 방법  ?

sar -A




3

ps

process status

-ef  =| e /every process  , f : full format

-aux = a 모든 사용자 , u 사용자/소유자 , x : 데몬 프로세스




4

top

cpu 100 확인




5

네트워크  용량 산정?

서버의 경우 전송 속도 500 Mbps 기준으로 서버 대수 산정

CDN의 경우 가용량 기준으로 산정


6

용량 산정 주요 지표?

파일(페이지) 크기

동접





<2> 네트워크 이해 ,  ACG , NACL 이해


0

네트워크 이해

1계정당 3개 VPC 가능.




1

ACG는?

서버 앞단에 적용됨

유입만 적용하면 허용된다.

나가는 것도 제어한다.



2

NACL은?

서브넷에 적용됨

유입과 나가는 것도 둘다 허용해야 허용된다.



3

외부 에서 접속 순서?

사용자 ------> NACL -----> ACG ------- 서버로 접속 한다.



4

서버가 동일한 서브넷에 있다면,  NACL , ACG ?

동일 서브넷은 NACL을 거치지 않는다. ACG만 적용된다.

동일 서브넷이라고 해도 ACG는 서버에 따로 적용된다.  ACG는 서버 단위이다.



5

다른 서브넷간 통신시는 NACL을 거친다.

다른 서브넷의 NACL에서 막한다.



6

LB는 도메인으로 ping이 안된다.







<3> 성능 측정


1

웹 서버스 성능 측정은?

WMS

nGrinder

Pinpoint

AB



웹사이트 성능지연 확인 NCP 상품은?

WMS  (웹서버스 모니터링 시스템)



네이버 클라우드에서 웹 서비스 성능 측정 툴은?

nGrinder  (앤 그라인더)



자바의 분산 테스트 툴?

Pinpoint



AB

-x



2

MySQL 성능 측정 툴 3가지 ?

Percona TPCC

Sysbench

Apache Jmeter


Percona TPCC = DB성능 측정 툴

// workbench는 성능툴이 아니다. 접속 툴이다.






<4> 웹 성능 측정 AB 툴 설치



1

AB 툴 설치

yum install httpd-tools



2

ab 옵션?


ab   -X  =  프록시

ab  -n  요청수

ab  -c 동시에 요청하는 요청수

ab  -g  = 측정값을  gnuplot 또는 TSV 파일에  기록 한다.

ab  -t   = 성능을 검사하는 최대 초단위 시간 , 내부적으로 -n 5000 .


예)

ab -n 400  -c 10 https://www.naver.com

// 요청수 400 , 동시 접속수 10




<5> 문제 진단 상품


1

웹서비스 문제 진단?

WMS, Pinpoint



Jave분산 서비스 및 시스템의 지속적인 성능분석 서비스?

Pinpoint

대규모 분산 시스템 추적 플랫폼, Pinpoint



2

DB 문제 진단?


Cloud for Mysql

= DB 대시보드, OS 대시보드 , DB logs , Query TimeLine



Cloud for MS-SQL

= DB 대시보드, Performance , DB Logs





<6> 문제 해결을 위한 명령어들


1

리눅스?

tcpdump

nmap

traceroute

sar

ps

lsof



Windows?

MS Messange Analyzer

이벤트 뷰어 (eventviewer)  = syslog역할

Performance Monitor (perfmon)

pstools



2

sar

리소스 사용량에 대한 로그 조회

cpu , mem, iowait , load 정보 확인


모든것 볼때 옵션은?

sar -A     


sar -b   = I/O 부하

sar -n  = network

sar -w  = 컨텍 스위칭   // 프로세스가 몇초가 걸렸는지.

sar  -W  = 통계



3

ping

ICMP를  허용한다.

Linux와 Windows 옵션에는 차이가 있다.


Linux ping?

ping -c  10   = 카운트 10개 보낸다.  리눅스는 -c 이다.

-i 는 인터벌이다.

-I (대문자) 어떤 인터페이스를 통해 내보낼지 지정하는 거이다.

ping -I eth0



Windows ping?

Windows에서 -i 는 TTL이다.

ping -n 10  = windows는 n이다. 10번 보낸다.




4

nmap

방화벽이 있어도 스캔한다.

오픈되어 있는 포트에 대해 점검한다.

호스트뿐만 아니라 대역도 탐지한다.

응용프로그램 버전 및 OS 탐지한다.

Linux 와 Windows 버전 둘다 사용가능.



방화벽 확인

namp -sA  100.1.1.2 , 10.1.2.2.3

A  tcp

U udp

P  ping


방화벽으로 보호되는 호스트에 대한 스캔

nmap -PN  100.1.1.2 , 10.1.2.2.3


모든 패킷 표시

nmap -packer-trace 100.1.1.2 , 10.1.2.2.3



4

TCPView

Windows의 tcp/udp 상세 정보 확인.

작업 중인 시스템의 오픈된 연결 프로세스 확인.



5

traceroute  = 리눅스 , 이름이 길다.

icmp와 ttl을 이용하여 경로 확인.


Windows에서는 tracert 이다.




6

ps

현재 프로세스 확인.

top과 유사하다.

-a   =  모든 사용자.

-x   = 데몬 프로세스


-ef  =| e /every process  , f : full format

-aux = a 모든 사용자 , u 사용자/소유자 , x : 데몬 프로세스



7

top

서버 CPU 100% 일때 확인 가능.

어떤 파일이 100%를 사용하는지 확인


R : running or runnable
Z : defunct("zomble") process
W : paging
S :  Interruptible sleep (waiting for an event to complete)   

// S는 인터럽터블 슬립이다.   STOP이 아니다. 중지가 아니다.



8

lsof

현재 프로세스가 사용하고 있는 파일 리스트 출력.  

특정 프로세스가 cpu 점유율이 높을 경우 확인.


lsof 설명, 도움말은?

lsof -h


오픈한 파일 확인하는 명령어?

lsof




9

tcpdump

덤프 뜬다.

유사) network monitor , wireshark


-i는 인터페이스이다~

tcpdump -i  eth0   svc    and  tcp port



10

MS Messange Analyzer

Netmon의 업그레이드 버전 , 어떤 포트를 사용하는지



11

이벤트 뷰어

Windows로그 > 시스템


시스템 로그인 로그?

Windows로그 > 보안


Windows의 syslog에 해당하는것은?

이벤트 뷰어




12

성능 모니터

Windows의 sar에 해당 한다.



13

Debug Diag

Process의 Crash, Memory Leak 패턴을 확인하는 디버그 도구.

Crash Dump에 대한 분석 도구.



14

PAL(Performance Analysis of Logs)

서버 타입별 성능 카운터 오브젝트 제공.



15

xPerf

Process의 Crash, Memory Leak 패턴을 확인하는 디버그 도구



14

io를 확인하는 sar 옵션은?

sat -b





<7> 문제 해결을 위한 Log



1

일반적인 시스템 로그?

  /var/log



2

HTTD 로그?

/var/log/httpd



3

Windows

이벤트 뷰어를 통한 로그 모니터링.

Eventvwr





<8> Logrotate


로그에 대해 정해진 처리방식으로 삭제하거나 파일을 바꿔주는 역할.

로그를 변환해준다.

로그로 인해 디스크가 차서 장애가 나는 부분을 예방한다.



로그에 대해 정해진 처리방식으로 삭제하거나 파일을 바꿔주는 역할?

logrotate

/etc/




<9> 커널 파라미터 변경


1

Sysctl 명령어를 이용한 변경



2

sysctl.conf

리눅스 커널 파라미터중 중요한 항목에 대한 설정

/etc/sysctl.conf



3

Limits.config

사용자별 리밋 설정.

프로세스, 오픈 파일 등이 sysctl.conf 파일과 함께 변경되어야 효과

/etc/security/sysctl.conf



4

파일 확인은 ?

오픈할 수 있는 파일 개수 확인

cat  /proc/sys/fs/file-nr


변경?

/etc/sysctl.conf

s.file-max=819200



5

TCP 타임 아웃

확인 sysctl -a |grep keep

net.ipv4.tcp_keepalive_time=3600



6

windows 라우팅 테이블 확인은?

route print





<10> 리눅스 명령어들


1

리눅스에서 스토리지 식별하는 것은?

UUID


2

리눅스 디스크 정보를 UUID로 마운트 처리함에 따라 확인하는법?

blkid

blk id 로 확인한다.  id확인




3

UUID 생성하는법?

uuidgen



4

UUID 변경하는법?

tune2fs  /dev/xvda1 -U 'uuidgen'


Disk clone등 작업시 UUID 중복으로 인한 실수나 장애 예방을 하기 위해 UUID변경이 필요하다.

UUID중복 방지.



5

Linux 서버에서 일반적인 시스템 로그 저장 파일은?

/var/log/messages


시스템 부팅 메시지 저장 파일은?

/var/log/dmesg



서버에 접근 시도에  대한 로그?

/var/log/secure



6

리눅스 최대 열수 있는 파일 갯수 수정하기(Linux increase the max open files per user) ?


현재 커널값 확인

cat /proc/sys/fs/file-max


하드리밋,소프트 리밋 확인

ulimit -Hn

ulimit -Sn


 Too many open files 에러 처리법 ?

/etc/sysctl.conf 파일 수정해 커널 제한 늘리기

fs.file-max=2097152


커널반영 bash

sudo sysctl -p



7

리눅스 네트워크 명령어?


네트워크 트래픽 확인?

netstat -i

ifconfig


네트워크 커넥션 수 확인?

netstat



8

리눅스 ping ,  5개 테스트시 옵션은 ?

-c 이다 .  카운트

ping -c 5 1.1.1.1



9

Windows ping에서 -i 옵션은?

TTL이다.

인터벌 같지만 아니다.  windows에서는 TTL이다.





10

linux와 windows pc간 파일 공유?

samba


파일 관련 = samba , sftp, nfs

gopher는 검색을 위한 프로토콜.



11

nscd 는?

dns서비스의 캐싱 데몬이다.

로컬 캐시 사용하지 않으면  nscd 내리면 된다.



12

Linux 에서 iptable 정책 보기?

iptable -L



Linux 에서 iptable 정책 삭제?

iptable -F



13

linux 경로 확인 명령어는?

traceroute


windows 경로 확인 명령어는?

tracert




14

linux root로 변경

su - root


su - root는 root계정의 환경변수를 가져온다!!


잘못 된 사용  

sudo - root  (X)




15

ssh에서 root 접근 차단 설정 파일은?

PermitRootLogin  No





16

시스템 로그인 기록 확인?

last


lastlogin (X)




<11> 네이버 클라우드 트라블 슈팅


1

리눅스 서버 생성시 init.script  적용하였으나 안될때 확인?

/var/log/ncloud-init.log



2

Windows init.script 확인

C:\Program Files(X86)\NBP\ncloud-init\logs



3

OS스토리지 문제 발생시 조치법?


// OS스토리지는 스넵셧 , 서버 이미지 아님.

OS스토리지 대상으로 스넵샷

스냅샷으로 스토리지 생성

서버에 OS 스토리지 부착

UUID변경

web02 서버에 디렉토리 생성수 스토리지 마운트하기.




4

네이버 클라우드 성능 테스트 툴

사용자(vuser) 확인 툴은?

nGrinder

엔 클라인더.




5

nitialization Tool은 Windows 서버 이미지를 생성하기 전 서버의 SID를 초기화하는 용도로 활용합니다.


초기화 작업을 수행하지 않으면 서버 이미지 생성 시 SID가 중복되어 Acitve Directory 구성 시 서버의 정상적인 동작이 어렵습니다.

또한 Sysprep을 실행한 VM의 SQL에서 인증 오류가 발생할 수 있습니다. 그러므로 반드시 초기화를 수행해 주십시오



6

Load Balancer 헬스 체크 ?

Classic 6초 간격, VPC 30초

3번 성공하면  BIND된다.

헬스체크 주기는 Target Group에서 변경한다.





<12> Apache 사용


1

디폴트로 index.php 사용하게 하기 ?

DirectoryIndex  index.php



2

동접 1000명 이상시 접속 불가?

apache max client



3

200 - 정상처리

404 - 404 에러 , 서버가 요청한 페이(리소스)를 찾을수 없다.

500 - 서버에 오류가 발생하여 요청을 수행할수 없다.




전체 다시 보기


https://brunch.co.kr/@topasvga/3483




NCP Pro 3과목중 1과목 입니다.

트라블 슈팅  207.



3과목을 모두 합격하면 다음날 신청 사이트 가면 PRO 이미지를 다운받을수 있다.



(정리) 네이버 클라우드 Pro 자격증 취득법-2023

https://brunch.co.kr/@topasvga/3515



감사합니다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari