괜찮은 시스템 모니터링 로그 관련된 프로그램이 어떤것이 있을

rokmn3309의 이미지

요즘 서버 시스템 문제로 인하여
시간대별 cpu, memory, network IO, system IO등을 전반적으로
기록해서 비교를 해 볼려고 하는데 잘된 툴이 있을것 같기도 한데..

비슷한 경험을 하신분이 계시다면 댓글 부탁드립니다.

문태준의 이미지

여기서 제가 전에 썼던글.
http://bbs.kldp.org/viewtopic.php?t=28315

서버상에서 가장 간단하게 쓸 수 있는 프로그램이 sar 입니다. 리눅스에도 보통 기본으로 설치가 되지요. 이것은 데이타를 주기적으로 얻어와 바이너리 데이타로 기록하여 필요한 값만 뽑아낼 수 있습니다. 그래프가 필요없고 자기가 알아서 프로그램하여 필요한 것만 보겠다하면 사용할만하지요.

그런데 이게 아니라 GUI형태로 해서 웹에서 볼 수 있도록 한다면 여러가지를 사용해야합니다.

여기서 필요한 개념들.
SNMP
MRTG
RRDTOOL

개별 자원들 모니터링을 하는 것이라면 스크립트로 데이타를 수집할 수도 있는데 서버가 여러대인 경우에는 불편하지요. 이런 경우에는 SNMP를 사용하는것이 편리한듯.

데이타수집
데이타처리
그래프

이런 단계를 거칠건데 그래프와 관련하여 MRTG를 많이 썼지만 요즘에는 RRDTOOL을 많이 씁니다. 아주 간단히 말해서 mrtg는 두개의 값만 그래프로 그릴수 있다면 RRDTOOL은 이런 제한이 없고 유연함이 좋지요.

현재 저같은 경우는 sar는 5분에 한번씩 데이타 기록.
시스템서비스, 네트워크, 개별서버 자원등은 nagios 라는 툴을 이용하여 문제가 생긴 경우 핸드폰 메시지로 보내도록.
시스템자원의 변화는 MRTG 또는 RRDTOOL(RRDTOOL은 데이타에 대한 정의만 하는 것이라면 데이타수집프로그램, 그래프 자동으로 그려주는 프로그램등이 필요합니다. 여기에 사용되는 것들이 HotSanic, 크리켓 등이 있습니다)와 HotSanic 등을 이용하고 있습니다.

그런데 가장 중요한것은 모니터링하여 결과를 보면 뭐합니까. 그것을 제대로 분석하지 못한다면.

시스템/네트워크 모니터링
http://tunelinux.pe.kr/wikix/index.php?display=SystemMonitoring

---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net

문태준의 이미지

아직 정리는 안되었지만 전에 정리하다만 것을 올립니다. 참고하라구요.

## 모니터링 필요한 항목
http://tunelinux.pe.kr
문태준

ㅇ 원격 서비스 모니터링
port 별 : http, ssh, telnet, ftp, dns, smtp/imap/imaps/pop3/pops/mysql/oracle
( 접속시간. Warning, critical)

ㅇ 로컬 자원 모니터링
- 디스크 : 각 파티션별 사용비율
- CPU : user / system / idle / 입출력 대기 프로세스 (vmstat,ps 에서 w)
- Mem : (used비율
- Swap : swap
- 네트워크 : inbound/outbond 트래픽 (tcp커넥션, udp 커넥션)
- I/O : 디바이스별 io (tps, read, write)
- load average: 1,5,15분
- 기타 : 현재 로그인한 사용자, total process,
- 프로세스 : 특정 프로세스 개수, 세셧 개수(httpd 프로세스숫자와 netstat 의 개수)

ㅇ 프로그램 모니터링
- mysql : 데몬 체크, 로그인점점, 캐쉬히트율(Key_reads/Key_read_request), Select_full_join, Table_locks_waited , max connection, slow query, 초당 query 수, 임시테이블수, data 디렉토리 용량
- oracle : 대몬체크, 로그인점검, cache 점검, tablespace 용량 점검
- DNS : 초당 쿼리. denied zone transfer
- Mail(sendmail,qmail) : mailq 개수, 메일전송횟수, 메일트래픽. rejected mail host
- 프로그램별 로그 : 각 프로그램별 재시작시간(mysql error.log, apache error.log 등)
- 가상서버별 트래픽, page view, hit
- ftp : 트래픽, hit

ㅇ 로그메시지
- /var/log/message 에서 kernel 로그
- login 실패 체크 (lastb 등) : ip,host, 대몬별
- reboot 점검
- tcp wrapper 로그(refused connection
- 로그메시지/보안체크는 cron 이용 주기점검

ㅇ 보안체크
- tripwire 로 파일무결성 점검 (제외할 디렉토리 설정)
- rpm qa 를 이용하여 변경된 패키지 점검함
- 계정에 변화된 내용 점검
- port scanning 점검
- chkrootkit 이용하여 rootkit 점검
- setuid/setgid
- 스니핑 점검

ㅇ freebsd
- /etc/passwd, /etc/shadow, /etc/group 파일 점검 변화된 내용 보여주기
- /etc/aliases 변화된 내용 보여주기
- df h 보여주기
- network interface 상황
- mailq
- rejected mail hosts
- denied zone transfer (여기까지 daily run output)
- setuid/setgid, uid가 0인 사용자, 패스워드 없는 사용자,
- kernel log 메시지
- login failure / refused connections (security run output)

ㅇ 기타
- 각 isp 별로 ping 속도 체크하기
- snort
- iptables
- nessus
- opennms
- rrdtool
- 시스템 로그 모니터링 : .history 등등

ㅇ 시스템 모니터링 프로그램 설정방법
- 주요 서비스 원격 모니터링 : nagios에서 포트 모니터링 +distributed(nsca)
- 로컬 자원 : nagios에서 passive 체크 / RRDTOOL 이용
- 시스템 체크 : cron 이용하여 스크립트 실행

ㅇ nagios 세팅
- 전체환경설정 : cgi.cfg / nagios.cfg
- 모니터링 서버 : host, hostgroup, hostextinfo.cfg
- 모니터링 담당자 : contacts, contactgroup
- 모니터링 서비스 : service,
- 명령어 추가 : checkcommands.cfg, misccommands.cfg
- 그대로 두어도 되는 명령어 : resource.cfg, timeperiods.cfg
- 추가 설정해야할 명령어 : dependencies.cfg (서버간의 의존성), escalations.cfg (알람에 추가 기능)
- 기능 사용 : active, passive / distributied monitoring (nsca, nrpe) > ssh 이용
- RRDTOOL 사용은? : 스크립트 방식, nagios 수집 데이터 이용. SNMP

** 기타 플러그인 : nagat (설정파일 편집)
** DB연동 : status, downtime
** 각 user별로 필요한 link만 보이도록 수정. 한글화.
** error 및 recovery 목록 DB
** 각 시스템별 세부정보보기(하드웨어 스펙)
** 타 UNIX/WINDOWS 시스템

---------------------------
문태준
http://groups.google.co.kr/group/sysadminstudy 시스템어드민 공부모임
http://tunelinux.pe.kr
http://database.sarang.net

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.