Як на мене Nagios мало не ідеальна система моніторингу, проте вона лише фіксує зміну стану перевірок, а інформація щодо того як швидко система перейшла в цей стан - відсутня. Тому зовсім не буде зайвим додати можливість малювати графіки параметрів системи, що моніторяться. Для цього я обрав Nagiosgraph, він інтегрується в діючу інсталяцію Nagios і надалі може показувати графіки через спливаючі вікна чи окремо в меню через iframe. Моживо кращою альтернативою може слугувати PNP4Nagios, розробка якого ведеться активніше.
# apt-get install libgd2-xpm-dev apache2 php5 apache2-utils
# a2enmod cgi
У якості стартової інструкції можна використати цю статтю (звісно без установки Nginx), проте слід довстановити також конфігураційні файли для Apache під час компіляції завантажених сирців Nagios:
# cd /dir/with/nagios/sources
# make install-webconf
Остання команда покаже помилку, у разі якщо її буде запущено у чомусь на зразок Debian, тому робимо все вручну:
# /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/conf-available/nagios.conf
# ln -s /etc/apache2/conf-available/nagios.conf /etc/apache2/conf-enabled/nagios.conf
Редагуємо за бажанням віртуальний хост /etc/apache2/conf-enabled/nagios.conf і, перейшовши за адресою http://my_nagios/nagios , ми побачимо результати свої старань. До цього моменту складнощі не повинні виникнути.
Як варіант можна установити все готове із репозиторіїв, проте не останньої версії.
Переходимо до установки Nagiosgraph, для чого установимо пакети:
# apt-get install libcgi-pm-perl librrds-perl libgd-gd2-perl
Можна скористатись як deb-пакетом, так і скриптом автоустановки. Приведу приклад користування останнім. Скачуємо Nagiosgraph, розпаковуємо, та переходимо в розпаковану директорію:
# wget http://sourceforge.net/projects/nagiosgraph/files/nagiosgraph/1.5.1/nagiosgraph-1.5.1.tar.gz/download -O nagiosgraph-1.5.1.tar.gz
# tar xvfz nagiosgraph-1.5.1.tar.gz
# cd nagiosgraph-1.5.1
Перевіряємо чи є всі необхідні залежності:
# ./install.pl --check-prereq
І коли все добре - переходимо до установки:
# ./install.pl --layout debian
На всі подальші питання необхідно буде уважно відповісти. Шляхи до моїх конфігураційних файлів можуть дещо відрізнятись, проте суть особливо не змінюється.
Після установки варто перевантажити сервіси:
# service apache2 restart
# service nagios restart
Трішки відредагуємо конфігураційні файли Nagiosgraph:
# vim /usr/share/nagios3/htdocs/ssi/common-header.ssi
<script type="text/javascript" src="/nagiosgraph/nagiosgraph.js"></script>
Для того, щоб надалі зручно підключати графіки до перевірок варто описати сервіс:
# vim /etc/nagios3/conf.d/services/services_other.cfg
...
define service {
name graphed-service
action_url /nagiosgraph/cgi-bin/show.cgi?host=$HOSTNAME$&service=$SERVICEDESC$' onMouseOver='showGraphPopup(this)' onMouseOut='hideGraphPopup()' rel='/nagiosgraph/cgi-bin/showgraph.cgi?host=$HOSTNAME$&service=$SERVICEDESC$&period=week&geom=650x230
register 0
}
...
geom=650x230 - розмір майбутнього pop-up-а.
period=week - в спливаючому вікні буде відображено графік за тиждень.
Де саме буде описано цей сервіс не особливо важливо, головне щоб він підгружався моніторинговою системою.
Надалі підключаємо кнопку відображення графіку для необхідних перевірок (параметр graphed-service, що ми описали абзацем вище):
# vim /etc/nagios3/conf.d/hosts/nagios.my.com.cfg
...
define service{
use generic-service,graphed-service
host_name nagios.my.com
service_description Memory Status
check_command check_mem!80!90
}
...
І ось як це виглядатиме:
Також можна натиснути на значок графіку і переглянути графіки за день / тиждень / місяць / рік:
В меню вище можна обрати необхідні розміри графіків та дані, котрі необхідно відобразити.
Всі графіки у моємо випадку зберігаються у директорії /var/spool/nagiosgraph/rrd/. Тому при видаленні перевірок, варто також видаляти і файли графіків.
Перевірка оперативної пам'яті генерує, наприклад, такий вивід:
# ./check_mem -w 80 -c 90
Memory: OK Total: 12039 MB - Used: 4301 MB - 35% used|TOTAL=12623962112;;;; USED=4508446720;;;; CACHE=4903997440;;;; BUFFER=408313856;;;;
Тому щоб на графіку підписи були виконані акуратніше необхідно їх описати в labels.conf:
# vim /etc/nagiosgraph/labels.conf
...
#Memory Status
TOTAL,data=Total
BUFFER,data=Buffer
CACHE,data=Cache
USED,data=Used
...
Є можливість також відфільтрувати графіки, що будуть показані на графіку. Це можна зробити в datasetdb.conf:
# vim /etc/nagiosgraph/datasetdb.conf
...
service=Memory Status&db=TOTAL,data&db=BUFFER,data&db=USED,data
...
І графік використання кешів (CACHE,data) буде упущено.
Для зручності також можна інтегрувати Nagiosgraph в ліве бокове меню моніторингової системи, для чого необхідно дещо змінити конфігураційний файл side.php:
# vim /usr/share/nagios3/htdocs/side.php
...
<div class="navsection">
<div class="navsectiontitle">Nagiosgraph</div>
<div class="navsectionlinks">
<ul class="navsectionlinks">
<li><a href="/nagiosgraph/cgi-bin/show.cgi" target="main">Graphs</a></li>
<li><a href="/nagiosgraph/cgi-bin/showhost.cgi" target="main">Graphs by Host</a></li>
<li><a href="/nagiosgraph/cgi-bin/showservice.cgi" target="main">Graphs by Service</a></li>
</ul>
</div>
</div>
...
Ось про що я веду мову:
# vim /etc/nagios3/conf.d/hosts/nagios.my.com.cfg
...
define service{
use generic-service,graphed-service
host_name nagios.my.com
service_description Memory Status
check_command check_mem!80!90
}
...
І ось як це виглядатиме:
Також можна натиснути на значок графіку і переглянути графіки за день / тиждень / місяць / рік:
В меню вище можна обрати необхідні розміри графіків та дані, котрі необхідно відобразити.
Всі графіки у моємо випадку зберігаються у директорії /var/spool/nagiosgraph/rrd/. Тому при видаленні перевірок, варто також видаляти і файли графіків.
Перевірка оперативної пам'яті генерує, наприклад, такий вивід:
# ./check_mem -w 80 -c 90
Memory: OK Total: 12039 MB - Used: 4301 MB - 35% used|TOTAL=12623962112;;;; USED=4508446720;;;; CACHE=4903997440;;;; BUFFER=408313856;;;;
Тому щоб на графіку підписи були виконані акуратніше необхідно їх описати в labels.conf:
# vim /etc/nagiosgraph/labels.conf
...
#Memory Status
TOTAL,data=Total
BUFFER,data=Buffer
CACHE,data=Cache
USED,data=Used
...
Є можливість також відфільтрувати графіки, що будуть показані на графіку. Це можна зробити в datasetdb.conf:
# vim /etc/nagiosgraph/datasetdb.conf
...
service=Memory Status&db=TOTAL,data&db=BUFFER,data&db=USED,data
...
І графік використання кешів (CACHE,data) буде упущено.
Для зручності також можна інтегрувати Nagiosgraph в ліве бокове меню моніторингової системи, для чого необхідно дещо змінити конфігураційний файл side.php:
# vim /usr/share/nagios3/htdocs/side.php
...
<div class="navsection">
<div class="navsectiontitle">Nagiosgraph</div>
<div class="navsectionlinks">
<ul class="navsectionlinks">
<li><a href="/nagiosgraph/cgi-bin/show.cgi" target="main">Graphs</a></li>
<li><a href="/nagiosgraph/cgi-bin/showhost.cgi" target="main">Graphs by Host</a></li>
<li><a href="/nagiosgraph/cgi-bin/showservice.cgi" target="main">Graphs by Service</a></li>
</ul>
</div>
</div>
...
Ось про що я веду мову:
Одразу ж в index.php можна поправити сторінку, котра буде відкриватись при відкритті моніторингової системи:
# vim /usr/share/nagios3/htdocs/index.php
...
$corewindow="/cgi-bin/nagios3/tac.cgi";
...
І як результат стартовою сторінкою тепер буде "Tactical Monitoring Overview".
Посилання:
Для графиков считаю лучше cacti подходит - более гибкая система.
ВідповістиВидалитиТа не сказав би. Все одному в як на мене зручніше.
Видалити