Grafana چیست؟

در این مقاله قصد داریم با هم به بررسی ابزار مانیتورینگ Grafana بپردازیم. به صورت خلاصه Grafana یک ابزار متن باز تجزیه و تحلیل و مانیتورینگ آنلاین سیستم است.


در این مقاله به موضوعاتی از جمله تعریف کامل Grafana، چرایی استفاده از این ابزار، میزان محبوبیت آن و دیگر موارد مرتبط خواهیم پرداخت.

راه اندازی گرافانا
با خرید سرور مجازی لینوکس پارسدِو به راحتی میتوانید گرافانا را بر روی آن نصب و پیکربندی کنید.
در صورت نیاز کارشناسان شرکت با دریافت هزینه نصب و پیکربندی را برای شما انجام خواهند داد.

گرافانا چیست و به چه منظور استفاده می شود؟

Grafana یک راهکار متن باز برای اجرای تحلیل و بررسی داده ها و رسم معیارهای منطقی روی انبوه داده ها است. همچنین از این راهکار به منظور مانیتور کردن اپلیکیشن ها نیز استفاده می شود که دارای داشبوردهای قابل شخصی سازی برای کمک به شما است.

Grafana به تمامی منابع داده ی ممکن متصل می شود و به طور معمول به دیتا بیس هایی مانند Graphite، Prometheus، Influx DB، ElasticSearch، MySQL، PostgreSQL و ... قابل ارجاع است. متن باز بودن گرافانا به ما این امکان را می دهد که برای ارتباط و همکاری با منابع داده مختلف بتوانیم پلاگین نویسی کنیم.

 

راه اندازی گرافانا


توسط این ابزار می توانیم داده ها را در یک دوره زمانی، مطالعه، تجزیه و تحلیل و بررسی کنیم که از نظر فنی آن را تجزیه و تحلیل سری های زمانی می نامند. این نتایج به ما کمک می کند با ارائه داده های نسبی، رفتار کاربر و اپلیکیشن، دفعات خطاهای ظاهر شده در محیط تولید یا در محیط پیش از تولید، نوع خطاهای ظاهر شده و سناریوهای متنی را ردیابی کنیم و همه اینها با استفاده از ارائه داده های نسبی میسر است.
از مزیتهای بزرگ این پروژه امکان استقرار آن به ‌صورت پیش‌فرض برای سازمان‌هایی است که نمی‌خواهند داده‌هایشان به دلیل امنیتی و دلایل دیگر به ابر منتقل شود. این فریم ورک با گذشت زمان در صنعت محبوبیت زیادی پیدا کرد و توسط شرکتهای بزرگی مانند PayPal، eBay، Intel  و بسیاری دیگر به کار گرفته شد. در ادامه از موارد استفاده در صنعت بیشتر صحبت خواهیم کرد.

 

 

داشبورد گرافانا چیست؟

به تصویر زیر که اسنپ شاتی از داشبورد مانیتورینگ گرافانا است توجه کنید. داشبورد داده‌ها را از منابع داده متصل شده مانند Graphite، Prometheus، Influx DB، ElasticSearch، MySQL، PostgreSQL  و ... دریافت می کنند. تعداد کمی از منابع داده وجود دارند که گرافانا به صورت پیش فرض از آنها پشتیبانی می کند. داشبوردها شامل طیف وسیعی از گزینه‌های تجسمی مانند نقشه‌های جغرافیایی، نقشه‌های حرارتی، هیستوگرام‌ها، انواع چارت ها و نمودارها هستند که معمولاً یک سازمان برای مطالعه داده‌ها به آن نیاز دارد. یک داشبورد شامل چندین پنل مجزای مختلف در شبکه است. هر پنل عملکردهای متفاوتی را نیز دارد.

 

تجربه کار با گرافانا در مقیاس صنعتی

