high volume monitoring with graphite
TRANSCRIPT
![Page 1: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/1.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
High Volume monitoring with GraphiteGraphs Galore
Владимир Витков
2015.05.16 / Plovdivconf
High Volume monitoring with Graphite Владимир Витков
![Page 2: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/2.jpg)
Всеки бизнес има нужда от мониторинг. Всеки бизнес иманужда от гъвкав мониторинг който му позволява да си извадидобри изводи. Днес ще ви разкажа как го постигнахме при нас.
![Page 3: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/3.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Кой е пред вас
• Владимир• Системен Администратор• Привърженик на FOSS но не и зеалот• Експериментатор• Относително приятен човек за разговор*
High Volume monitoring with Graphite Владимир Витков
![Page 4: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/4.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Основи
High Volume monitoring with Graphite Владимир Витков
![Page 5: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/5.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Що е това мониторинг
• Система/и които събират данни• Използва се от OPS• Използва се от бизнеса• използва се от мениджърите• Използва се за известяване
High Volume monitoring with Graphite Владимир Витков
![Page 6: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/6.jpg)
Мониторинг системите са необходимо зло. Без тях не знаемкакво се случва в нашата система. С тях ... вече знаем че всичкое счупено и не добре. Мониторинг системите се използват несамо от администраторите и хората на смяна. Ползват се отбизнес мениджъри, от дирекни мениджъри, рекламисти, и койли още не. Добрата мониторинг система се използва и заизвестяване.
![Page 7: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/7.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Защо ни трябва мониторинг
• Без мониторинг сме слепи• Имаме ли капацитет• Държи ли се добре приложението ни• А имаме ли място• А колко плащаме за всичко• Има ли някой който ни атакува
High Volume monitoring with Graphite Владимир Витков
![Page 8: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/8.jpg)
Мониторинг системите имат множество приложения. Както занаблюдаване и проследяване на текущото състояние, така и запредсказване на бъдещо такова. Могат да бъдат много добърпризнак че нещо не е наред (някой ни атакува), да се позлват заизчисляване на сметки и още милиони неща.
![Page 9: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/9.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Какво е добър мониторинг
• Там където ти трябва• Такъв който не ти пречи• Гъвкав за да може да се използва за различни цели• Лесен за ползване• Лесен за работа
High Volume monitoring with Graphite Владимир Витков
![Page 10: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/10.jpg)
Добрият мониторинг представлява ненатрапчива система коятопозволява свободна работа с нея. Позволява да бъдеразширявана и не ти се пречка когато ти трябва. Гъвкав е отгледна точка на възможности и начини за употреба. И може бинай важното удобен е както за системните администратори такаи за не особенно запознатите хора.
![Page 11: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/11.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Що е това система за метрики
• Част от мониторинг системите• Цифрово изражение на нещата• Централно място за предвиждания• . . . и планиране• . . . Следене на странности
High Volume monitoring with Graphite Владимир Витков
![Page 12: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/12.jpg)
Системите за метрики са необходими за да имаме цифровоизражение на нашата услуга. Основната им цел обикновенно еда се използват за планиране на бъдещо натоварване, анализ натекущото. Откриване на проблеми. ПРОДАЖБИ и какво ли ощене.
Обикновенно системите за метрики са част от мониторинга, номогат да бъдат и отделни. Най-често се появяват като добавкакъм класическа система за мониторинг (нагиос) с цел да сесъбират и данни за производителността на системата. Могатсъщо така да са интегрирани във самата система (какти) илипросто да са нейна функционалност (какти).
![Page 13: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/13.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Трябват ли ни метрики
• на кратко да• По нашироко
• Да разбира се• Освен ако нямаме дребен сайт с няколко посетителя
дневно• . . . и огромно количество хардуер да го движи• И тогава даже пак ни трябват
High Volume monitoring with Graphite Владимир Витков
![Page 14: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/14.jpg)
Метрики и мониторинг системи са винаги необходими. Няма какда минем без тях. Без значение колко малък или голям ебизнесът ни е абсолютно належащо да знаем неговотосъстояние. Било то прииходи и разходи, производителност,складова наличност или каквото се сетите
![Page 15: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/15.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Graphite
High Volume monitoring with Graphite Владимир Витков
![Page 16: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/16.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Какво е Graphite
• Йерархична система за събиране на метрики• Python• Бърза• Позволява използване за различни цели• Удобен интерфейс за експерименти• Фиксирано изискване на мястото*
High Volume monitoring with Graphite Владимир Витков
![Page 17: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/17.jpg)
Graphite e йерархична система за събиране на метрики. Написане на питон. Може да бъде захранен с данни по различни начини.Доста бърза. С фиксирани изисквания за място (ако епомислено разумно). Има много удобен интерфейс заексперименти с вашите данни и е ужасно удобна при дизайн
![Page 18: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/18.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Защо Graphite
• It’s hip (nope)• It’s fast and flexible (Hell yes)• Подкарва се бързо• Позволява много възможности
High Volume monitoring with Graphite Владимир Витков
![Page 19: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/19.jpg)
Избрали сме Graphite не защото е модерно а порадифункционалността му
![Page 20: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/20.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
The Plan
High Volume monitoring with Graphite Владимир Витков
![Page 21: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/21.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Какво ще покажем
• Събиране на данни от много машини• Обработка на данните• Методики за определяне структурата на метриките• Изграждане на надеждна система• Оптимизация на цялото нещо
High Volume monitoring with Graphite Владимир Витков
![Page 22: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/22.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Събиране на данни
• POLL• Центранел колектор(и)• Разпределени колектори
• PUSH• Разпределени или балансирани колектори• UDP is a friend
High Volume monitoring with Graphite Владимир Витков
![Page 23: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/23.jpg)
Има две основни архитектури. POLL или PULL базирана прикоято колекторите на данните питат за тях. Това не е особенноскалируемо тъй като колекторите рано или късно се претоварват.Другият вариант е PUSH архитектура при която клиентитедокладват данните. Обикновенно имаме няколко колектораскрити зад балансер който разпределя натоварването. По тозиначин много по лесно разпределя натоварването. Също така незабравявйте разликата в цената на TCP и UDP. Да при UDPможе да имате загуби но печелите скорост. Ако това не еприемливо работете с TCP.
![Page 24: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/24.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Събиране на данни
• APP и OS• Collectd (client)• Collectd (server)• Graphite (a few/lot)• Има и други варианти
High Volume monitoring with Graphite Владимир Витков
![Page 25: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/25.jpg)
В моя конкретен случай приложенията и ОС-a докладватданните си на локален collectd процес където подлежат набуфериране при желание. От там се изпращат нацентрализирания collectd сървър. Той от своя страна ги подавана серия от graphite процеси които ги обработват докатонай-накрая се окажат върху дисковете. Това не е единственият ивероятно не е и най-добрият начин, така че почетете.
![Page 26: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/26.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
collectd.conf
LoadPlugin network<Plugin Network>
Listen "0.0.0.0" "3011"</Plugin>LoadPlugin write_graphite<Plugin write_graphite>
<Node "localhost">Host "localhost"Port "10001"Protocol "tcp"AlwaysAppendDS false
</Node></Plugin>
High Volume monitoring with Graphite Владимир Витков
![Page 27: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/27.jpg)
Зареждаме необходимите плъгини (network и write_graphite)като ги конфигурираме съответно да слушат и да изпращатданните.
![Page 28: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/28.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Обработка на данните
• Преименуване на данните• Агрегиране• Понижаване на точността (защо ли)• Други магии
High Volume monitoring with Graphite Владимир Витков
![Page 29: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/29.jpg)
След като получим данните може да ги подложим на обработа.Обработката в общия случай бива три вида. Преименуване наданните за да пасната на схемата на нашите метрики.Агрегиране на няколко метрики в една (сървъри). Понижаванена точността чрез усредняване на няколко поредни метрики.Основната цел на това усредняване (roll-up) е да се сместимясто. Отделно Graphite позволява дописване на функции скоито може да се реализира каквото ви душа желае.
![Page 30: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/30.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Преименуване (rewrite-rules.conf)
От
prod.i-123.p_pi-cust:srv:inst.metric
До
prod.customer.service.instance.id.metric
High Volume monitoring with Graphite Владимир Витков
![Page 31: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/31.jpg)
Има случаи при които данните не идват във вид удобен заграфит и цялото нещо трябва да се преименува. Много добърпример е когато данните идват от collectd. Collectd поддържахост, плъгин, инстанция на плъгина. Ако структурата ви несъвпада с идеята обикновенно си добавяте къстъм сепараторикоито в последстви трябва да си разпарсите. За целта сеизползва rewrite-rules.conf където има 2 секции (pre и post) катосе използват в различни слЗа целта се използваrewrite-rules.conf където има 2 секции (pre и post) като сеизползват в различни случаи.
![Page 32: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/32.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Агрегиране (aggregation-rules.conf)
• Правила за агрегиране на данни• OUT (freq) = method IN
<srv>.<srvid>.all (20) = <srv>.<srvid>.x*.qps
High Volume monitoring with Graphite Владимир Витков
![Page 33: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/33.jpg)
В случай че имате множество машини може да агрегиратеданните за да не товарите фронтенда. Това се постига чрезaggregation-rules.conf
![Page 34: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/34.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Roll-UP (понижаване на точността)
• Данни с висока точност са ни нужни за кратко време• Пести се дисково пространство• Улеснява изчертаването• По-полезни са на мениджмънт хората• storage-aggregation.conf
High Volume monitoring with Graphite Владимир Витков
![Page 35: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/35.jpg)
Данни с висока резолюция са полезни но за съжалениеконсумират доста пространство. Също така са трудни запредставяне
![Page 36: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/36.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Структуриране на метриките
• Измислете си схема и я следвайте• environment.application.instance.metric.dimension• production.retriever.high-prio.pages.per-second• Не се страхувайте да задълбаете• Изисквайте унифицирани метрики (min, avg, max,persec)
• Blacklist и Whitelist• Не е грешка да кривнете.
High Volume monitoring with Graphite Владимир Витков
![Page 37: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/37.jpg)
Един от основните фактори за успеха/провала на тази висистема е структурирането на метриките ви. Подредете ги поначин който е удобен за вас и вашия бизнес. Ако приложение неможе да ви даде метриките във вид който ви интересувапомислете или да преименувате метриките от сървърна странаили да смените библиотеката/приложението. Не се страхувайтеда нарушите схемата (поне в по ниските нива) ако това есмислено за случая. Настоявайте метрики да се генерират поопределен начин и да се подават с определени имена (ще сиспестите не малко главоболия). Не се притеснявайте даотхвърляте метрики.
![Page 38: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/38.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Цялостна система
High Volume monitoring with Graphite Владимир Витков
![Page 39: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/39.jpg)
Ще покажем как изглежда нашата система и защо е изграденапо този начин.
![Page 40: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/40.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Изграждане на надеждна система
• Много копия• Разпределено• Кешове• Възстановяване?• Тестове, тестове, тестове
High Volume monitoring with Graphite Владимир Витков
![Page 41: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/41.jpg)
За да бъде една система надеждна тя трябва да отговаря наняколко прости правила. Да може да се възстанови, да може дарасте, и най-вече тези неща да се случват лесно. Основното вслучая е да пазите повече от едно копие на данните си. Вярноможе да са само метрики но си ги пазете. Организирайтеразпределена система. Правете редовно тестове как се държинещото при различни критични ситуации
![Page 42: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/42.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Изграждане на надеждна система (2)
• Graphite е CPU ограничен• Превърнете го в ограничен по диск• Много кешове• Буфери• Опашки
High Volume monitoring with Graphite Владимир Витков
![Page 43: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/43.jpg)
По дизайн самият графит е ограничен до една процесорнанишка. Което сътветно го спъва в конфигурацията поподразбиране. За да избегнем това трябва да пуснем множествоинстанции за да оползотворим всички налични процесори ипостепенно да го превърнем в ограничен по диск. Имайтепредвид че метода по който графит записва данните на дискаводи до не малко количество операции. За да се избегне товаизползвайте много кешове с либерални буфери и опашки. Другтрик е да вкарате графит в режим при който той записваданните пакетно (а не точка по точка). Като цяло това се случвапочти от само себе си.
![Page 44: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/44.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Системата
High Volume monitoring with Graphite Владимир Витков
![Page 45: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/45.jpg)
Системата ни е изградена от N+1 броя нодове като даннитемежду тя са разпределени със резервираност. Показан еопростен вариант със само 2 нода. Тази система поне спореднашите скромни наблюдения спокойно може да понесе около2000 метрики в секунда. Системата е изградена на множествонива с цел да може да се подменя/рестартира/разширява всякоедно ниво само за себе си. Нивата които имаме са: * Главенколектор - collectd * Първичен relay - carbon-relay - използва сеза осъществяване на репликация на данните и реализация набуфер * Вторичен relay - carbon-relay - използва се за бъдещоразширяване на системата и реализира буфер * агрегатор наданни - carbon-aggregator - използва се за пресмятане на някоистойности и пестене на диск + буфер * кешофе - carbon-cache -записват данните на диска
![Page 46: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/46.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Демонстрация
High Volume monitoring with Graphite Владимир Витков
![Page 47: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/47.jpg)
Малка демонстрация как работят нещата.
![Page 48: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/48.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Въпроси?
High Volume monitoring with Graphite Владимир Витков
![Page 49: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/49.jpg)
![Page 50: High Volume Monitoring with Graphite](https://reader030.vdocuments.net/reader030/viewer/2022032620/55cf1431bb61eb545c8b4620/html5/thumbnails/50.jpg)
Основи Graphite The Plan Цялостна система Демонстрация Въпроси?
Връзки
• Слайдове: http://bit.ly/1JMShuv• Demo: http://bit.ly/1PIcMKF• mail: [email protected]• GPG: A162 1211 8ACB 4CC5
High Volume monitoring with Graphite Владимир Витков