Monday, October 3, 2011

Scalable realtime stats with Graphite

Introduction


Here at Adku, we’re always looking for ways to move faster and smarter.  There’s nothing worse than having to wait a day or two to see if a code push has a positive or negative effect on our bottom line.  One way to track application issues is to create a stat and graph it.  While there’s a litany of solutions out there today, we’re using Graphite, a realtime graphing framework and we love what its done for us thus far.  Here’s what Graphite can do:


We recently went through the process of setting up our own Graphite cluster and below are the references/steps that we used to get everything running.  We hope this helps :)


Graphite installation guide


This guide will install all the software packages required to get you up and running.  Graphite will be setup to run across multiple machines.  NOTE, these steps are virtually verbatim copies of our setup scripts.  We are assuming you’re working with a clean Ubuntu 10.04 LTS installation (we’re using Ubuntu AMIs on EC2)  We will NOT be delving into specifics for all non-Graphite related apps.  In case you’re curious, this guide will install the following packages:

Process control - supervisor - akin to init.d
Web serving - nginx, uwsgi - akin to apache + mod_wsgi/mod_python
Caching - memcached
Stats collection - statsite - akin to Etsy’s statsd without a dependency on node.js
Graphite - graphite-web, carbon, whisper - required for stats collection


Step 2 - Run bootstrap.sh

Step 3 - Copy all files from the archive into /etc and /opt respectively

Step 4 - Update following config variables

/etc/nginx/nginx.conf - worker processes (line 4)
/etc/nginx/sites-enabled/graphite - public hostname (line 3)
/etc/supervisor/supervisord.conf - web processes (line 39)
/opt/graphite/conf/carbon.conf - storage dir and cluster servers (line 2 and line 96)
/opt/graphite/conf/relay-rules.conf - cluster servers (line 3)
/opt/graphite/conf/storage-schemas.conf - retention times (line 4 - optional)
/opt/graphite/webapp/graphite/local_settings.py - storage dir and cluster servers (all lines)

Step 5 - Setup the graphite-web - Django app

cd /opt/graphite/webapp/graphite
yes no | python manage.py syncdb

Step 6 - Spin up supervisord - should spin up all other processes

sudo supervisorctl status
sudo supervisord (only if needed)

Step 7 - Ensure that our processes didn’t blow up

