PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Мониторинг на разпространението на Percona за PostgreSQL – ключови показатели

Мониторингът е основата, за да знаете дали системите ви работят правилно и ви позволява да коригирате или предотвратите всеки проблем, преди да засегне вашия бизнес. Дори в стабилна технология като PostgreSQL, наблюдението е задължително и основната цел е да знаете какво да наблюдавате, в противен случай няма да има смисъл или да не е полезно, в случай че трябва да го използвате. В този блог ще видим какво представлява Percona Distribution за PostgreSQL и какви ключови показатели да наблюдаваме в него.

Разпространение на Percona за PostgreSQL

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

  • pg_repack :Възстановява обектите на базата данни PostgreSQL.
  • pgaudit :Предоставя подробно регистриране на сесия или одит на обект чрез стандартното средство за регистриране на PostgreSQL.
  • pgBackRest :Това е решение за архивиране и възстановяване за PostgreSQL.
  • Патрони :Това е решение с висока достъпност за PostgreSQL.
  • pg_stat_monitor :Той събира и обобщава статистически данни за PostgreSQL и предоставя информация за хистограма.
  • Колекция от допълнителни разширения за принос на PostgreSQL.

Percona Distribution за PostgreSQL също се доставя с библиотеката libpq. Той съдържа набор от библиотечни функции, които позволяват на клиентските програми да предават заявки към задния сървър на PostgreSQL и да получават резултатите от тези заявки.

Какво да наблюдавате в Percona Distribution за PostgreSQL

Когато наблюдавате клъстер от база данни, трябва да вземете предвид две основни неща:операционната система и самата база данни. Ще трябва да дефинирате кои показатели ще наблюдавате от двете страни и как ще го направите.

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

Наблюдение на операционната система

Едно важно нещо е да наблюдавате поведението на операционната система. Нека видим някои точки, които да проверим тук.

Използване на процесора

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

Използване на RAM памет или SWAP

Ако виждате висока стойност за този показател и нищо не се е променило във вашата система, вероятно трябва да проверите конфигурацията на вашата база данни. Параметри като shared_buffers и work_mem могат да повлияят пряко на това, тъй като определят количеството памет, което да може да се използва за базата данни PostgreSQL.

Използване на диск

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

Средно зареждане

Това е свързано с трите точки, споменати по-горе. Високо средно натоварване може да бъде генерирано от прекомерно използване на процесора, RAM или диска.

Мрежа

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

Наблюдение на PostgreSQL база данни

Наблюдението на вашата PostgreSQL база данни е важно не само, за да видите дали имате проблем, но и да знаете дали трябва да промените нещо, за да подобрите производителността на вашата база данни, това вероятно е едно от най-важните неща за наблюдение в база данни. Нека видим някои показатели, които са важни за това.

Наблюдение на заявки

По подразбиране PostgreSQL е конфигуриран с оглед на съвместимостта и стабилността, така че трябва да знаете своите заявки и неговия модел и да конфигурирате базите си в зависимост от трафика, който имате. Тук можете да използвате командата EXPLAIN, за да проверите плана на заявката за конкретна заявка, както и да наблюдавате количеството на SELECT, INSERT, UPDATE или DELETE на всеки възел. Ако имате дълга заявка или голям брой заявки, изпълнявани едновременно, това може да е проблем за всички системи.

Наблюдение на активни сесии

Трябва също да наблюдавате броя на активните сесии. Ако сте близо до лимита, трябва да проверите дали нещо не е наред или просто трябва да увеличите стойността на max_connections. Разликата в броя може да бъде увеличаване или намаляване на връзките. Лошото използване на пул за връзки, заключване или проблем с мрежата са най-честите проблеми, свързани с броя на връзките.

Заключване на базата данни

Ако имате заявка, която чака друга заявка, трябва да проверите дали тази друга заявка е нормален процес или нещо ново. В някои случаи, ако някой прави актуализация на голяма маса, например, това действие може да повлияе на нормалното поведение на вашата база данни, генерирайки голям брой заключвания.

Наблюдение на репликацията

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

Наблюдение на резервните копия

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

Наблюдение на регистрационните файлове на базата данни

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

Табла за управление

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

Сигнал

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

Наблюдение на вашата PostgreSQL база данни с ClusterControl

Наистина е трудно да се намери инструмент за наблюдение на всички необходими показатели за PostgreSQL, като цяло ще трябва да използвате повече от един и дори ще трябва да се направят някои скриптове. Един от начините за централизиране на задачата за наблюдение и предупреждение е чрез използване на ClusterControl, който ви предоставя функции като управление на архивиране, наблюдение и предупреждение, внедряване и мащабиране, автоматично възстановяване и по-важни функции, които да ви помогнат да управлявате вашите бази данни. Всички тези функции в една и съща система.

ClusterControl има предварително дефиниран набор от табла за управление за вас, за да анализирате някои от най-често срещаните показатели.

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

Можете също да създавате сигнали, които ви информират за събития във вашия клъстер, или интегрирайте с различни услуги като PagerDuty или Slack.

Освен това можете да проверите секцията за монитор на заявки, където можете да намерите топ заявки, изпълняваните заявки, отклонения на заявките и статистика на заявките.

С тези функции можете да видите как върви вашата база данни PostgreSQL.

За управление на архивиране ClusterControl го централизира, за да защитава, защитава и възстановява вашите данни, а с функцията за архивиране за проверка можете да потвърдите дали архивирането е готово.

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

Мониторинг с командния ред на ClusterControl

За скриптове и автоматизиране на задачи или дори ако предпочитате просто командния ред, ClusterControl разполага с инструмента s9s. Това е инструмент от командния ред за управление на вашия клъстер от база данни.

Списък с клъстери

Списък с възли

Заключение

Мониторингът е абсолютно необходим и най-добрият начин за това как да го направите зависи от инфраструктурата и самата система. В този блог ви запознаваме с Percona Distribution за PostgreSQL и споменахме някои важни показатели за наблюдение във вашата PostgreSQL среда. Също така ви показахме как ClusterControl е полезен за тази задача.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте обект `DataSource` за Postgres JDBC, програмно

  2. Как да дезинфекцираме необработения SQL в Rails 4

  3. Рекурсивна CTE конкатенация на полета с родители от произволна точка

  4. Създаването на тригер за вмъкване на дъщерна таблица връща объркваща грешка

  5. Как да използвам схеми в Django?