Название: мониторинг юзверей на основе cacti Отправлено: blackjack от 11 Января 2010, 21:13:22 выделено из топика http://forum.nodeny.com.ua/index.php?topic=367.0 (c) elite
Ой, да ладно, все итак открыто, изложу суть модуля. Может у тс и по другому немного, но кто захочет разобратся, тот это сделает. Итак. Скрипт который из базы биллинга выдергивает имена юзеров и создает в какти графики для каждого пользователя. Почитать как добавить график из командной строки можно сдесь http://www.cacti.net/downloads/docs/html/cli_add_graphs.html (http://www.cacti.net/downloads/docs/html/cli_add_graphs.html) Код: #!/usr/bin/perl дальше делаем скрипт, который будет из базы биллинга выбирать из X таблиц данные по трафику для юзера по id за последние 5 минут и скармливаем аутпут какти. Код: #!/usr/bin/perl дальше сама настройка какти 1. Логинимся 2. Console 3. Data Input Methods 3.1 Add 3.2 Name - Users traffic 3.3 Input Type - Script/Command 3.4 Input String - perl <path_cacti>/scripts/userstraf.pl <id> 3.5 Create 3.6 Input Fields->Add 3.6.1 Friendly Name - User id 3.6.2 Create 3.7 Output Fields->Add 3.7.1 Field [Output] - in 3.7.2 Friendly Name - Traffic in 3.7.3 Create 3.8 Output Fields->Add 3.7.1 Field [Output] - out 3.7.2 Friendly Name - Traffic out 3.7.3 Create 3.9 Save 4. Data Templates 4.1 Add 4.2 Data Templates [new]-> Name - Users traffic 4.3 Data Source->Name - User traffic 4.4 Data Input Method - Users traffic 4.5 Data Source Item -> Internal Data Source Name - in 4.6 Create 4.7 Data Source Item - New 4.8 Data Source Item -> Internal Data Source Name - out 4.9 Custom Data [data input: Users traffic] -> User id - Ставим галочку Use Per-Data Source Value (Ignore this Value) 4.10 Save 5. Graph Templates 5.1 Add 5.2 Template->Name - User traffic 5.3 Graph Template->Title (--title) - Ставим галочку Use Per-Graph Value (Ignore this Value) 5.4 Create 5.5 Graph Template Items 5.6 Add 5.7 Data Source - Users traffic - (in) 5.8 Color - 00CF00 5.9 Graph Item Type - AREA 5.10 Consolidation Function - AVERAGE 5.11 Text Format - Inbound: 5.12 Graph Template Items 5.13 Add 5.14 Data Source - Users traffic - (in) 5.15 Color - NONE 5.16 Graph Item Type - GPRINT 5.17 Consolidation Function - LAST 5.18 Text Format - Current: 5.19 Graph Template Items 5.20 Add 5.21 Data Source - Users traffic - (in) 5.22 Color - NONE 5.23 Graph Item Type - GPRINT 5.24 Consolidation Function - AVERAGE 5.25 Text Format - Average: 5.19 Graph Template Items 5.20 Add 5.21 Data Source - Users traffic - (in) 5.22 Color - NONE 5.23 Graph Item Type - GPRINT 5.24 Consolidation Function - MAX 5.25 Text Format - Maximum: 5.26 Insert Hard Return - true 6. Повторяем пункты 5.5 - 5.26 только для Data Source - Users traffic - (out) (пункт 5.7 in меняем на out) 7. Save 8. New Graphs 8.1 Выбираем нужный нам хост Host: 8.2 Graph Templates->Create: User traffic 8.3 Create 8.4 Create Graph from 'User traffic' - вводим логин юзера marinka 8.5 User id - 1115 Ну вот один график добавили, выше приведен скрипт который автоматизирует добавление графиков для пользователей из базы данных биллинга. Ну вот и все. Теперь добавить графики в биллинг дело техники, написать примочку для юзерской статистики либо плагин админки и выводить соответсвующий график при редактировании пользователя в админке или пользователю в его статистике. этот модуль надо юзать осторожно, а то вчера я добавил прорисовку 2000 юзеров, так нагрузка на проц выросла до 100% В моем модуле прорисовку 2000 пользователей делать можно!!!! Так что, Василь.... не делай мне тут черный пиар, а признай что сам смастерил что-то ))) только не угадал как ).а вот нечего и угадывать. если вы прочитали полностью топик, то увидите что нигде нет моих костылей, только автоматизация, 1. Данные для прорисовки графиков уже готовы и есть в базе биллинга 2. Один запрос в базу и передача результата в cacti 3. Скрипт для создания графиков из коммандной строки входит в стандартную поставку CACTI 4. Cacti poller обрабатывает все это Так вот. Никому я не делаю черный пиар, ничего я не смастерил, а автоматизировал только то что уже было, и помоему точно угадал как. А вы сами пробовали своим модулем прорисовать графики для 2000 пользователей и промониторить загрузку ЦП? На сервере который рисовал графики крутится еще dhcp, MySQL и ядро NoDeny. Сервер Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.0-RELEASE-p1 #2: Fri Dec 11 11:37:29 EET 2009 admin@router.ua:/usr/obj/usr/src/sys/GATE_8_0 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+ (2210.20-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x60fb2 Stepping = 2 Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT> Features2=0x2001<SSE3,CX16> AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!> AMD Features2=0x11f<LAHF,CMP,SVM,ExtAPIC,CR8,Prefetch> TSC: P-state invariant real memory = 1073741824 (1024 MB) avail memory = 1031913472 (984 MB) ACPI APIC Table: <080207 APIC1152> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs Название: Re: мониторинг юзверей на основе cacti Отправлено: Cell от 11 Января 2010, 22:21:34 Так вот. Никому я не делаю черный пиар, ничего я не смастерил, а автоматизировал только то что уже было, и помоему точно угадал как. Совсем не угадал. Модуль сделал с нуля и к Cacti не имеет отношения.А вы сами пробовали своим модулем прорисовать графики для 2000 пользователей и промониторить загрузку ЦП? В моем, даже очень воспаленном мозгу не могло бы такое придуматься т.к. это изначально бредовая идея так напрягать сервер. В моем модуле график рисуется только во время обращения именно к нужной странице биллинга и не перерисовывается если к нему обратится в течении следующих 5 минут тем самым не позволяя юзеру задосить сервер постоянными обновлениями страницы, а для этого рисуночеггг складывается на винт и показывается как ни в чем ни бывало. Будем дальше спорить что любой даже самый скромный сервачек без напряга выполнит 2000 запросов к базе в течении каждых 5 минут? На сервере который рисовал графики крутится еще dhcp, MySQL и ядро NoDeny. Хоть атомный реактор там еще установлен, по данной схеме будет все валится. Я использую Cacti только для мониторинга сетевых интерфейсов всех серверов сети (по snmp), загрузки их проциков, распределения памяти и вольтажа бесперебойников. |