sudo tail -f /var/log/supervisor/*.log

Step 8 - Feed stats to your cluster.  For a list of clients see


Step 9 - Check your stats server that your stat showed up!

http://statsd.yourhost.com:7001/


Further reference

Graphite

nginx/uwsgi - used for web serving

statsite - Python implementation of Etsy’s statsd

37 comments:

  1. This article helps us a lot. I appreciate your help on sharing these guides. Thanks!

    Accounting Packages

    ReplyDelete
    Replies
    1. Hello friends, i have nice information, click it Untuk tips bermain bisa dilaksanakan dengan mudah dan benar jika pemain masuk ke dalam bandar king4d online yang menyediakan judi togel online yang terpercaya dan aman. Bandar inilah yang harus dipilih untuk lebih mudahnya bermain togel lxtoto online dan memenangkannya dengan hasil yang nyata. Selain itu, tips bermain judi togel online itu mudah ditemukan di internet. Dengan banyak menggali dan mencari informasi yang akurat dan tepat serta berhubungan dengan judi Eyang Togel, maka akan menemukan tips bermain yang sangat tepat untuk dilaksanakan dalam setiap permainan judi online yang dilaksanakan. Tips unik dan berbeda dengan pemain lain juga bisa ditemukan banyak di dunia maya Toto Singapore. Namun di sini pemain diharuskan untuk banyak mencari informasi yang inspiratif, trik, cara dan tips dalam melaksanakan setiap permainan judi togel totojitu online ini. Selain itu, jam terbang yang banyak dan aktif di bandar 8togel online juga akan berpengaruh untuk pemain memiliki cara terbaik sendiri. Jika tips bermain bisa ditemukan, maka tugas utama pemain judi sekarang ini adalah memilih bandar judi togel king4d online yang aman. Tugas intim yang wajib ditemukan supaya bisa melaksanakan tips bermain dengan mudah dan memenangkan setiap permainan judi togel online. Untuk bisa lebih mudah dalam menemukan Bandar togel lotus4d online yang aman, pemain judi diharapkan untuk memperhatikan beberapa hal berikut ini yang menuntun pemain judi dalam menemukan bandar yang tepat sasaran dan terjamin keamanannya.

      Delete
  2. Hi,

    Thanks

    I do all step to post, but i started supervisor and uWSGI don't started.

    This error is
    *** Starting uWSGI 1.4.5 (32bit) on [Wed Feb 20 18:30:36 2013] ***
    compiled with version: 4.6.3 on 20 February 2013 17:29:32
    os: Linux-3.6.11+ #377 PREEMPT Sat Feb 16 17:31:02 GMT 2013
    nodename: raspian
    machine: armv6l
    clock source: unix
    detected number of CPU cores: 1
    current working directory: /
    detected binary path: /usr/local/bin/uwsgi
    uWSGI running as root, you can use --uid/--gid/--chroot options
    *** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
    your processes number limit is 3377
    limiting address space of processes...
    your process address space limit is 536870912 bytes (512 MB)
    your memory page size is 4096 bytes
    detected max file descriptor number: 1024
    lock engine: pthread robust mutexes
    uwsgi socket 0 bound to TCP address 127.0.0.1:3031 fd 3
    Python version: 2.7.3 (default, Jan 13 2013, 12:38:42) [GCC 4.6.3]
    Fatal Python error: exceptions bootstrapping error.


    could you help me?


    ReplyDelete
  3. I have read your blog its very attractive and impressive. I like it your blog.

    Java Training in Chennai Java Training in Chennai | Core Java Training in Chennai Java Training in Chennai

    Online Java Training Java Online Training | Java 8 online training | JavaEE Training in Chennai

    ReplyDelete
  4. I accidentally saw your post and it attracted me from the first few seconds, it was excellent, hope you have more successful posts. I like this post because it contains a lot of useful information to read, maybe everyone will like me.
    Jogo para criança, io games for school, cá koi mini, jogo 360 2019

    ReplyDelete
  5. It's actually a cool and useful piece of info. I'm satisfied that you shared this helpful info with us. Please stay us up to date like this. Thank you for sharing.

    www.caramembuatwebsiteku.com/tips-tentang-struktur-website

    ReplyDelete
  6. الرطوبة هي مهمة جدا لعلم وظائف الأعضاء النمل الأبيض. سوف يجف النمل الأبيض ويموت إذا لم يكن في مكان رطب. أريزونا صحراء 90 ٪ ، وخلصت إلى أنها حالة جافة ، بالنسبة للجزء الأكبر. النمل الأبيض متستر ، تذكر. النمل الأبيض يعيش في أكوام تسيطر عليها بيئيا. هذا يعني أنك بحاجة إلى التأكد من عدم وجود أي تسرب أو رطوبة في منزلك. غرفة الغسيل والحمامشركة مكافحة حشرات بالاحساء
    شركة مكافحة حشرات بالدمام

    ReplyDelete
  7. Unul dintre cele mai bune lucruri despre Filme Turcesti este ca au fani în lumea întreaga, întrucât fac de obicei filme de razboi, care au o nota proprie de via?a regala ?i de toate din vremurile stravechi. Filme Turcesti este de asemenea descarcat de pe aceasta pagina.

    ReplyDelete
  8. Clicksud shows: www.pinoy1channel.com/, TVpenet shows, rulare shows, Romanian shows full hd episodes online for free

    ReplyDelete
  9. Comprehensive National Football League news, scores, standings, fantasy games, rumors, and more.
    Green Bay Packers Football
    New England Patriots Game Today
    LA Rams Game
    Colts Game
    Broncos Game

    ReplyDelete
  10. Nice blog and absolutely outstanding. You can do something much better but i still say this perfect.Keep trying for the best. Eminem is an American rapper and one of the most successful artists in hip-hop. As of 2020, Eminem net worth is now estimated to be $230 million.

    ReplyDelete
  11. Thanks for sharing such an Amazing information, I Couldn't leave without reading your blog. I have read another good blog, I think you have read it too. click here helpdesk AVG

    ReplyDelete
  12. Urmăriți cel mai popular și plăcut seriale Episodul complet zilnic pe Clicksud. Oferim telespectatorilor noștri toate cele mai recente seriale pe care le veți putea urmări în timpul liber. Oamenii adoră să se uite la emisiunile și reluările TV preferate în timpul lor liber. Acum urmăriți și bucurați-vă de seriale online în hd cu subtitrare în engleză. https://raysside.com/

    ReplyDelete
  13. Do you want to Change Ink in HP Envy 4520? by using the rules below, you'll skill to vary ink within the HP Envy 4520 printer. If the cartridge is low ink level or running out of ink, you would like to substitute it with a replacement genuine cartridge. Understand the fast steps and complete procedure to vary ink in HP Envy 4520 printer. For more information you can call on printer customer care number (Toll-Free) and you can also visit our official website.

    ReplyDelete
  14. Thank you so much for sharing all this wonderful information !!!! It is so appreciated!! You have good humor in your blogs. So much helpful and easy to read!
    Java classes in Delhi
    Java classes in Mumbai


    ReplyDelete
  15. Thanks for providing such a detailed information with us. Keep sharing stuff like this. Also download COC MOD Apk.

    ReplyDelete
  16. Thank you for sharing Graphite installation guide. I was looking for it for so many days! Download COC Mod APK

    ReplyDelete
  17. Apasa pe vizionează https://clicksud.cc cel mai recent episod din in hd. Distribuim toate cele mai recente Seriale turcesti pe cc-ul nostru Clicksud. https://clicksud.cc
    Vă permite să jucați și să vă bucurați de divertisment de la Clicksud.

    ReplyDelete
  18. Do not miss your chance to enjoy today. Numerous new games that you update are similar to this game like Huggy Wuggy Pop It Jigsaw. Discover and perfect in your free time.

    ReplyDelete
  19. 토토사이트 Good day very cool web site!! Man .. Beautiful
    .. Wonderful .. I'll bookmark your website and take the feeds also?
    I am satisfied to find so many helpful info here in the put up, we want
    work out more strategies on this regard, thank you for sharing.

    ReplyDelete
  20. 스포츠중계 Great beat ! I wish to apprentgice at tthe same time as you amend yor site, how can i subscribe for a blog website?
    Thee account aided mee a applicable deal. I have been a little bit familiar of this your broadcast provided bright clear concept

    ReplyDelete
  21. 토토사이트 what a great post... i always come for read your post because of your content. keep posting

    ReplyDelete
  22. مرحبًا ، نحن أفضل شركة من شركات استيراد اسطمبات بلاستيك في العالم نحن نقدم آلات عالية الجودة بأسعار تنافسية للغاية. يتم دعم أجهزتنا من قبل فريق من المهندسين المهرة وذوي الخبرة المستعدين دائمًا لمساعدتك في أي مشاكل قد تواجهك.

    ReplyDelete
  23. This comment has been removed by the author.

    ReplyDelete
  24. It's an interesting article with many thought-provoking points. It's important to remember that everyone's experience is unique, and everyone has the right to their own opinion. It's also important to remember that communication is essential for understanding different points of view. I like how this article provides a unique and insightful viewpoint on the subject. Thank you for writing and sharing your thoughts!
    Cómo solicitar el divorcio de mutuo acuerdo en Virginia

    ReplyDelete
  25. We at Adku are constantly searching for methods to operate more quickly and intelligently. Nothing is worse than having to wait a day or two to see whether a code release affects our revenue or not. Making a stat and graphing it is one method of tracking application difficulties. Although there are many options available today, we choose Graphite, a real-time graphing framework, and we are quite happy with the results thus far. What Graphite Can Do Is This:

    gta 5 android
    gta 5 apk

    ReplyDelete
  26. A customer loyalty rewards program management system is designed to help businesses implement and manage loyalty programs that incentivize customers to make repeat purchases, engage with the brand, and build long-term loyalty. Here are some key components and considerations for such a system.
    Customer Loyalty Rewards Program Management System Software

    ReplyDelete
  27. Amazing, Your blogs are really good and informative. I got a lots of useful information in your blogs. While there’s a litany of solutions out there today, we’re using Graphite, a realtime graphing framework and we love what its done for us thus far. Here’s what Graphite can do estate tax lawyer attorney business: It is very great and useful to all. Keeps sharing more useful blogs...

    ReplyDelete
  28. you can use OG Instagram download to use IG with enhanced features and functions.

    ReplyDelete
  29. Scalable Real-Time Stats with Graphite is a robust solution for monitoring and visualizing system metrics, making it a popular choice for organizations seeking efficient performance tracking. Leveraging the Graphite framework, this system excels in handling large-scale data, providing real-time insights into various aspects of a network or application.
    High Net Worth Divorce Attorney in New York

    ReplyDelete