Ja (autor clanku) ano ;-) Na instalaci je to jednoduche a funguje dobre. Jsou instalace, kde s timto nastrojem monitoruji stovky i tisice zarizeni. V clanku jsem to asi nezminoval, pro me je velkym prinosem, ze si muzu "naprogramovat" vlastni zpracovani dat, pro ktere neni zadna sablona - data ziskate treba ze snmp a pak v php si je preobracite jak potrebujete a vratite je pak do monitoringu, kde uz se standardni cestou zpracuji. To je vyhodne pro nejaka atypicka data. Jine monitorovaci systemy jiste budou mit neco podobneho.
Já, jako dlouholetý uživatel, bych ho doporučil také. Minimálně se s ním dá začít a v případě, že by nevyhovoval, třeba časem přejít na něco jiného.
Původně jsem používal MRTG. To bylo už před cca 15 lety. Jenže ten je poněkud jednostranně zaměřený na grafování datových toků na síťových interfacech. Daly se tam dostat i jiná data, ale bylo to hrozně přes čtyři rohy. Posléze jsem přešel na Cacti, do kterého se už dalo dostat naprosto cokoliv a jednoduše, přímočaře a používám ho už asi 10 let. Postupná migrace na Zabbix, o které píšu v jiném postu, je daná spíš snahou o jisté sjednocení s prostředím, ve kterém se pohybuji - v práci máme Zabbix, moji známí mají Zabbix. A Cacti si stejně chci udržovat paralelně jako druhý monitoring pro případ, že "by bylo potřeba".
Nebo přímo původní http://www.observium.org/ . Proti Librenms má o něco lepší podporu některých zařízení.
Několik let používám k plné spokojenosti OMD https://mathias-kettner.de/check_mk.html
Instalace v Debianu obsahuje pouze stažení deb balíčku a jeho instalaci. Upgrady a updaty zcela bez problémů.
Cacti bylo ve své době (cca 2008) parádní. Bylo fakt silné v tom, jak posbírat a rychle nakresliti data z SNMP-enabled zařízení. Pak upadlo do stavu klinické smrti a jsem velmi zvědav, jak se dneska Cacti prosadí proti třeba kombinaci Prometheus + Grafana
K doporučení: Velice záleží na tom, co od monitorovacího nástroje chcete, co chcete monitorovat a kolik času chcete věnovat úvodnímu nastavení a co už znáte za nástroje.
Pokud chcete něco jednoduchého na naučení, tak zvažte Icingu (Icinga) - učí se docela pohodlně a udělali veliký pokrok i v dokumentaci. V poslední době je Icinga použitelná i pro cloudové nasazení, kdy monitorované stroje náhodně vznikají a zase zanikají.
Pokud máte čas se naučit Zabbix, tak to je taky velmi dobrá volba. Subjektivně se mi učil o něco pomaleji a bylo o něco těžší ho rozšířit. Když Zabbix nainstalujete, bude na první pohled vypadat hodně dobře a ušetříte si konfiguraci Icingy. (ale vyváží to zase jinými zlomyslnostmi).
Pokud chcete monitorovat hodně malý systém, zvažte nějaké SaaS řešení. Učit se, instalovat a udržovat nějaké vlastní monitorovací řešení může být dražší než si platit paušál.
Pokud chcete být cool a moderní, mrkněte se na Prometheus. Umí sbírat performance data hodně často a zapojit do něho vlastní aplikační sondy je docela pohodlné. V kombinaci Grafana+Prometheus můžete mít grafy, které Vám budou kolegová závidět.
Těch nástrojů, které můžete použít je spousta. Sjeďte si OpenSourceMonitoringConference a OpenSourceDatacenterContefence, tam se dozvíte určitě i o dalších pěkných technologiích. :-)
Disclaimer: Živím se tím, že mimo jiné provozuji Icingu.
Dalo by se to tak říct. Používám Cacti i Zabbix resp. postupně migruji z Cacti na Zabbix. Každý z nich umí něco lépe než ten druhý, něco hůře. Zabbix se mi zpočátku nelíbil, protože naměřená data ukládá do SQL (další moloch o kterého se musím starat) v poslední době v tom naopak vidím výhodu. V Cacti mi zase vadilo, že nemá něco jako je zabbixová proxy. Taky poller napsaný v PHP, to je vyloženě lahůdka. A se spine jsem zase měl problémy, že měřil nesmysly. Možná jsem něco dělal špatně, ale dlouhou dobu jsem s tím nedokázal hnout, až jsem to dal k ledu. Cacti ve verzi 0.8 má konzervativní web interface (1.x jsem zatím neviděl), což mi vyhovuje. Zabbix ho měl do verze 2.4, v 3.x řadě ho doprasili na naprostou ohavnost.
Mam nekolik instalaci, ty malinke maji jako PHP poller a neni s tim zadny problem. Ale u vsech vetsich si kompiluji spine a nemuzu rict, ze bych s nim mel nekdy nejaky problem. Vzdy to ale chce mit odpovidajici verzi polleru.
Zabbix proxy neznam, ale v clanku je jiz zminena moznost remote polleru, coz je asi tato vec.
V menu je ted i neco, co se jmenuje RRD proxy, ale jeste jsem se tim vubec nezabyval.
No já jsem si vždycky kompiloval spine z portů, v adekvátní verzi. V tom by asi příčina být neměla. Ten problém se projevoval tím, že když jsem přepnul poller z PHP na spine, některé grafy uletěly do naprosto nesmyslných hodnot, jiné vypadly úplně. Když jsem přepnul nazpět, vrátilo se všechno do normálu. Zkoušel jsem i úplně novou instalaci, kde bylo spine od začítku a zlobilo to taky. Přitom CactiEZ používá, ve výchozím stavu, spine a tam to vždycky měřilo správně.
Ale uvědomil jsem si jednu věc, která se mi v Zabbixu zatraceně líbí a v Cacti 0.8 chybí - discovery. Zabbix umí pravidelně procházet SNMP tabulky a pokud dojde ke změně, tak adekvátně upraví itemy (data source v terminologii Cacti) a grafy. Např. u síťových rozhraní - hlavně VPN, VLAN apod. - zatraceně příjemná věc. ;) V Cacti je potřeba jít do devices a tam tabulku ručně znovu načíst. Teda pokud toto neřeší nějaký plugin. Já jsem ale žádný takový nepoužíval, takže nevím zda existuje.
Ad proxy - zabbix proxy a remote poller jsou srovnatelný nástroj. Komunikační backend, zdá se, bude odlišný, ale slouží ke stejnému účelu. Zabbix proxy má lokální SQL databázi (může být i SQLite), se serverem ale komunikuje na úrovni vlastního protokolu, přes TCP. U Cacti, jak jsem z článku pochopil, remote poller komunikuje s centrálním Cacti na úrovni SQL databáze.
K te automatizaci - kouknete sem
https://docs.cacti.net/plugin:autom8
Ten plugin toho dela jeste o dost vice nez je na te strance uvadeno.
Funkce kterou popisujete bych se mozna trochu bal. Ale otazka je, jak by se to chovalo. Obcas treba v serveru vymenim disky, sitovku, zmenim VPN (jeden TUN/TAP zanikne, vzniknou 2 nove). Myslim, ze treba u tech TUN budou mit potom stejny index a najednou v grafu uvidim co?
Mozna zalezi co chces sledovat a jak. Cacti je podle me supr hlavne na grafy. Neco tim hlidat jde ale pokud chci spis dohled bezi/nebezi, neceho malo/moc tak bude lepsi zabix, zenoss, nagios ... tam zase grafy byli vzdycky problem. Nejak pekne se podivat treba na grafy poctu packetu na switchi to aby si vzal clovek na to dovolenou. V cacti na kliknuti.
Minimálně v případě Zabbixu bych si dovolil oponovat. Pokud jdu na grafy přes menu Monitoring / Graphs, je to samozřejmě vopruz, ale Zabbix umí tzv. screeny a tam si můžu poskládat grafy podle libosti. Mám, dejme tomu, na jednom screenu všechny MySQL servery, zatím co v Cacti (0.8) bych musel postupně oběhnout všechny hosty, kde MySQL běží. (Možná by to nějak šlo zaonačit, ale mám dojem, že by to bylo přes čtyři rohy.) Na jiném screenu mám grafy, které se týkají jediného hostu, např. poštovního serveru, jak je to zvykem v Cacti.
Icingu používáme (řádově desetitisíce kontrol), ale spíš jen na monitoring. Na sledování historie spíš Ganglii (ta má docela dobře vyřešené groupování, takže lze sledovat hodnoty přes celé clustery) a na malé instalace Munin (další dva grafovací nástroje, které se tu ještě neobjevily).
Já s úspěchem používám na sítě NAV - https://nav.uninett.no/
Na dohled techniky jako serverů a služeb pak centreon.
NAV si pomocí SNMP ze switchů uchovává pohyb MAC / IP adres a má i další zajímavé funkce.
CENTREON se od svých začátků dost změnil, takže například instalace CES (Centreon Enterprise Server) je fakt jednoduchá. Nedávno byla přidána podpora pluginů ve formě balíčků pro konkrétní techniku jako cisco atd..
Ja naopak mam v umyslu od centreonu odejit. A podobne od vsech nastroju tohoto typu. V cem je problem? Treba takovy monitoring databaze. Vidim X databazi na konkretnim stroji, ale pokud se ta databaze smaze, tak stale zustava v grafech a musi se regenerovat rrd soubor. Chce to proste modernejsi system, ktery s takovymi zmenami pocita.
No jo cacti je dobré, ale zdá se mi, že už je OT (off topic). Já teď používám Grafanu a dá se na to připojit i Mysql (Mariadb) jako konektor.
https://medium.com/bitnami-perspectives/monitoring-a-mariadb-server-using-prometheus-and-grafana-5ee3d1c5360e
Dokonce se to dá propojit s Nagiosem. Má to vlastní DB a komunitu lidí. To jsem ale nezkoušel.
Grafana:
Používám MRTG na sledování trafficu na interfacech Linux stroje a vcelku mi stačí. Vadí mi ale na něm dvě věci: 1) že po restartu PPP iface s dyn. adresou má problémy se změnou OID ppp0,
2) že se nenechá denní graf roztáhnout na více hodin - abych v pondělí viděl podrobnosti z víkendu (na týdenním už je to příliš stlačené).
Umí se s tím poradit Cacti ?
Přiznám se, že jsem zkusil Cacti nasadit cca před 3-4 roky, ale ta jeho konfigurace se mi zdála silně složitá, naklikat vše co bylo třeba se mi zdálo hrozně složité - tak jsem to nechal plavat. Tenkrát to byla nějaká verze zhruba 8.8. Je v tomhle Cacti 1.1.x lepší?
A ještě - na co všechno používá Cacti SQL DB? (sebraná data jsou v RRD DB)
Zmeny OID jsou spise vec snmp, myslim.
k druhemu bodu - v cacti si muzete grafy zoomovat jak chcete. Proste si na dennim/tydennim/... grafu oznacite mysi cast, ktera vas zajima a cacti udela prislusny graf. Druhou moznosti je si nastavit OD/DO v horni liste a graf se dle toho vygeneruje.
Instalace cacti mi slozita neprijde. Pokud umite nainstalovat php/mysql/snmp, tak je to potom jen o rozbaleni jednoho baliku a proklikani install skriptu. Ve spouste distirbuci je i toto pripraveno. Je to jen par kroku:
- zalozeni SQL databaze a uzivatele
- konf. www serveru (virtualhost nebo treba jen server/cacti)
- vlezt prohlizecem na ten virtualhost nebo proste spravne URL a drzet se installeru (v podstate jen zadat ty mysql udaje)
- pokud chcete neco nestandardniho, tak jeste mozna sahnout do include/config.php, ale to jen opravdu pro velke vyjimky
A pak uz grafujete. Pokud by byl zajem, muzu napsat clanek o instalaci a zakladu prace s Cacti.
Nu, věc SNMP to je, po výpadku a pozdějším nastartování PPP interface se změní OID indexu interface i IP adresy a třeba i IP adresa samotná - a MRTG se s tím dost špatně vypořádávalo, po restartu interface už nebylo schopno získat jeho data. A protože přes SNMP data získává i CACTI, tak jsem chtěl vědět, jestli se s tím umí vypořádat. Nebo umí (má nějakou šablonu?) získat data nějak jinak (u snímání lokálního stroje např. z /proc/net/dev, u jiného stroje v síti přes nějakého agenta jako u Zabbixu)?
K tomu zoomování grafů - měl jsem za to, že aby šlo zobrazit denní/týdenní/... data v plném rozlišení toho kterého, tak je třeba pro to odpovídajícím způsobem nakonfigurovat RRD DB - že tou je dáno, jaké období je v jakém rozlišení dostupné. Nebo to tak není? Chcete říct, že si mohu na ročním grafu vyzoomovat rok starý den do podrobností denního grafu? To se mi moc nezdá...
Instalaci jsem za složitou nepovažoval, ta byla jednoduchá, vše (cacti, mysql, apache, PHP, rrdtool aj.) bylo v balíčcích distribuce a skloubit to dohromady nebyl problém. Na rozdíl od následné vlastní konfigurace toho co jsem chtěl (snímat data a vykreslovat grafy síť. toků na rozhraních Linux serveru), to se mi zdálo hrozně složité a neintuitivní - to jsem vnímal jako slabinu CACTI.
Článek o Cacti bych uvítal - speciálně kdyby to bylo zaměřené na konkrétní příklady nasazení. Já už si z té doby, kdy jsem to zkoušel, moc nepamatuji, ale mám pocit, že příkladů tenkrát moc nebylo.
k OID - aha, uz chapu, co myslite. Tohle Cacti v zakladu nedela, mozna plugin Autom8 (automation). Ja ho ale nikdy drive nepouzival, nyni je primo integrovan, ale nemusi se pouzit, coz je muj pripad.
Ja mel spis opacny problem, kdyz treba pridam disk, tak se mi "vsune" obcas nekam mezi a nektere disky se mi posunou. Pak v grafech vidim samozrejme spatny disk. Ale tohle se mi deje asi jen u FreeBSD a jejich bsnmpd.
K zoomovani - porovnaval jsem to se starickym MRTG. Jestli si dobre pamatuju, tak to vzdy umelo jen udelat prave hodinovy, denni, ... graf a nic vice. Cacti zde umozni vic. Mam rocni graf a v nem si mysi vyberu malinky usek a pregeneruje se graf. Rok stara data uz samozrejme budou zkonzolidovana, to je vlastnost rrd/rra. Cim vice do minulosti, tim nepresnejsi data. Ale jde to obejit:
https://forums.cacti.net/viewtopic.php?t=9605
O clanku zapremyslim.
Zrovna ted resim monitoring nove infrastruktury objevil jsem ted Netdata:
https://github.com/firehol/netdata
Demo sites:
http://my-netdata.io/#demosites
Netdata mám aktuálně nasazený na serveru. Hodně se mi líbí. Nicméně je celkem náročný na RAM, pokud chceš držet historii třeba měsíc zpět. Na githubu mají dokonce vzorec podle kterýho si můžeš spočítat využití RAM na základě délky historie.
Taky se mi nelíbí, že je až příliš zaměřený na grafy. V podstatě není připravený na jinou reprezentaci dat než grafem. Avšak oceňuji možnost si velice snadno v HTML udělat vlastní dashboard.
Jsem rozhodnutý pro odchod z netdata. Nástroj je (na rozdíl od všech ostatních) velmi pěkně graficky zpracovaný. Nicméně si nedokážu představit, že by zavolal zákazník, že někdy něco nejelo a já se z těch grafů pokusil vyčíst proč.
Každopádně pokud někdo nemá na monitorovací nástroj vysoké nároky a chce pěkný design, tak určitě doporučuji ;)
netdata je to nejefektivnější na sběr metrik ze systémů co jsem potkal. Pokud chceš historii, máš k dispozici konektory a můžeš je napojit, elk (elastic+kibana+logstash), influxdb atd.
Držet historii v paměti v netdata je šílenost, k tomu určená není, její gui je primárně na realtime sledování.
Pokud ti zákazník musí volat, že je nějaký problém, měl bys více zapracoval na monitoringu a alertingu, ušetří ti to práci a přidá renomé.
Dopuručuju: OMD / check-mk
http://mathias-kettner.com/check_mk_demo.html
"nadstavba" nagiosu, podobná Incinze ( nebo jí vyskloňuješ líp ? :-)
primárně monitoring, ale auto/re-invetory -> grafy pohoda,
minutová aktualizace 2000 hostů + 14 000 služeb.
teď jsem přesouval těch 15 GB RRD souborů do ramdisku :-)
původně grafoval munin, ktrerý tak tak zvládal pár desítek služeb.