【엔지니어 필견】 알고! 인프라 Tips7선! !
소개
이번은 ”지득!”라고 하는 것으로 읽는 것만으로 유익한 정보를 정리했습니다.
레벨은 마을 거리이지만, 여러분의 매운 마음을 줄이면 좋다고 생각합니다.
「나는 이런 비행 도구 가지고 있어!」라고 하는 분은 꼭 코멘트란에서 코멘트를 주시면 좋겠습니다!
그럼 가자!
Tips
1. messages가 보이지 않는다! 소중한 메시지만 보고 싶다
egrep -i 'resource|allocate|memory|error|fatal' /var/log/messages
2. PS 커맨드를 보는 방법을 모르는 CPU를 많이 사용하고 있는 프로세스만 보고 싶다
ps -e aux | sort -r -k 3 | head -n 10
3. PS 명령을 보는 방법을 모르는 메모리를 많이 사용하는 프로세스만 보고 싶다
ps -e aux | sort -r -k 4 | head -n 10
4. SSL 인증서를 업데이트했지만 오류로 웹 페이지를 볼 수 없음
갱신한 증명서가 과거의 것과 엉망이 되어 있어 페어가 잘못되어 있었다고 하는 일이 있습니다.
그럴 때는 각각의 증명서나 비밀키의 무결성을 체크합시다.
※배치한 증명서에 쓸데없는 개행이 들어 있었다. 이런 일도 있으므로 요 확인.
1. messages가 보이지 않는다! 소중한 메시지만 보고 싶다
egrep -i 'resource|allocate|memory|error|fatal' /var/log/messages
2. PS 커맨드를 보는 방법을 모르는 CPU를 많이 사용하고 있는 프로세스만 보고 싶다
ps -e aux | sort -r -k 3 | head -n 10
3. PS 명령을 보는 방법을 모르는 메모리를 많이 사용하는 프로세스만 보고 싶다
ps -e aux | sort -r -k 4 | head -n 10
4. SSL 인증서를 업데이트했지만 오류로 웹 페이지를 볼 수 없음
갱신한 증명서가 과거의 것과 엉망이 되어 있어 페어가 잘못되어 있었다고 하는 일이 있습니다.
그럴 때는 각각의 증명서나 비밀키의 무결성을 체크합시다.
※배치한 증명서에 쓸데없는 개행이 들어 있었다. 이런 일도 있으므로 요 확인.
개인 키 및 서버 인증서 확인
openssl rsa -in /etc/httpd/conf/ssl/key -modulus -noout | openssl md5
openssl x509 -in /etc/httpd/conf/ssl/cert -modulus -noout | openssl md5
⇒ 出力された2つのhash値を確認し、同一ならOK
중간 인증서 및 서버 인증서 확인
openssl x509 -subject_hash -noout -in /etc/httpd/conf/ssl/ca
openssl x509 -issuer_hash -noout -in /etc/httpd/conf/ssl/cert
⇒ 出力された2つのhash値を確認し、同一ならOK
만료일 확인
openssl x509 -in /etc/httpd/conf/ssl/cert -noout -dates
⇒ 有効期限が正常に更新されているか確認
5. No space left on device Apache를 시작할 수 없음
세세한 설명은 생략합니다만 세마포어라고 하는 것이 있어 간단하게 말하면, Linux상에서 전개할 수 있는 프로세스수에는 상한이 있어~라고 하는 것.
커널과 관련된 설정 변경을 포함하므로 OS 동작에 문제가 발생할 수 있습니다.
스냅샷 등으로 잘라낼 수 있는 체제는 취하도록 합시다.
/sbin/sysctl -a | grep sem
kernel.sem = 250 32000 32 128 ←ここの128が上限
kernel.sem_next_id = -1
아파치 재부팅을 반복하고 있는 동안 자식 프로세스가 떨어지기 전에 아파치가 시작되어 버려 그것이 남아 계속 쌓아 상한에까지 도달해 버리다니 일이 일어날 수 있습니다.
상한이 되어 있는지 확인은 이쪽
ipcs -s
行数をカウント
128을 넘는 경우는 상한의 인상으로 대응할 수 있습니다.
※이하는 1024로 끌어올릴 때의 예
vi /etc/sysctl.conf
以下の行を修正
# Semaphore
kernel.sem = 250 32000 32 1024
/sbin/sysctl -p
/sbin/sysctl -a | grep sem
6. bash에 시간을 표시하고 싶습니다.
작업 이력 등의 편의성이 높아집니다.
[user@saba ~]$ export PS1="[\u@\h \W \t]\\$ "
[user@saba ~ 10:29:50]$
7. Disk 박박하고 있는데 실체가 존재하지 않는다!
사건
websa-ba-1/2사이에
/
부하에 30% 근처의 차이가 태어나고 있다.하지만 아래와 같이
/
webusa-ba-1 webusa-ba-2
7.6M /bin 7.6M /bin
23M /boot 23M /boot
192K /dev 196K /dev
30M /etc 30M /etc
1.8G /web_app 1.8G /web_app
959M /home 1.1G /home
136M /lib 136M /lib
26M /lib64 26M /lib64
16K /lost+found 16K /lost+found
4.0K /media 4.0K /media
0 /misc 0 /misc
4.0K /mnt 4.0K /mnt
0 /net 0 /net
206M /opt 206M /opt
0 /proc 0 /proc
25M /root 25M /root
14M /sbin 14M /sbin
4.0K /selinux 4.0K /selinux
4.0K /srv 4.0K /srv
0 /sys 0 /sys
218M /tmp 217M /tmp
26G /usr 26G /usr
83G /var 84G /var
대처법
프로세스가 삭제하려고 한 파일(NAME항에(deleted)라고 써 있는 파일)을 뒤에서 잡아 계속하고 있는 일이 있어, 실파일이 존재하지 않기 때문에
du
에서는 표시되지 않는 모양.lsof
그럼 PID를 확인할 수 있으므로, 잡고 있는 프로세스를 Kill하면 OK.※kill시에는, 서비스 영향에 충분히 고려하는 것
[root@webusa-ba-2 ~]# lsof |sort -k 7 |tail -n 50
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
~略~
jstat 6569 tomcat 1w REG 253,0 43939230041 11404478 /tmp/tomcat/javastat_tmp.log (deleted)
[root@webusa-ba-2 ~]#
근본 원인을 찾는 방법
PID를 알
↓
ps aufxwww |grep{PID}
↓
대상 프로세스를 알
↓
아이 프로세스라면 문제의 부모 프로세스까지 추적할 수 있다
↓
흠흠・・・등등...
이번에는 tomcat이 잡고있는 것처럼 보이지만, 실제로는 crontab에서 루틴시키고있는 shell이 잡고 있었다는 곳까지 도착했기 때문에, tomcat이라는 문자열만 보고 tomcats 스네···라고 하는 판단을 하면 위험하기 때문에 거기는 주의
※ 원래 미들웨어가/tmp/하하에 무언가를 전개하는 것은 이상하다는 어프로치도 있다.
Reference
이 문제에 관하여(【엔지니어 필견】 알고! 인프라 Tips7선! !), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hoshino3/items/bc837bc059132db4bb4c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)