MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

SCUMM:Инфраструктура за мониторинг на база данни, базирана на агенти в ClusterControl

С изданието 1.7 на нашия водещ продукт ClusterControl, ние представихме нашата нова инфраструктура за наблюдение, базирана на агенти:SCUMM – която този блог обсъжда по-подробно.

Като основен елемент на нашия продукт, ClusterControl предоставя пълна система за наблюдение с данни в реално време, за да знае какво се случва в момента, с показатели с висока разделителна способност за по-добра точност, предварително конфигурирани табла за управление и широка гама от услуги за уведомяване на трети страни за предупреждение .

Локалните и облачните системи могат да бъдат наблюдавани и управлявани от една точка.

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

И ... наблюдението може да бъде без агенти чрез SSH или базирано на агенти ... и тук идва SCUMM!

Новата система SCUMM на ClusterControl е базирана на агенти, със сървър, извличащ метрики от агенти, които работят на същите хостове като наблюдаваните бази данни и използва агенти на Prometheus за по-голяма точност и опции за персонализиране, докато наблюдава клъстерите на вашите бази данни.

Но защо SCUMM и за какво става въпрос?

Въведение в SCUMM

SCUMM - Severalnines CMON Unified Monitoring and Management - е нашата нова инфраструктура за мониторинг, базирана на агенти.

Тази инфраструктура за наблюдение се състои от два основни компонента:

Първият компонент е сървърът Prometheus, който действа като база данни от времеви серии и съхранява събраните показатели.

Вторият компонент е износителят. Може да има един или повече износители, отговорни за събирането на показатели от възел или услуга. Сървърът на Prometheus събира тези показатели (това се нарича скрейпинг) от експортерите през HTTP. Освен това създадохме набор от табла за управление, за да визуализираме събраните показатели.

Основните предимства са:

  1. Събирайте показатели с поддържани от общността износители на Prometheus
    1. Например данни от MySQL Performance Schema или ProxySQL
  2. Много специализирани табла за управление, показващи най-важните показатели и исторически тенденции за всяка наблюдавана услуга
  3. Високочестотният мониторинг дава възможност за изстъргване на целите с интервал от една секунда
  4. Архитектура, която се мащабира с броя на сървърите на база данни и клъстерите. Един екземпляр на Prometheus може да погълне хиляди проби в секунда.
  5. Не се разчита на SSH свързаност за събиране на показатели за хост и процеси, което означава по-мащабируема система в сравнение с решение за наблюдение без агент
  6. Възможността за създаване на персонализирани табла за управление с персонализирани правила (внимавайте за предстоящите ни версии)

Агентите/износителите на SCUMM, които са инсталирани на наблюдаваните възли, се наричат ​​Prometheus Exporters. Износителите събират показатели от възела (например CPU, RAM, диск и мрежа) и от услуги като MySQL или PostgreSQL сървъри. Сървърът Prometheus се инсталира на сървър и изпива (пробва) експортерите с персонализиран интервал.

Защо Прометей?

Prometheus е много популярна база данни от времеви серии, която е получила широко разпространение с активна екосистема. Той предлага богат модел на данни и език за заявки с http базирана система за анкети. Лесно е да се инсталира, поддържа и конфигурира и в HA настройка.

Prometheus изстъргва метрики от инструментирани задания, директно или чрез междинен push шлюз за краткотрайни задачи. Той съхранява всички изпипани проби локално и изпълнява правила върху тези данни, за да обобщава и записва нови времеви серии от съществуващи данни или да генерира сигнали.

Prometheus работи добре за записване на всякакви чисто числови времеви серии. Той пасва както на мониторинг, ориентиран към машината, така и на мониторинг на силно динамични, ориентирани към услуги архитектури. В света на микроуслугите подкрепата му за събиране на многоизмерни данни и заявки е особено силна страна.

Prometheus е проектиран за надеждност, да бъде системата, към която отивате по време на прекъсване, за да ви позволи бързо да диагностицирате проблеми. Всеки сървър на Prometheus е самостоятелен, не зависи от мрежово съхранение или други отдалечени услуги. Можете да разчитате на него, когато други части от вашата инфраструктура са повредени и не е необходимо да настройвате обширна инфраструктура, за да го използвате. По този начин за висока наличност е възможно просто да се инсталира втори сървър на Prometheus, който изстъргва същите данни като първия сървър на Prometheus.

Освен това Prometheus е много популярна база данни от времеви серии и нейното приемане нарасна много бързо. Възможно е друг сървър на Prometheus, който е по-високо в организацията, да изстърже сървърите на Prometheus по-близо до нивото на базата данни. Това позволява мащабируема инфраструктура за наблюдение, при която на ниво база данни разделителната способност на данните е по-висока, отколкото по-нагоре в организацията.

Износители

Един или повече експортери са инсталирани на наблюдавания сървър и отговарят за събирането на показатели за конкретна част от инфраструктурата. Например може да има един износител за улавяне на специфична информация за хоста, експортер за улавяне на MySQL метрики и показатели на ProxySQL.

Също така създадохме специфичен експортер на процеси, който следи текущите процеси на сървъра. Този експортер е от решаващо значение за функциите за висока наличност в ClusterControl и позволява на ClusterControl бързо да реагира при повреди на процеси и състояния на процесите. Използването на експортера на процеси (който е инсталиран по подразбиране, когато е активиран мониторинг, базиран на агенти) намалява натоварването на системата на наблюдаваните сървъри.

Разрешаване на мониторинг, базиран на агенти в ClusterControl

Активирането на мониторинг, базиран на агенти, е толкова просто, колкото щракнете върху таблото за управление и след това щракнете върху „Активиране на мониторинг, базиран на агенти“. Изберете хост, където ще бъде инсталиран сървърът Prometheus. След това този сървър на Prometheus може да бъде споделен с други клъстери.

Със своята версия 1.7.1 ClusterControl идва със следните табла:

  • Общ преглед на системата
  • Общ преглед на клъстера
  • MySQL сървър – Общи
  • MySQL сървър – Кешове
  • Показатели на MySQL InnoDB
  • Общ преглед на клъстера на Galera
  • Общ преглед на сървъра на Galera
  • Общ преглед на PostgreSQL
  • Общ преглед на ProxySQL
  • Общ преглед на HAProxy
  • Преглед на MongoDB клъстер
  • MongoDB ReplicaSet
  • MongoDB сървър

Да обобщим...

Дали някой иска да използва агент за наблюдение или да върви по пътя без агент, е изцяло базирано на изискванията на организационните политики и персонализираните нужди. И въпреки че обичаме простотата да не се налага да инсталираме или управляваме агенти на наблюдаваните хостове на база данни, подходът, базиран на агенти, може да осигури по-висока разделителна способност на данните за наблюдение и има определени предимства по отношение на сигурността.

Новата система SCUMM на ClusterControl използва агенти на Prometheus за по-голяма точност и опции за персонализиране, докато наблюдава клъстерите на вашите бази данни.

Защо да не опитате и да се уверите сами!

Инсталирайте ClusterControl днес (безплатно е с нашето издание на Общността) или изтеглете нашето ново ръководство за ClusterControl, ако искате първо да прочетете повече за нашия продукт.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. (MongoDB Java) $push в масив

  2. Какъв е препоръчителният начин за премахване на индекси с помощта на Mongoose?

  3. MongoDB Съпоставете ли масив с $type?

  4. MongoDB $setIntersection

  5. Изброяване на всички колекции в база данни mongo в рамките на скрипт на nodejs