Як здійснити online-моніторинг навантаження на сервер?

  • 11 декабря, 15:21
  • 5394
  • 0

Бути в курсі поточної ситуації на сервері катастрофічно важливо: то DDOS, то хакери... Беріть на замітку!

Ви, мабуть хочете сказати, що є ATOP / HTOP. Але подивитися параметри зазвичай зручніше онлайн, не використовуючи SSH, правда?

Для спостережень за станом заліза зазвичай моніториться процесор, оперативна пам'ять, жорсткий диск, кількість різного типу трафіку (рідше температура окремих вузлів) і середні значення по цим же показниками. Отже, погнали розглядати інструменти!

Scout realtime

Як здійснити online-моніторинг навантаження на сервері?

Scout realtime - опенсорсний програмний продукт. Позиціонується як зручна альтернатива консолі з висновком оновлюваних графіків в реальному часі. Зробити якісь висновки, аналізуючи графік, простіше, ніж мерехтливі цифри, які постійно змінюються в терміналі.

Ця штуковина отримує дані для відтворення з procfs, тому користувачі FreeBSD і MacOS не зможуть оцінити всю красу даного софта.

Встановити і запустити продукт можна так (все забіндиться на 5555 порту):        

gem install scout_realtime

scout_realtime start

Щоб почати перегляд, створіть SSH-тунель:     

ssh -NL 5555:localhost:5555 користувач@ip-шник сервера    Після цих дій відкривайте браузер: http://localhost:5555/.

Якщо firewall блокує все підряд, то попросіть його вас пропустити:         

sudo iptables -A INPUT -p tcp --dport 5555 -j ACCEPT    

Nagios

Як здійснити online-моніторинг навантаження на сервері?

Найпоширеніша система для спостереження за залізом. Дуже потужний інструмент, що дозволяє моніторити практично будь-який вузол в мережі: DVR-ку, камеру, ноут, комутатор, телефон і навіть роутер. Софт побудований на наборі конфігів для кожної групи подій або об'єктів. 

Для установки зробіть наступне: 

sudo apt update

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip

Створіть користувача і групу для запуску Nagios:       

sudo useradd nagios sudo groupadd nagcmd     

Тепер створіть користувача для запуску Apache:    

sudo usermod -a -G nagcmd nagios sudo usermod -a -G nagcmd www-data   

Далі скачайте свіженьку версію за посиланням вище, розархівуйте і починайте компіляцію:   

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/ make all sudo make install sudo make install-init sudo make install-config sudo make install-commandmode sudo make install-webconf

В /usr/local/nagios/etc/знайдіть contact.cfg (контакти для сповіщень) і заповніть її:

define contact { 
contact_name nagiosadmin ;  
use generic-contact ; 
alias Nagios Admin ; 
email admin@losst.ua ;  
}        

Після цього створіть пароль nagiosadmin, щоб він зміг потрапити на веб-інтерфейс:        

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin  

Включіть на веб-сервері підтримку cgi і перезавантажте сервер:            

sudo a2enmod cgi

sudo service apache2 restart   
А тепер запустіть Nagios:     

sudo systemctl stat nagios

Простежте за адресою http://localhost/nagios.

Munin

Як здійснити online-моніторинг навантаження на сервері?

Тут використовується RRDTool і Perl. Допілювати щось своє (плагіни, модулі та інше) можна на будь-якій мові. Munin має архітектуру master/node- майстер коннектиться до всіх нод і опитує їх через постійні проміжки часу. Всі отримані дані він зберігає в RRD-файлах і (при необхідності) оновлює графіки. Одною з переваг софта є простота створення графіків.

Для установки майстра зробіть наступне:     

sudo apt-get update

sudo apt-get install munin
 

У файлі nano /etc/munin/munin.conf знайдіть рядок [localhost.localdomain] і відредагуйте на свій розсуд (це псевдонім хоста на графіках). 

Це зробіть на всіх нодах:      

sudo apt-get update

sudo apt-get install munin-node 

У файлі nano /etc/munin/munin-node.conf знайдіть рядок #host_name localhost.localdomain. Розкоментуйте його і впишіть туди ім'я сервера і ім'я ноди ( host_name srv-01....).

Налаштуйте nginx

location /munin {
    alias /var/www/munin;
    autoindex on;
    auth_basic "Munin Statistics";
    auth_basic_user_file /etc/munin/.passwd;
}    

Перезагрузіть його

service nginx restart

І створіть користувача:

htpasswd -c /etc/munin/.passwd adminus

New Relic

Як здійснити online-моніторинг навантаження на сервері?

New Relic - не сильно популярна система в наших колах, але хороший інструмент, правда, платний. За допомогою нього можна стежити за всім - від споживання ресурсів будь-яким додатком і стану заліза до рівня задоволеності відвідувачів.

Встановити продукт можна на будь-яку систему, навіть на Android/iOS і в хмару. Є підтримка купи мов програмування, серед них: Java, Python, C, Go і т.д.

Для установки створіть конфіг і додай в нього наступне: 

echo "license_key: ваш_ключ" | sudo tee -a /etc/newrelic-infra.yml

Потім активуй GPG-ключ:        

curl https://download.newrelic.com/infrastructure_agent/gpg/newrelic-infra.gpg | sudo apt-key add      Створіть репозиторій агента, використовуючи команду:         

printf "deb [arch=amd64] https://download.newrelic.com/infrastructure_agent/linux/apt trusty main" | sudo tee -a /etc/apt/sources.list.d/newrelic-infra.list     

Обновіть apt-кеш:      

sudo apt-get update 

І запустіть установку:    

sudo apt-get install newrelic-infra -y  Готово!

Zabbix

Як здійснити online-моніторинг навантаження на сервері?

Одна з найпопулярніших систем моніторингу. Вона працює в зв'язці MySQL + PHP (хоча з легкістю можна юзати і PostgreSQL, SQLite або Oracle). Ця програма ще й смс-ки може відправляти, стукати на пошту і у всякі месенджери, а також виконати певне завдання при спрацьовуванні тригера. Графіки, карта мережі та комплексні звіти - це взагалі не обговорюється.

Для установки зробіть наступне:  

sudo apt update && sudo apt upgrade

sudo apt install mysql-server mysql-client apache2    

З офіційного сайту стягнемо пакет:

sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb 

І додамо репозиторій:      

sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb

Далі встановіть пакет для Zabbix з підтримкою MySQL:          

sudo apt install zabbix-server-mysql zabbix-frontend-php

Створіть базу і спеціального користувача:     

create database zabbix character set utf8 collate utf8_bin;

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix_test';    

У папці зі скачаним пакетом знайдіть і запустіть скрипт, який створить вам структуру БД:            

sudo zcat create.sql.gz | mysql -uroot zabbix –p    

Перезавантажте все:       

sudo systemctl start apache2.service

sudo systemctl status apache2.service

sudo systemctl restart apache2.service

Тепер можна перейти на IP-адресу сервера/zabbix і побачити веб-інтерфейс.

Monitorix

Як здійснити online-моніторинг навантаження на сервері?

Ще одне просте рішення для моніторингу. Допоможе вам стежити як за апаратними ресурсами, так і за софтом. 

Для установки зробіть наступне:        

sudo apt update && sudo apt upgrade

apt-get install monitorix       

Після установки все запуститься саме. Для додавання / редагування хостів використовуйте конфіг: /etc/monitorix/monitorix.conf.

В кінці перевантажте софт:

service monitorix restart        

І простежити за адресою: http://localhost:8080/monitorix


0 комментариев
Сортировка:
Добавить комментарий