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 차트가 표시된다.

2. php-fpm 모니터링 추가

php-fpm 모니터링은 php-fpm 에서 자체적으로 제공하는 /status 페이지를 이용한다.  netdata 에서 http://localhost/status 페이지로 접속해서 값을 확인할 수 있도록 설정을 추가해야 한다. 우선 php-fpm pool 설정 파일에서 ;pm.status_path = /status 항목의 ; 제거해서 주석을 해제한다. 다음으로 웹서버에 /status 페이지 접속을 위한 설정을 추가한다. nginx 기준 설정은 아래와 같다.

server {
    listen      80;
    server_name localhost;
    access_log  off;

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

    location /status {
        allow 127.0.0.1;
        #allow 1.2.3.4#your-ip;
        deny all;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        log_not_found off;
    }
}

nginx, php-fpm 재시작 후 curl http://localhost/status 명령 실행 후 아래의 결과가 표시되면 설정이 된 것이다.

pool:                 www
process manager:      dynamic
start time:           18/Oct/2018:17:13:41 +0900
start since:          65809
accepted conn:        254639
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       2
active processes:     1
total processes:      3
max active processes: 27
max children reached: 205
slow requests:        0

netdata 를 재시작하면 PHP-FPM 모니터링 차트가 표시된다.

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

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.