Linux-dash - легковесный мониторинг linux сервера в реальном времени
Linux-dash - это легковесный веб-интерфейс для отображения различной информации о системе. Настолько простой, что даже нет необходимости настраивать базу данных. Достаточно скачать linux-dash, настроить веб-сервер и можно пользоваться. Linux-dash не претендует на лавры таких серьёзных систем мониторинга как zabbix, nagios или cacti. Он подойдёт тем, кому необходимо периодически заходить и в реальном времени смотреть что происходит с небольшим домашним медиа-сервером. Так же я думаю он подойдёт тем, кому удобнее смотреть за тем что происходит с системой в веб браузере.
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
Ссылки:
- Страница проекта на github - https://github.com/afaqurk/linux-dash/