Cacti - монтаж и конфигурация

Материал от Belgorod Linux User Group - Белгород.

Cacti е удобно и красиво решение за наблюдение на графичен сървър. Осъществено от RRDTools, SNMP, PHP, Apache.

данни

Съдържание

[редактиране] Инсталиране на Cacti

  • В този момент се предполага, че SNMP вече е конфигуриран (snmpd (snmpd.conf) е правилно конфигуриран на сървъра и snmpwalk, snmpget се изпълняват успешно на клиента (колектор, който събира статистика).
  • Инсталирайте cacti с вашия мениджър на пакети.

или изтеглете неговата дистрибуция и я разопаковайте.

  • Добавете потребителски кактуси към mysql, създайте база данни с име кактуси с разрешения за потребителски кактуси
  • Импортиране на база данни по подразбиране:

от директорията на кактусите

  • Редактирайте htdocs/include/config.php с настройки за mysql

  • Задайте разрешения за директорията, където са разопаковани кактусите:
  • Добавяне на скрипт за анкета към cron

[редактиране] настройка на кактуси

И така, трябва да добавим сървъра, който ще наблюдаваме към системата cacti. Първо, нека изясним малко терминологията за кактусите:

  • Host Templates - Хост (машинен) шаблон - в нашия случай това е шаблон за нашите сървъри, който показва кои графики трябва да се показват за него.
  • Data Template - Шаблон за данни. Тук ще се събират данни от SNMP и след това върху тях ще бъде начертан шаблон на графика.
  • Шаблон на графика – шаблон на графика, който взема данни от шаблон на данни и ги показва графично.
  • Методи за въвеждане на данни - Метод за получаване на данни от сървъра (това е скрипт или SNMP заявка или нещо друго)
  • Заявки за данни - Заявки за данни (по шаблони Методи за въвеждане на данни)

По този начин изграждането на графика в системата за един сървър ще изглежда по следния начин:

приблизително в този ред ще опишем нашите графики.

В полето Host Template изберете готов шаблон. Като цяло е по-добре да създадете свой собствен шаблон, като го копирате от съществуващия. За да направите това, трябва да отидете на

и натискане на отидете и след това го наречете нещо, например: OUR_TEMPLATE

  • Ние създаваме графики за нашето устройство:

изберете и Създайте

  • Поставяме нашето устройство в дървото:

В полето Избор на действие: изберете Поставете върху дърво

  • Ние създаваме графики за нашето устройство:

Поставяме отметки на тези графики, които искаме да видим

Но това са само тези, които вече имат шаблони. По-долу ще видим как да създадете свои собствени диаграми в Cacti.

[редактиране] Създаване на ваши собствени диаграми

[редактиране] OID

Определяме OID, по който ще вземем данни за желаната диаграма. Ще трябва да знаем oid на параметъра, който искаме да покажем. Например, нека вземем такава важна графика като: броя на процесите в системата с определено име. Нека ви напомня, че в snmpd.conf този параметър е:

Oid за този параметър е .1.3.6.1.4.1.2021.2.1.1

Можете също да създадете свой собствен oid, като прикачите някакъв скрипт към него. Пример:

тук на oid 548 е окачен някакъв скрипт (special_db.sh), който просто отпечатва някои стойности, които трябва да бъдат показани в диаграмата.

[редактиране] XML шаблон за получаване на данни

Създайте xml шаблон за получаване на данни.

Първо, нека направим snmpwalk през нашия oid и да видим неговото дърво:

Какво виждаме тук? Това, че имаме декларирани процеси са 3 бр. Всеки има свой собствен индекс. Например prIndex.1 съответства на процеса sendmail и има номер 1. И такадокато prIndex.2 съответства на процеса httpd и има номер 2. prIndex.3 съответства на процеса cron и има съответно номер 3.

Какво още е полезно да видите? Минималните и максималните стойности на тези процеси (prMin и prMax) и най-важното, от което се нуждаем, е текущият брой изпълнявани процеси: prCount. Тоест виждаме, че номерът на httpd вече е 128, броят на sendmail е 2, а броят на cron е 0.

Това е, което трябва да опишем в xml-e.

Отиваме на /resource/snmp_queries и създаваме нов XML, който ще опише структурата на данните:

  • име - име на структура (произволно)
  • oid_index - oid, на който се намира списъкът с индекси (в нашия случай ще има 3 от тях)
  • prIndex, prNames, prCount вече са структури от данни. Имената им са произволни. Нарекох ги така, както са написани в MIB.

Нека разгледаме по-подробно тук:

direction е типът данни за графиката. Може да бъде вход или изход. вход - входни данни (името на процеса или неговия индекс), по които ще се различават графиките, и изход - изходните данни на графиките, тоест самите данни, които ще бъдат начертани на графиката за конкретен процес.

[редактиране] Искане

Сега създаваме заявка според нашия xml

Дайте му име, например:

Въвеждане на нашия XML

/resource/snmp_queries/net-snmp-process.xml в типа посочете Получаване на SNMP данни

Запазете го, ще изпише No Graph Templates Defined. И така, според тази заявка за данни, трябва да изградим шаблон на диаграма. След това ще свържем този шаблон към нашата заявка за данни. Но първо трябва да направите колектор за съхранение на данни.

[редактиране] Шаблон за данни

Ние създаваме шаблон за данни. Шаблонът за данни, който ще бъде получен от нашата заявка за данни, която създадохмепо-висок.

Дайте име, например:

В полето Data Source Name напишете нещо като host_description - Process count. В полето Data Input Method изберете Get SNMP Data (Indexed), тъй като имаме индексирани данни (няколко деца на един oid), за нас това означава няколко процеса. И Вземете SNMP данни - ако данните не са индексирани (една информация на oid).

В елемента за източник на данни създаваме нашия елемент на диаграма, като посочваме името му от xml (например prCount)

щракнете върху Запазване за няколко източника на данни, трябва да създадете допълнителни елементи за източник на данни. натискане на Нов

[редактиране] Шаблон за диаграма

Нека да преминем към изграждането на шаблон за диаграма

Обаждаме се напр

В полето Заглавие посочете нещо като host_description - query_prNames брой процеси

Ще покаже Запазването е успешно.

[редактиране] Графични елементи

Сега можете да добавяте елементи на графиката. по-долу създаваме нов артикул

Нека ви напомня, че всеки артикул получава данни от шаблона за данни

И така, избираме нашия шаблон в източника на данни

  • цвят - цвят,
  • Тип елемент на графика: Типове изображения в графиката Тип елемент на графика:
  • AREA - защрихована област на диаграмата (обикновено се използва 1 или повече)
  • GPRINT - обикновено се използват надписи 3: Current, Max, Avr

Consolidation Function - функция за събиране на данни. Можеш да избираш

  • Средно - средно (използвайте за показване на графиката)
  • Мин, Макс (минимум максимум)
  • Последно - най-новото в момента.

последните три метода могат да се използват за етикетиране на графиката, показвайки ги не като AREA, а като GPRINT

И така, за да изградите действителната крива, изберете типа AREA и метода: Средна стойност, запазване

[редактиране]Надписи на графики

Сега нека добавим етикети към диаграмата, минимум, максимум и последен, като създадем нови елементи и въведем типа GPRINT и функциите Min, Max и Last (за Current) в тях, използвайки същия източник на данни за тях, и в полето Text Format въведете името на създадения етикет (min, max, current).

След последното поле можете да поставите отметка в квадратчето Insert Hard Return.

Ако трябва да покажем няколко криви на една диаграма, тогава за други елементи избираме съответния друг източник на данни

Щракнете върху Запазване на всички. Шаблонът е готов.

[редактиране] Метод за извличане на данни

Сега нека свържем този шаблон с метод за получаване на данни за него. За това отиваме на

и изберете нашата заявка там

влизаме в него и в полето Associated Graph Templates щракнете върху Add и изберете нашия Graph Template.

Не забравяйте да поставите отметка в квадратчето Асоциирани шаблони на данни.

В полето за име въведете нещо като prCount (доц. графика)

[редактиране] Обвързване към хост шаблон

Сега този графичен шаблон може да се използва в нашите хостове.

За да направите това, отидете на Host Templates (хост шаблони) и изберете нашия шаблон OUR_TEMPLATE.

По-долу, в полето Add Graph Template: Изберете името на нашия шаблон

И не забравяйте да добавите метод на анкета за нашия OID на същата страница, като изберете името на нашата заявка за данни в полето Заявки за свързани данни по-долу:

[редактиране] Обвързване на хост

Нека добавим метод на заявка към нашия хост

По-долу, в Заявки за свързани данни, добавете нашия метод на заявка

Не пропускайте да го проверите, като щракнете върху зеления кръг.

Трябва да покаже нещо като успех [10 елемента, 5 реда]

Ако показва Success [0 Items, 0 Rows] - щракнете върху Verbose Query и вижте къде сте направили грешка.

[редактиране] Хост графики

Ние създавамехост класации. Отиваме на

В горната част щракнете върху Създаване на графики за този хост. Намираме нашия график и поставяме отметка върху него.

Отиваме до класациите, изчакваме 5-10 минути и се наслаждаваме.

[редактиране] Резултат

Пример за готови настройки за всичко описано по-горе можете да изтеглите от тук:

Това са файлове, които са били експортирани в менюто Експортиране на шаблони и можете свободно да ги импортирате във вашите кактуси, да ги модифицирате или да ги използвате като отправна точка.