Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:settings:logs:monitoring [15.10.2024 09:12] – [Мониторинг производительности БД] ekaterina.menkhuzinaproduct:settings:logs:monitoring [06.11.2025 14:57] (текущий) Белугин Александр
Строка 1: Строка 1:
 ====== Тестирование быстродействия системы ====== ====== Тестирование быстродействия системы ======
 ===== Мониторинг производительности БД ===== ===== Мониторинг производительности БД =====
-<callout type="warning" icon="true">Данная инструкция предназначена для мониторинга производительности БД [[product:settings:pssql|PostgreSQL]], решение для [[product:settings:mssql|Microsoft SQL Server]] отсутствует.</callout>+<callout type="warning" icon="true">Данная инструкция предназначена для мониторинга производительности БД [[product:settings:pssql|PostgreSQL]], решение для [[product:settings:mssql|Microsoft SQL Server]] реализуется собственными средствами администрирования MS SQL Server.</callout> 
 + 
 +Мониторинг времени выполнения запросов в БД [[product:settings:pssql|PostgreSQL]] осуществляется с помощью инструмента pgBadger. pgbadger – это анализатор журналов Postgres Pro/[[product:settings:pssql|PostgreSQL]], который быстро строит подробные отчёты, обрабатывая файлы журналов сервера. 
 + 
 +Инструкция по установке pgBadger и мониторингу: 
 + 
 +1Установить pgBadger. Анализатор устанавливается на Linux-сервере БД [[product:settings:pssql|PostgreSQL]]. 
 +<code bash> sudo apt install pgbadger </code> 
 + 
 +2. Настроить логирование. 
 +<code bash> 
 +log_line_prefix = '%t [%p]: [%l-1] ' 
 +log_statement = 'none' 
 +log_min_duration_statement = 1 
 +log_checkpoints = on 
 +log_connections = on 
 +log_disconnections = on 
 +log_lock_waits = on 
 +log_temp_files = 0 
 +log_autovacuum_min_duration = 0 
 +logging_collector = on 
 +log_directory = '/var/log/postgresquerylog/' 
 +log_filename = 'postgresql.log' 
 +log_destination = 'csvlog,stderr' 
 +</code> 
 + 
 +''log_min_duration_statement'' – параметр, который отвечает за попадание запросов длительностью более ''log_min_duration_statement'' секунд в лог для изучения инструментом pgBadger. 
 + 
 +3. Создать папку для логов. 
 +<code bash> mkdir -p /var/log/ </code> 
 + 
 +4. Снять отчет. 
 +<code bash> cat /rs-analyse/log/postgresql-2024-09-16*.log | grep -viE "create index|insert into analytics|vacuum analyze analytics" > /rs-analyse/log/pg_clean.log </code> 
 + 
 +5. Сгенерировать html-файл. 
 +<code bash> pgbadger -j 4  /rs-analyse/log/pg_clean.log </code> 
 + 
 +Пример отчета: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-9-17_15-19-6.png?direct&960 |}}</image> 
 + 
 +  * 1 – возможность посмотреть Top запросов по времени выполнения; 
 +  * 2 – главная страница отчёта с основной информацией; 
 +  * 3 – возможность посмотреть список блокировок; 
 +  * 4 – количество запросов, попавших в отчёт; 
 +  * 5 – суммарное время выполнения всех запросов в отчёте; 
 +  * 6 – время первого и последнего запроса, попавшего в отчёт. 
 + 
 +Дополнительную информацию можно посмотреть на страницах: 
 +  - [[https://postgrespro.ru/docs/enterprise/14/app-pgbadger|Описание pgBadger]]. 
 +  - [[https://itc-life.ru/nastrojka-sbora-statistiki-postgresql-s-pomoshhyu-pgbadger/|Установка и настройка pgBadger]]. 
 + 
 +===== Мониторинг производительности логов IIS ===== 
 +Мониторинг производительности логов IIS (Internet Information Services) осуществляется с помощью платформы [[https://opensearch.org/downloads.html|OpenSearch]]. 
 + 
 +[[https://opensearch.org/downloads.html|OpenSearch]] – это открытая поисковая и аналитическая платформа, основанная на Elasticsearch. Она была создана Amazon в ответ на изменения в лицензировании Elasticsearch и предоставляет возможности для полнотекстового поиска, анализа данных и визуализации. Состоит из нескольких инструментов: 
 +  * OpenSearch Dashboard – интерфейс для визуализации и анализа данных; 
 +  * Logstash – централизованная работа с логами; 
 +  * OpenSearch – ядро системы, обеспечивающее функции полнотекстового поиска, индексации и анализа данных. 
 + 
 +В данном случае [[https://opensearch.org/downloads.html|OpenSearch]] используется как централизованный инструмент хранилища логов для хранения: 
 +  * логов IIS (через инструмент FileBeat); 
 +  * логов приложения (SeriLog Sinks); 
 +  * ошибок приложения (SeriLog Sinks); 
 +  * аудита действий пользователей. 
 + 
 +На платформе возможен импорт текстовых файлов логов IIS для анализа производительности и проблем. 
 + 
 +Пример лога: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-10-2_11-2-5.png?direct&960 |}}</image> 
 + 
 +Поля: 
 +  * date; 
 +  * time; 
 +  * sip; 
 +  * csmethod; 
 +  * csuristem; 
 +  * csuriquery; 
 +  * sport; 
 +  * csusername; 
 +  * cip; 
 +  * csUserAgent; 
 +  * csReferer; 
 +  * scstatus; 
 +  * scsubstatus; 
 +  * scwin32status; 
 +  * timetaken. 
 + 
 +Путь, по которому можно найти логи IIS: 
 +<image shape="thumbnail">{{ product:settings:logs:image-2024-10-2_19-44-26.png?direct&500 |}}</image> 
 +\\ 
 +Пример импортированного файла логов IIS в [[https://opensearch.org/downloads.html|OpenSearch]]: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-10-2_11-4-11.png?direct&960 |}}</image> 
 +\\ 
 +Примеры скриншотов из OpenSearch Dashboards: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-10-2_10-57-25.png?direct&960 |}}</image> 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-10-2_10-58-41.png?direct&960 |}}</image> 
 + 
 +===== Мониторинг характеристик серверов приложения и БД ===== 
 +Мониторинг характеристик серверов приложения и БД осуществляется с помощью платформы [[https://www.zabbix.com/ru|Zabbix]]. [[https://www.zabbix.com/ru|Zabbix]] – это бесплатное ПО с открытым исходным кодом. 
 + 
 +В [[https://www.zabbix.com/ru|Zabbix]] можно мониторить характеристики серверов, например: потребление RAM, нагрузка на CPU, нагрузка на сеть и другие. Также в [[https://www.zabbix.com/ru|Zabbix]] возможно настроить триггеры на превышение каких-то значений. Например, при недостаточном количестве места на сервере, либо при нагрузке на CPU или RAM более 90%. 
 + 
 +[[https://www.zabbix.com/ru|Zabbix]] необходим для оперативного мониторинга нагрузки на тестовом и промышленных контурах продуктов. 
 + 
 +Элементы [[https://www.zabbix.com/ru|Zabbix]]: 
 + 
 +1. Вкладка «Мониторинг» → Узлы сети – список серверов, где можно посмотреть: 
 +  * графики – возможность посмотреть информацию по серверам в виде графиков за произвольный период; 
 +  * последние данные – возможность посмотреть информацию по серверам в виде чисел на текущий момент времени; 
 +  * проблемы и прочее по всем серверам. 
 + 
 +Пример использования вкладки «Мониторинг» → Узлы сети: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-9-30_8-59-13.png?direct&960 |}}</image> 
 +\\ 
 +2. Вкладка «Мониторинг» → Проблемы – список проблем с серверами. 
 + 
 +Пример использования вкладки «Мониторинг» → Проблемы: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-9-30_9-3-42.png?direct&960 |}}</image> 
 +\\ 
 +3. Вкладка «Панели» - на вкладке можно составить свои экраны с произвольным набором серверов и их характеристик. 
 + 
 +Примеры использования вкладки «Панели»: 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-9-30_9-1-1.png?direct&960 |}}</image> 
 +<image shape="thumbnail">{{ :product:settings:logs:image-2024-9-30_9-2-2.png?direct&960 |}}</image> 
 +\\ 
 +Дополнительную информацию можно посмотреть на странице [[https://www.zabbix.com/ru/manuals|документации Zabbix]].