Мониторинг Статистики Проекта Django С Использованием Pinba В Debian Gnu/Linux

В этой теме мы поговорим о пошаговой настройке и настройке проекта и сервера с помощью бандла.

Pinba-движок + пинборд + Джанго-Пинба , для сбора и визуализации статистики проектов Django. Все проекты бесплатны, а их исходный код доступен на GitHub под лицензиями GPL или MIT.



Почему пинба?

В команде есть проекты, написанные на PHP. Посещаемость проектов достаточно высока (более 200 тыс.

).

Есть много узких мест. Часто после каких-либо обновлений и нововведений мы получали огромные тормоза, о которых не сразу узнавали.

Нам нужно было решение, которое было бы лицом к лицу с заказчиком и программистом.

Загрузчик очень не любит zabbix и munin. Решение найдено.

Это было пинборд И пинба .

Заказчику понравилось.

Он попросил прикрепить пинбу ко всем проектам, работающим на django.

Идти

Установка состоит из нескольких частей: 1. Установка pinba-engine-mysql в качестве сервера мониторинга (в Debian GNU/Linux) 2. Установка пинборда для просмотра текущего статуса проекта 3. Установка батареи django-pinba для отправки статистики

1. Установка pinba-engine-mysql в качестве сервера мониторинга (в Debian GNU/Linux)

1.1. Подключаем дополнительный репозиторий, от автора проекта pinba:
  
  
  
  
  
  
  
  
  
  
  
  
  
  
   

# echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list && echo "deb-src http://php53.dotdeb.org stable all" >> /etc/apt/sources.list # gpg --keyserver keys.gnupg.net --recv-key 89DF5277 && gpg -a --export 89DF5277 | sudo apt-key add - # apt-get update && apt-get upgrade -y

1.2. Установите MySQL и Pinba-Engine:

# apt-get install dialog mysql-server -y # apt-get install pinba-engine-mysql-5.5 -y

1.3. Давайте проверим, прослушивает ли pinba-engine-mysql нужный нам порт:

# netstat -uln|grep :30002



2. Установка пинборда для просмотра текущего статуса проекта

2.1. Установите все необходимые зависимости:

# apt-get install git-core nginx php5-fpm curl php-apc php5-cli php5-mysqlnd vim -y

2.2. Клонируем проект и подтягиваем необходимые пакеты:

# cd /var/www/ && git clone git://github.com/intaro/pinboard.git && cd .

/pinboard # git checkout v1.0 # curl -sS https://getcomposer.org/installer | php && php composer.phar install # cp config/parameters.yml.dist config/parameters.yml

2.3. Настройте параметры подключения к базе данных:

# vim config/parameters.yml

2.4. Мигрируем и прописываем задачи в кроне:

# .

/console migrations:migrate # .

/console register-crontab

2.5. Настройка виртуального хоста nginx:

# touch /etc/nginx/sites-available/pinba.conf && ln -s /etc/nginx/sites-available/pinba.conf /etc/nginx/sites-enabled/ && vim /etc/nginx/sites-enabled/pinba.conf

2.6. Вставляем конфигурацию виртуального хоста и указываем необходимое имя_сервера:

server { listen 80; server_name pinboard.example.com; root /var/www/pinboard/web; location = / { try_files @site @site; } location / { try_files $uri $uri/ @site; } location ~ \.

php$ { return 404; } location @site { fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcgi_param HTTPS $https if_not_empty; } location ~ /\.

(ht|svn|git) { deny all; } }

2.7. Перезапустите демон nginx:

# /etc/init.d/nginx restart

2.8. Добавьте конфигурацию часового пояса в php.ini:

# sed -i 's/;date.timezone =/date.timezone = Europe\/Moscow/g' /etc/php5/cli/php.ini /etc/php5/fpm/php.ini

2.9. Проверим работу скрипта, написанного в кроне:

# /var/www/pinboard/console aggregate

Если скрипт выполнил задание без ошибок, значит, все работает правильно.

На этом настройка пинборда завершена.



3. Установка батареи django-pinba для отправки статистики

3.1. Установите батарею:

$ pip install django-pinba

3.2. Давайте откроем файл конфигурации settings.py и добавим django-pinba в MIDDLEWARE_CLASSES:

MIDDLEWARE_CLASSES = ( 'pinba.middleware.PinbaMiddleware', .

)

3.3. Уточним настройки нашего сервера с pinba-engine:

PINBA_SERVER = '192.168.55.11' PINBA_PORT = 30002 PINBA_ENABLED = True

Желательно не вести статистику на том же сервере, что и проект.

Заключение

Теперь вы можете открыть наш сайт в окне браузера, подождать некоторое время, указанное в кронтабе для пинборда, и полюбоваться красивыми графиками.

Нагрузку для теста можно создать с помощью утилиты ab или wget. Интерфейс выглядит следующим образом:

Мониторинг статистики проекта Django с использованием Pinba в Debian GNU/Linux

Теги: #django #мониторинг #Pinba #pynba #django

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.