/etc/ganglia/gmetad. conf

Виконуваний файл самого процесу знаходиться в директорії:

/usr/sbin/gmetad

Gmond - процес який запускається на всіх вузлах для яких необхідно збирати статистику. Конфігураційний файл можна знайти в директорії:

/etc/ganglia/gmond. conf

3.3. Установка пакету.

Список необхідного:

1. ПК з конфігурацією: Процесор 500+ MHz і більше, оперативна памать RAM 2. 128+ мб і більше, жорсткий диск 10+ Гб. (Вказані мінімальні параметри).

3. Операційна система Linux або Ubuntu.

4. Сам пакет Ganglia (можна завантажити з http://ganglia. info/ безкоштовно).

5. Web Server Apache з підтримкою, або установленим плагіном PHP.

6. MySQL (база даних)

Порядок роботи:

1. Встановлюємо операційну систему на ядрі Linux. В моєму випадку Ubuntu.

2. Встановлюємо Apache (веб. сервер) + PHP (мова) + MySQL (база даних).

У нас мають бути права «root» – адміністратора.

Всі команди вводяться в вікні задач в операційній системі.

Встановлюємо Apache:

apt-get install apache2 libapache2-mod-auth-mysql

Встановлюємо MySQL:

apt-get install mysql-server mysql-client

Під час установки потрібно вказати пароль в root-а користувача MySQL-ного сервера.

Встановлюємо php:

apt-get install php5 php5-common libapache2-mod-php5 php5-cli php5-cgi php5-mysql php5-curl php5-memcache

Перезапускаємо веб-сервер apache командою:

/etc/init. d/apache2 restart

Необхідні пакети для установки системи Ganglia присутні в більшості сучасних пакетах операційних систем, побудованих на базі ОС GNU Linux. Тому процес установки не представляє особливих складнощів. В Ubuntu необхідно виконати команду:

НЕ нашли? Не то? Что вы ищете?

sudo apt-get install ganglia-monitor ganglia-webfrontend chkconfig

Ми встановлюємо програму chkconfig для того щоб мати можливість керувати автоматичним запуском демонів при старті системи.

sudo yum install ganglia

sudo yum install ganglia-gmond

Передбачається, що веб-сервер вже встановлено. Після встановлення ви можете відкрити сторінку статистики Ganglia, для цього перейдіть за адресою:

http://localhost/ganglia/

Примітка: Щоб веб запрацював, потрібно скопіювати папку с вебом з пакету, в папку сервера web. [10]

Далі приклади графіків:

Ganglia-admin-3-load-overview-26042006

Рис. 3.1. Приклади деяких загрузки процесора, оперативної памяті, мережі за 6 годин в пакеті моні торування Ganglia.

Розглянемо графіки.

Перший графік – завантаження процесора від використання процесів. Коли процес переходить за межу, тоді процесор затрачає час на його виконання.

Другий графік – завантаження оперативної пам’яті. Показано скільки пам’яті в буфері, в використанні, і скільки зарезервовано. По осі Х вказаний час, по осі Y – кількість оперативної пам’яті.

Третій графік – Показує використання процесора, в процентах, за певний період часу.

Четвертий графік – Дає нам інформацію про використання мережі.

In – це трафік який входить до користувача, а Out – який користувач надсилає в мережу. [7]

Було дуже не зручно, підєднувати монітор, і дивитися чи комп’ютер працює стабільно. Тому ставиться окремий комп’ютер, який проводить моніторинг всіх вище поставлених за допомогою пакету Ganglia. Нижче приклад:

gangliasflow

Рис. 3.2. Приклад роботи пакету Gangila.

3.4. Плагін для Ganglia для моніторингу установки.

Кожна станція складається з двох сцинтиляційних детекторів, блоку електроніки та одноплатного комп'ютера, на якому встановлений Voyage Linux. При запуску одноплатного комп'ютера включається програма під назвою qnetdaq2, яка приймає дані з блоку електроніки по підключеню через RS-232 або USB (у нових станціях). Дані бувають двох видів, і пишуться в різні файли. В один файл пишеться інформація про спрацювання сцинтиляторів, а в іншій - контрольні параметри установки - температура, тиск і показання лічильників, що підраховують число сигналів на кожному з 4 входів блоку електроніки і число тригерів.

Формат файлу такий:

1348687386 TH 0.0

1348687386 DS S0 = 00000000 S1 = 0000BB83 S2 = 0000D189 S3 = 00000000 S4 = 00000064 S5 = CD259E39

1348687386 BA 2310 0

1348687388 TH 0.0

1348687388 DS S0 = 00000000 S1 = 0000BB83 S2 = 0000D189 S3 = 00000000 S4 = 000000c8 S5 = CD259E39

1348687388 BA 2310 0

1348687390 TH 0.0

Для написання плагіну була використана програма «qnetdaq2».

#!/usr/bin/env python

import sys

import time

import calendar

def main(arv):

with open("LNP6.dcs","w+") as f:

var=0

while(True):

var=var+100

display(f, var)

time. sleep(2)

def display(f, var):

utc=calendar. timegm(time. gmtime())

ds=str(utc)+" DS S0=00000000 S1=0000BB83 S2=0000D189 S3=00000000 S4=%(#)08x"%{"#":int(var)}+" S5=CD259E39\n"

f. write(str(utc)+" TH 0.0\n")

f. write(ds)

f. write(str(utc)+" BA 2310 0\n")

if __name__ == '__main__':

main(sys. argv)

Рядки TH і BA це температура і тиск. Рядок DS - це покази лічильників. Перша колонка - час (UNIX).

Особливо важливо значення лічильника S4. Це число тригерів, воно повинно монотонно зростати. Якщо швидкість зростання різко змінюється - стає дуже великою або дуже маленькою, значить з детекторами на станції є якісь проблеми.

Внутрішні модулі розширення реалізуються двома шляхами.

1. За допомогою завдань cron, у яких викликається команда gmetric, здійснює введення даних у Ganglia

2. За допомогою написання скриптів в нових модулях розширення для Python.

Я буду використовувати другий метод, який є зручним.

По-перше, включимо модулі розширення Python для Ganglia. [11]

Треба зробити наступне:

1. Відредагувати файл

/etc/ganglia/gmond. conf

Коли ви його відкриєте, то, перегорнувши від початку приблизно чверть файлу, ви побачите розділ modules, що виглядає приблизно так:

modules {

module {

name = "core_metrics"

}

...

}

Потрібно додати в цей розділ ще один модуль:

module {

name = "python_module"

path = "modpython. so"

params = "/usr/lib64/ganglia/python_modules/"

}

У моєму файлі gmond. conf я додав цей код починаючи з 90-го рядка. Таким чином ми включили в Ganglia модулі розширення Python. Також кількома рядками нижче після інструкції include ('/etc/ganglia/conf. d / *. Conf') потрібно додати рядок include ('/etc/ganglia/conf. d/ *. Pyconf'). Це підключає визначення модулів які додаються нами.

2. Створити такі директорії:

mkdir /etc/ganglia/conf. d

mkdir /usr/lib64/ganglia/python_modules

3. Виконати кроки 1 і 2 на всіх ваших вузлах.

Отже, я з допомогою модуля розширення Ganglia просто буду відслідковувати ріст тригерів. Далі код самого модуля (плагіна).

counter_file = "LNP6.dcs"

def s4counter_handler(name):

try:

f = open(counter_file, 'r')

except IOError:

return 0

line = f. readlines()[-2]

value = int(line. split()[6].split('=')[1], 16)

return value

def metric_init(params):

global descriptors, counter_file

if 'counter_file' in params:

counter_file = params['counter_file']

d1 = {'name': 's4 counter',

'call_back': s4counter_handler,

'time_max': 90,

'value_type': 'uint',

'units': 'none',

'slope': 'both',

'format': '%u',

'description': 'Value of S4 counter',

'groups': 'health'}

descriptors = [d1]

return descriptors

def metric_cleanup():

'''Clean up the metric module.'''

pass

#This code is for debugging and unit testing

if __name__ == '__main__':

metric_init({})

for d in descriptors:

v = d['call_back'](d['name'])

print 'value for %s is %u' % (d['name'], v)

Після перезапуску gmond метрика відображаеться в пакеті Ganglia.

Висновок

В даній кваліфікаційній роботі:

1. Наведено інформацію про космічні промені, та їх характеристики;

2. Проаналізовано проект «Зливи знань»;

3. Описано експериментальну установку «Русалка»;

4. Розглянуто порядок роботи на сайті проекту «Зливи знань»;

5. Налагоджено установку для спостереження за зливами у відділенні фізики ядра УжНУ;

6. Встановлено та налаштовано пакет «Ganglia»;

7. За допомогою мови «Python» написана метрика для пакету «Ganglia», яка проводить моніторинг швидкості лічби трігера установки.

Література

1. С. Введение в физику космических лучей. // М.: Атомиздат, 1979. – С. 304.

2. , Широкие атмосферние ливни космических лучей. // Успехи физических наук T. 49, вып. 2, 1953. - С.242.

3. Астрофизика космических лучей (история и общий обзор) // Успехи физических наук T. 166, № 2, 1996 - С.183.

4. , Исследования космических лучей // Успехи физических наук T. 179, № 11, 2009 - С.1211.

5. , Физические условия в потенциальных ускорителях космических лучей сверхвысоких энергий: обновленная диаграмма Хилласа и ограничение из потерь на излучение // Успехи физических наук T. 180, № 7, 2010 - С.734.

6. Ишханов Б. С. Космичекие лучи и их происхождение // Кафедра общей ядерной физики физического факультета МГУ. – Москва, 2009 [Електронний ресурс]. Режим доступу: http://nuclphys. sinp. msu. ru/ .

7. Нобелевская премия по физике 1936 - [Електронний ресурс]. - Режим доступу: http://www. nobeliat. ru/laureat. php? id=519.

8. Странники Вселенной или эхо Большого взрыва. - [Електронний ресурс]. - Режим доступу: http://nuclphys. sinp. msu. ru/pilgrims/index. html.

9. Левин А. Космические дожди - [Електронний ресурс]. - Режим доступу: http://elementy. ru/lib/431771.

10 . Космические лучи в атмосфере Земли // интернет-журнал «Ломоносов» - Москва, 2008 [Електронний ресурс]. Режим доступу: http://nature. web. ru/db/author. html? id=1045.

11. Научно-образовательный открытый международный интерактивный проект «Ливни знаний» - Дубна, 2008 [Електронний ресурс] Режим доступу: http://livni. jinr. ru/ .

12. Валлард Бенинкос Ganglia и Nagios: Часть 1. Мониторинг коммерческих кластеров с помощью Ganglia - США 2009р. [Електронний ресурс] Режим доступу:
http://www. /developerworks/ru/library/l-ganglia-nagios-1/ .

13. SourceForge // Gmond Python metric modules - США 2012, [Електронний ресурс] Режим доступу: http:///apps/trac/ganglia/wiki/ganglia_gmond_python_modules .

Подяки

Щиро дякую доц. Гайсаку І. І. за допомогу у виборі теми та її розробці і формулюванні висновків роботи, а також за допомогу у підготувані слайдів. Моєму науковому керівнику доц. Пилипчинку В. А. за допомогу у плануванні роботи, доборі літератури, численні консультації та редагування тексту.

Моя подяка співробітникам кафедри теоретичної фізики (відділення фізика ядра та високих енергій) доц. Васильєвій Г. В., доц. Парлагу О. М., доц. Плекану Р. М., за сприяння у ході виконання роботи.

Дякую також Бут Г. В., за методичні вказівки у оформленні роботи, Смолянюку А. В. (кафедра прикладної фізики) та (ОИЯИ, Дубна) за консультації пов’язані з написанням плагіну для пакету «Ganglia».

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4