Hôm nay mình giới thiệu với các bạn một công cụ monitor server với giao diện cực đẹp. Công cụ monitor tài nguyên cpu, ram, network … rất chi tiết và đặc biệt là hoàn toàn miễn phí. Bạn có thể xem qua giao diện dưới đây :




Mình cũng nói thêm với netdata bạn hoàn toàn có thể cài đặt chung với vps/server dùng hosting controller như: cpanel, directadmin …. mà không ảnh hưởng gì.

1. Hướng dẫn cài đặt netdata.

  • Cài đặt các gói cần thiết.
Ssh vào server bằng tài khoản root

Dùng lệnh yum để cài đặt các gói cần thiết trong quá trình cài netdata.



Mã:
yum install curl jq nodejs
  • Clone netdata và cài đặt.


Mã:
git clone https://github.com/firehol/netdata.git --depth=1
cd netdata
./netdata-installer.sh --install /usr/local
Bạn chạy lần lượt các lệnh trên để cài đặt netdata. Sau khi hoàn tất bạn có thể truy cập netdata qua link http://<your server ip>:19999
  • Tạo file init.d


Mã:
vi /etc/init.d/netdata
Copy nội dung file bên dưới và dán vào.



Mã:
#!/bin/bash
#
# netdata        Startup script for netdata.
#
# chkconfig: 2345 12 88
# description: Real-time charts for system monitoring
### BEGIN INIT INFO
# Provides:          netdata
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Should-Start:      $network
# Should-Stop:       $network
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Real-time charts for system monitoring
# Description:       Netdata is a daemon that collects data in realtime (per second)
#                    and presents a web site to view and analyze them. The presentation
#                    is also real-time and full of interactive charts that precisely
#                    render all collected values.
### END INIT INFO
# Source function library.
. /etc/init.d/functions
PREFIX=/usr/local/netdata
RETVAL=0
PIDFILE=${PREFIX}/var/run/netdata.pid
prog=netdata
uid=netdata
exec=${PREFIX}/usr/sbin/netdata
lockfile=/var/lock/subsys/$prog
# Source config
if [ -f /etc/sysconfig/$prog ] ; then
    . /etc/sysconfig/$prog
fi
start() {
        [ -x $exec ] || exit 5
        umask 077
        echo -n $"Starting netdata monitoring: "
        daemon --pidfile="$PIDFILE" $exec -u $uid -pidfile $PIDFILE
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $lockfile
        return $RETVAL
}
stop() {
        echo -n $"Shutting down netdata monitoring: "
        killproc -p "$PIDFILE" $exec
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $lockfile
        return $RETVAL
}
rhstatus() {
        status -p "$PIDFILE" -l $prog $exec
}
restart() {
        stop
        start
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  reload)
        exit 3
        ;;
  force-reload)
        restart
        ;;
  status)
        rhstatus
        ;;
  condrestart|try-restart)
        rhstatus >/dev/null 2>&1 || exit 0
        restart
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status}"
        exit 3
esac
exit $?
Phân quyền lại file và chạy lệnh để netdata bật cùng hệ điều hành.



Mã:
chmod a+x /etc/init.d/netdata
chkconfig --levels 235 netdata on
Vậy là chúng ta đã hoàn tất việc cài đặt netdata bạn có thể truy cập vào link http://<your server ip>:19999 để khám phá thành quả của mình.

2. Cấu hình để truy cập netdata ở cổng 80.

Đê làm được điều trên bạn cần 1 webservice làm proxy chạy ở cổng 80. Trong bài viết này mình sẽ đưa cấu hình nginx làm proxy cho netdata.



Mã:
upstream backend {
    # the netdata server
    server 127.0.0.1:19999;
    keepalive 64;
}
server {

    listen 10.1.1.1:80;

    server_name netdata.kienthuclinux.com;
    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}
Bạn chỉ cần copy cấu hình trên vào file config của nginx, sau đó khởi động lại nginx để tận hưởng thành quả. Ngoài ra netdata cũng có thể cấu hình để monitor cái dịch vụ nginx, mysql nhưng mình sẽ hướng dẫn các bạn ở bài sau nhé.