【엔지니어 필견】 알고! 인프라 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 인증서를 업데이트했지만 오류로 웹 페이지를 볼 수 없음



갱신한 증명서가 과거의 것과 엉망이 되어 있어 페어가 잘못되어 있었다고 하는 일이 있습니다.
그럴 때는 각각의 증명서나 비밀키의 무결성을 체크합시다.
※배치한 증명서에 쓸데없는 개행이 들어 있었다. 이런 일도 있으므로 요 확인.
  • 키 (비밀 키)
  • cert (인증서)
  • ca (중간 인증서)

  • 개인 키 및 서버 인증서 확인
    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/하하에 무언가를 전개하는 것은 이상하다는 어프로치도 있다.

    좋은 웹페이지 즐겨찾기