티스토리 뷰

개요

  • 리눅스 환경에서 시스템 현황을 모니터링하는 툴로는 htop, nmap 등이 있다. 하지만 시스템 및 네트워크 부하를 시간 단위의 그래프로 확인하고 싶다면? Zabbix와 같은 엔터프라이즈 레벨의 모니터링 툴이 있지만 간단한 목적으로 사용하기에는 영 마땅치 않다. 이번 글에서는 이런 목적을 충족시켜주는 매우 가벼운 모니터링 툴인 Monitorix를 소개한다.

Monitorix 특징

  • 가볍다! 경량의 시스템 모니터링 전용 데몬과 웹 서버를 로컬 서버에 설치하면 바로 웹 브라우저로 모니터링이 가능하다. 라즈베리파이에 설치가 가능할 정도로 가볍다.

  • 여러 서버를 한 화면에서 모니터링하는 멀티호스트 기능을 지원한다. 각 서버마다 Monitorix가 설치되어 있어야 한다.

  • 상업적인 목적의 프로젝트에서도 제한 없는 무료 사용이 가능하다. (GNU 라이센스)

Monitorix 설치

# EPEL 저장소 설치
$ sudo yum install epel-release

# Amazon EC2일 경우 아래 방법으로 설치
$ sudo amazon-linux-extras install epel

# EPEL 저장소에 최신 버전 존재
$ yum list monitorix
monitorix.noarch 3.11.0-1.el6 epel

# Monitorix 설치
$ sudo yum install monitorix

# Monitorix 환경 설정
$ sudo nano /etc/monitorix/monitorix.conf
<httpd_builtin>
    port = 8080
</httpd_builtin>
<graph_enable>
    ftp = y
    apache = y
    nginx = y
    mysql = y
    mongodb = y
</graph_enable>

# MySQL 모니터링 활성화, 인증 계정 필요
<mysql>
    conn_type = host
    list = 127.0.0.1
    <desc>
        127.0.0.1 = 3306, username, password
    </desc>
</mysql>

# Monitorix 서비스 시작
$ sudo service monitorix start

# 실시간 로그 확인
$ sudo tail -f /var/log/monitorix

Monitorix 접속 인증 설정

  • Monitorix는 기본적으로 접속시 인증을 요구하지 않는다. 별도의 인증 계정으로 접근을 제한하고자 한다면 아래와 같이 설정하면 된다.
# 접속 인증 활성화
$ sudo nano /etc/monitorix/monitorix.conf
<httpd_builtin>
    <auth>
        enabled = y
    </auth>
</httpd_builtin>

# 접속 인증을 위한 admin 계정 생성
$ sudo yum -y install httpd-tools
$ sudo htpasswd -d -c /var/lib/monitorix/htpasswd admin
New password: *****
Re-type new password: *****

# Monitorix 서비스 재시작
$ sudo service monitorix restart

Monitorix 실행

  • Monitorix로 통계를 보는 방법은 간단하다. 웹 브라우저에서 http://{your_host}:8080/monitorix로 접속하면 된다.

HTTP 웹 인터페이스 옵션

  • when 옵션에는 로그를 조회할 기간을 전달할 수 있다. 기본값은 1day(일 단위)이고, 1hour(시간 단위), 1week(주 단위), 1month(월 단위) 또한 가능하며 접두어의 숫자를 변경하여 조회 기간 범위를 늘릴 수 있다.

참고 글

댓글
댓글쓰기 폼