Linux-dash

Linux-dash — это легковесный веб-интерфейс для отображения различной информации о системе. Настолько простой, что даже нет необходимости настраивать базу данных. Достаточно скачать linux-dash, настроить веб-сервер и можно пользоваться. Linux-dash не претендует на лавры таких серьёзных систем мониторинга как zabbix, nagios или cacti. Он подойдёт тем, кому необходимо периодически заходить и в реальном времени смотреть что происходит с небольшим домашним медиа-сервером. Так же я думаю он подойдёт тем, кому удобнее смотреть за тем что происходит с системой в веб браузере.

Linux-dash screenshot

Linux-dash позволяет мониторить:

  • Средняя загрузка системы (load average)
  • Оперативная память (Всего/Использовано/Свободно)
  • Использование дисков (свободное место)
  • Список пользователей
  • Список программного обеспечения и путь до бинарного файла
  • Список интерфейсов с их IP-адресами
  • Текущая скорость интерфейса (Входящая/Исходящая)
  • Список подключенных пользователей
  • Список процессов

Вся эта информация собирается с помощью простых php скриптов которые при минимальном знании php можно подредактировать под свои нужды.

Установим всё необходимое:

user@test:~$ sudo -i
root@test:~# apt-get install -y php5-fpm php5-json php5-curl nginx wget unzip apache2-utils

Создадим директорию, скачаем туда linux-dash и распакуем:

root@test:~# mkdir -p /var/www/linuxdash/
root@test:~# cd /var/www/linuxdash/
root@test:~# wget https://github.com/afaqurk/linux-dash/archive/master.zip
root@test:~# unzip master.zip
root@test:~# mv linux-dash-master/ html
root@test:~# touch .htpasswd
root@test:~# chown -Rc root:www-data /var/www/linuxdash/
root@test:~# chmod -R 0775 /var/www/linuxdash/

Создадим файл виртуальный хост в nginx. Создадим файл с конфигурацией виртуального хоста в /etc/nginx/sites-available:

root@test:~# touch /etc/nginx/sites-available/linuxdash

И добавим туда следующее:

server {
    server_name localhost;

    root /var/www/linuxdash/html;
    index index.html index.php;

    location ~*
        \.(?:xml|ogg|mp3|mp4|ogv|svg|svgz|eot|otf|woff|ttf|css|js|jpg|jpeg|gif|png|ico)$
        {
            try_files $uri =404;
            expires max;
            access_log off;
            add_header Pragma public;
            add_header Cache-Control "public, must-revalidate, proxy-revalidate";
        }

    location / {
        auth_basic "Enter login and password";
        auth_basic_user_file /var/www/linuxdash/.htpasswd;
    }

    location ~ \.php(/|$) {

        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

        fastcgi_pass unix:/run/php5-fpm.sock;

        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }

        try_files $uri $uri/ /index.php?$args;
        include fastcgi_params;
    }
}

Включим его:

root@test:~# ln -s /etc/nginx/sites-available/linuxdash /etc/nginx/sites-enabled/
root@test:~# service nginx reload

Linux-dash настолько минималистичен, что в нём даже не придусмотрено никакой системы авторизации, поэтому если она необходима — нужно воспользоваться средствами web сервера. В конфигурационном файле виртуального хоста выше уже добавлена авторизация. Осталось только добавить пользователя. Для этого воспользуемся htpasswd входящего в состав apache2-utils:

root@test:~# htpasswd /var/www/linuxdash/.htpasswd username

Ссылки:

Автор Тима

Редактор сайта. По совместительству сисадмин. Большой фанат Linux, гаджетов и древних видеоигр.

Author: Тима

Редактор сайта. По совместительству сисадмин. Большой фанат Linux, гаджетов и древних видеоигр.