굿스플로 카카오 알림톡 API 작업 중

기존에 워드프레스용으로 개발했던 플러그인을 일반 PHP 프로그램에서 사용하기 위해서 코드 변경 작업을 진행 중이다. 워드프레스 플러그인에서 불필요한 코드들을 제거하고 적용한 프로그램에 맞게 코드를 바꾸고 있는데.. 알림톡 API 작업은 항상 템플릿 검수 때문에 일정에 차질이 생긴다. 검수를 통과해야 테스트든 뭐든 할 수 있는데.. 검수 결과를 다시 한번 체크해봐야겠다. 오늘까지는 끝내고 싶은데.. 내게 기회를 줄까?

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