Наблюдавайте времето за отговор на уеб API на ниво уеб сървър

Опитвах се да измеря някои показатели (особено времето за реакция за различни URL адреси) за моето уеб приложение, което щеше да бъде подложено на натоварване от потребители. Избрах InfluxDB, тъй като може да обработва голямо количество данни и се интегрира добре с Grafana (Graphite също е ОК за мен). Щях да публикувам времето си за реакция от моето приложение за колба в InfluxDB с помощта на influxdb python клиент.

Чудя се има ли инструмент или прост начин да попълня InfluxDB от NGINX или uWSGI, за да постигна по-добра производителност и да ги разтоваря от моето приложение на python?


person Arman Ordookhani    schedule 28.03.2015    source източник


Отговори (1)


Ако искате да подадете данни за ефективността от вашия уеб сървър в InfluxDB, има няколко начина да го направите. Бих ви препоръчал следното:

  1. Оставете вашия уеб сървър да регистрира своите заявки чрез syslog
  2. Използвайте syslog-ng за обработка на регистрационните файлове
  3. syslog-ng може да изпрати данните до Graphite: Връзка
  4. InfluxDB има вграден графитен адаптер, който може да чете графитния протокол и да поставя данните в InfluxDB
  5. Използвайте Grafana, за да покажете вашите InflxuDB данни

Това е само примерна верига от инструменти. Можете също така да използвате CollectD, за да съберете своите показатели за ефективност и да ги изпратите до графитния адаптер на InfluxDB. Но мисля, че решението syslog-ng е по-елегантно.

person Christian Eichelmann    schedule 28.03.2015
comment
Благодаря! Не знаех, че могат да влизат в syslog без добавки. Изглежда NGINX ›= 1.7.1 може да го направи. - person Arman Ordookhani; 29.03.2015