در سازمان ها طبیعتاً از Grafana برای اهداف نظارتی استفاده می کنند و در محیط پیش تولید برای بررسی خطاهای ظاهر شده و زمان آپ تایم سرورها. در محیط های توسعه که به عنوان مثال از داکر کانتینرها استفاده می کنند ممکن است نمونه ها به دلایل و مشکلاتی از کار بیافتند که باعث از کار افتادن کلی سیستم شود. در این سناریوها از طریق داشبورد گرافانا می توانیم این مشکلات را به راحتی ردیابی کنیم که کار ما را بسیار راحت تر خواهد کرد.


یک سیستم مانیتورینگ ایده آل گرافانا به نوعی طراحی می شود که با استفاده از cAdvisor، Prometheus و کانتینرهای داکر اطلاعات را جمع می کند. معماری دریافت اطلاعات در داشبورد گرافانا به صورت زیر خواهد بود:

 

راه اندازی grafana

از این ابزار برای نظارت بر اتفاقات محیط تولید زمانی که برنامه در حال اجرا است استفاده می شود. همچنین می توانیم از داده‌های گذشته استفاده کنیم و با فیلتر کردن بر اساس محدوده زمانی برای برنامه‌ریزی عملیات آینده اقدام کنیم.

 

اما Grafana  چه ویژگی هایی ارائه می دهد

با هم به بررسی برخی ویژگی های ارائه شده توسط فریمورک تجزیه و تحلیل متن باز گرافانا می پردازیم.

  • این فریمورک متن باز از پس تمامی تجزیه و تحلیل های اپلیکیشن ما بر خواهد آمد و ما می توانیم به راحتی مشغول query، visualize، ست آپ کردن هشدارها  و درک اطلاعات با استفاده از معیارها شویم.
  • داشبورد مذکور بسیار مجهز و به طور مداوم در حال تکامل است تا داده های پیچیده را درک کند. از نمایش نمودارها گرفته تا نقشه های حرارتی، هیستوگرام ها، نقشه های جغرافیایی این ابزار گزینه های تجسمی فراوانی برای درک داده ها مطابق با نیازهای تجاری ما ارائه می کند.
  • در حین وقوع یک سناریوی پیش‌بینی‌شده، هشدارها فعال می‌شوند. این اتفاقات را می توان در Slack یا هر پلتفرم ارتباطی که تیم نظارت از آن استفاده می کند اطلاع رسانی کرد.
  • گرافانا دارای پشتیبانی بومی برای تعداد زیادی پایگاه داده است و همچنین بسیاری از آنها را نیز با استفاده از پلاگین ها پشتیبانی می کند.
  • همچنین قابلیت به کار گیری روی پلتفرم تحت کلاد یا به صورت سنتی (on-prem) را دارد.
  • گرافانا از Graphite و همچنین از توابع و عباراتی مانند add، filter ، avg،min،max برای جمع آوری داده پشتیبانی می کند.
  • پشتیبانی داخلی از Influx DB, Prometheus, ElasticSearch, CloudWatch نیز از دیگر ویژگی های گرافانا است.

 

چند مثال نام آشنا از به کار گیری گرافانا در دنیا

  • داشبوردهای گرافانا در قسمت های مختلف صنعت به کار گرفته شده است. از صنعت گیمینگ گرفته تا IoT، FinTech و تجارت الکترونیک.
  • StackOverflow از این ابزار استفاده کرد تا توسعه دهندگان و تیم های پشتیبانی سایت خود را قادر سازد داشبوردهای مناسبی برای تجسم داده ها و بهینه سازی عملکرد سرورهایش ایجاد کنند.
  • Digital Ocean از Grafana به منظور اشتراک گذاری داده های تجسمی شده بین تیمهای خود استفاده می کند. همچنین یک پلتفرم عمومی برای اشتراک گذاری داده های بصری در اختیار دارد.

بسیاری دیگر از پروژه ها هم هستند که از گرافانا استفاده می کنند و با یک جست و جوی ساده می توانید آنها را در اینترنت پیدا کنید.