netdata 커스텀 대시보드를 이용한 서버 모니터링

여러 대의 서버 상태를 모니터링하기 위해 각 서버에 netdata 를 설치했고 모니터링 정보 중 cpu, ram, fpm, nginx 등의 상태를 한 눈에 볼 수 있도록 netdata 에서 제공하는 커스텀 대시보드를 이용해 영상과 같은 대시보드를 구성했다. 기존 대시보드에서 fpm, nginx, db 모니터링이 추가됐다.  fpm 등의 모니터링 추가는 아래 포스트를 참고한다.

모니터링 대시보드를 계속해서 볼 수는 없기 때문에 서버 상태에 이상이 생길 경우는 slack 등으로 알림을 전송하도록 설정하는 게 좋다. 현지 slack 의 서버 모니터링 채널로 알림을 전송하도록 설정한 상태이다.

netdata slack 알림 : https://github.com/netdata/netdata/tree/master/health/notifications/slack

netdata 에 nginx 모니터링 추가

php-fpm, mariadb 모니터링에 이어 nginx 모니터링 차트를 netdata 에 추가하는 설정이다. nginx 모니터링은 stub_status 모듈을 통해 이뤄지는데 nginx 설치 때 해당 모듈이 설치되어 있어야 한다. 모듈 설치 여부는 아래 명령을 통해 확인할 수 있다.

nginx -V 2>&1 | grep -o with-http_stub_status_module

모듈이 설치되어 있다면 아래 설정 항목을 추가해주면 된다.

server {
    listen      80;
    server_name localhost;
    access_log  off;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location /stub_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}

nginx 재시작 후 curl http://localhost/stub_status 를 실행해 아래와 같은 결과가 나오면 정상적으로 설정된 것이다.

Active connections: 8 
server accepts handled requests
 11027 11027 24401 
Reading: 0 Writing: 1 Waiting: 7

netdata 를 재시작하면 아래 이미지와 같은 차트를 확인할 수 있다.

참고자료 : https://docs.iredmail.org/integration.netdata.linux.html

netdata 에 php-fpm, mariadb 모니터링 추가

netdata 설치 후  php-fpm, mariadb 모니터링이 되지 않는다면 다음의 추가 작업이 필요하다. 설정 작업은 Ubuntu 16.04 환경을 기준으로 한다.

1. mariadb 모니터링 추가

위 이미지와 같이 mariadb(mysql) 서버의 모니터링 차트를 표시하기 위해서는 우선 python-mysqldb 패키지 설치가 필요하다.

sudo apt-get -y install python-mysqldb

다음으로 netdata 에서 mariadb 로 접속하기 위해 사용자를 추가해야 한다.

MariaDB [(none)]> create user 'netdata'@'localhost';
MariaDB [(none)]> grant usage on *.* to 'netdata'@'localhost';
MariaDB [(none)]> flush privileges;

netdata 를 재시작하면 이미지와 MySQL 차트가 표시된다. Read More

여러 대의 서버 모니터링을 위한 netdata 커스텀 대시보드

netdata 는 무료이면서 강력한 기능을 제공하는 모니터링 도구이다. netdata 모니터링 항목은 netdata 데모 (https://london.my-netdata.io/default.html) 를 참고한다. 또한 첨부한 이미지와 같이 netdata api 를 통해 여러 대의 서버 자원을 한 눈에 모니터링할 수도 있다. 이를 위해서 netdata 의 커스텀 대시보드를 구성해 본다.

커스텀 대시보드 데모 : http://demo.ncube.net/netdata-dashboard.html

데모에는 cpu, ram, diskuptime 정보를 제공한다. 커스텀 대시보드 데모의 코드는 아래와 같다. Read More

서버상태 모니터링을 위한 netdata 대시보드

대시보드라고 하니까 뭔가 대단해 보이지만.. 사실 그렇지도 않다. 아래 이미지처럼 각 서버에 설치된 netdata 의 정보를 CPU 등의 주요 정보만 한 눈에 볼 수 있도록 페이지를 만든 것이다.

대량의 상품이 등록되는 서버들이기 때문에 Disk 용량 확인이 중요한 부분이다. 대시보드 사용을 위해서는 각 서버에 netdata 가 먼저 설치되어 있어야 하고 19999 포트로 접속이 가능한 상태여야 한다. netdata 데모는 https://my-netdata.io/#demosites 에서 확인할 수 있다.