.
گرافانا (Grafana) یک پلتفرم مشاهدهپذیری است که از طریق مصورسازیهای فوقالعاده به کاربران کمک میکند اطلاعات کاملی در مورد عملکرد و سلامت زیرساخت و شبکه بهدست آورند. گرافانا، یک پلتفرم مصورسازی و مشاهدهپذیری وبمحور و منبعباز است، بنابراین شرکتها میتوانند متناسب با نیازها تغییراتی در سورسکدها اعمال کرده و آنرا سفارشیسازی کنند. یکی از دلایل مهمی که باعث شده تا پلتفرم فوق مورد توجه کارشناسان شبکه قرار بگیرد، عملکرد بالای آن در مصورسازی دادهها با بالاترین دقت ممکن است. Grafana برای مصورسازی دادهها قادر است به منابع یا مخازن دادهای مختلف مثل Elasticsearch، Prometheus، InfluxDB و موارد مشابه متصل شود، دادهها و سنجههای مختلف را بههمراه گزارشها و رخدادهای ثبتشده در شبکه جمعآوری کند و در ادامه، یک نمای گرافیکی در اختیار کارشناسان شبکه قرار دهد.Grafana چیست؟
گرافانا، یک ابزار متنباز و تحت وب برای نمایش و مانیتورینگ دادههای لحظهای است. این ابزار به کاربران اجازه میدهد از طریق داشبوردهایی که با استفاده از پلاگینهای گوناگون سفارشیسازی شدهاند، دادههایی را که از منابع مختلفی مانند پایگاه دادهها، سیستمهای مانیتورینگ و دیگر ابزارها جمعآوری شدهاند، بهصورت گرافیکی نمایش دهند. بهطور کلی، Grafana برای ایجاد داشبوردهای مبتنی بر معیارهای کسبوکار، مانیتورینگ سیستمهای تحت شبکه و زیرساختها، مانیتورینگ زیرساختهای ابری، شبکههای سازمانی و موارد مشابه مورد استفاده قرار میگیرد. این ابزار با پشتیبانی از پلاگینهای متنباز و جامعه فعال کاربری به سازمانها اجازه میدهد به بهترین و دقیقترین شکل ممکن به دادههای موردنیاز خود دسترسی داشته باشند (شکل 1).
.
گرافانا چگونه کار میکند؟گرافانا یک ابزار مانیتورینگ و داشبوردسازی است که به کمک آن میتوان دادههای مختلف را جمعآوری کرده و آنها را بهصورت گرافیکی نمایش داد. گرافانا از پلاگینهای مختلفی برای اتصال به منابع دادهای متنوع پشتیبانی میکند تا کارشناسان شبکه محدودیتی در انتخاب مخزنی که قرار است اطلاعات در آن نگهداری شود، نداشته باشند. تنظیمات گرافانا در فایل پیکربندی که در مسیر /etc/grafana/grafana.ini
قرار دارد، ذخیرهسازی میشوند. با اجرای سرویس گرافانا، یک صفحه وب با رابط کاربری گرافیکی باز میشود که به کمک آن میتوان داشبوردهای مورد نظر را ایجاد کرد.
در گرافانا، ابتدا باید یک منبع داده (Data Source) تعریف کنید. این منبع داده میتواند یک پایگاه داده، یک سرویس مانیتورینگ یا یک فایل باشد. پس از تعریف منبع داده، میتوانید یک داشبورد (Dashboard) ایجاد کنید. در داشبورد، میتوانید گرافها، نمودارها و جداول مختلفی را با استفاده از دادههای جمعآوریشده ایجاد کنید. همچنین، گرافانا از ابزارهای مختلفی برای سفارشیسازی داشبوردها و گرافها پشتیبانی میکند که به کمک آنها میتوانید داشبوردهایی با ظاهر زیبا و قابلیتهای متنوع ایجاد کنید (شکل 2).
.
از دیگر ویژگیهای گرافانا میتوان به پشتیبانی از اعلانها (Alerts) و اشتراکگذاری داشبوردها (Dashboard Sharing) اشاره کرد. با استفاده از اعلانها، میتوانید وضعیت سیستم را بررسی کرده و در صورت وقوع مشکل، بهصورت خودکار ایمیل یا پیامک اعلان دریافت کنید. همچنین، با استفاده از مکانیزم اشتراکگذاری داشبوردها، میتوانید داشبوردها را با بخشهای مختلف سازمان بهاشتراک بگذارید تا بخشهای مختلف سازمان بتوانند از دادهها و گرافهای نمایشدادهشده در داشبورد استفاده کنند. در مجموع، گرافانا یک ابزار کاربردی برای مانیتورینگ و داشبوردسازی است که با استفاده از آن میتوانید دادههای مختلف را بهصورت گرافیکی نمایش داده و بهراحتی داشبوردهایی با قابلیتهای متنوع برای مانیتورینگ سیستمها و برنامههای مختلف ایجاد کنید.
چطور میتوانیم با گرافانا کار کنیم؟
روند استفاده از گرافانا بهشرح زیر است:
نصب گرافانا: ابتدا باید گرافانا را روی سیستم یا سرور نصب کنید. با توجه به اینکه فرآیند نصب به محیطی که قرار است این ابزار روی آن نصب شود بستگی دارد، برای اطلاعات بیشتر درباره نحوه نصب گرافانا باید به مستندات رسمی گرافانا به نشانی https://grafana.com/ مراجعه کنید.
اتصال به منابع داده: پس از نصب، باید گرافانا را به منابع دادهای که میخواهید دادههای آنها را نمایش دهید، متصل کنید. گرافانا از منابع دادهای مانند InfluxDB، Prometheus، Elasticsearch، MySQL و غیره پشتیبانی میکند (شکل 3).
ایجاد داشبورد: پس از اتصال به منابع داده، میتوانید با استفاده از طراحی داشبورد گرافانا ، داشبورد موردنظر خود را ایجاد کنید. با استفاده از ابزارهای طراحی گرافیکی گرافانا، میتوانید گرافها، نمودارها، جداول و دیگر عناصر را به داشبورد اضافه کنید.
سفارشیسازی: بعد از ایجاد داشبورد میتوانید آن را با استفاده از پلاگینهای مختلف و ابزارهای سفارشیسازی گرافانا، بهصورت دلخواه تغییر دهید.
مانیتورینگ: با داشتن داشبورد گرافانا، میتوانید دادههای موردنظر خود را بهصورت لحظهای مانیتور کنید و در صورت نیاز تغییرات در پیکربندی سرورها و شبکه اعمال کنید.
با توجه به پشتیبانی گسترده گرافانا از پلاگینها و ابزارهای سفارشیسازی، امکانات گستردهای در اختیار کارشناسان شبکه قرار دارد که میتوانند با استفاده از آنها، داشبوردهایی با قابلیتهای متنوع و گسترده ایجاد کنند.
شکل 3
چگونه میتوانیم دادههای InfluxDB را به گرافانا متصل کنیم؟
برای اتصال به دادههای InfluxDB در گرافانا باید مراحل زیر را دنبال کنید:
نصب پلاگین InfluxDB: برای نصب پلاگین InfluxDB در گرافانا به قسمت Configuration بروید و در بخش Plugins، گزینه Install Plugins را انتخاب کنید. سپس در صفحه بازشده، در بخش Plugins، پلاگین InfluxDB را پیدا کرده و بر روی گزینه Install کلیک کنید.
ایجاد منبع داده: پس از نصب پلاگین InfluxDB، باید منبع دادهای که از نوع InfluxDB است را ایجاد کنید. برای این کار، به بخش Configuration رفته و در بخش Data Sources، گزینه Add data source را انتخاب کنید. سپس، نام منبع داده را وارد کرده و در بخشType گزینه InfluxDB را انتخاب کنید. سپس، اطلاعات اتصال به بانک اطلاعاتی InfluxDB را که شامل آدرس، پورت، نام بانک اطلاعات و اطلاعات ورود به سیستم است وارد کرده و روی دکمه Save کلیک کنید.
ایجاد داشبورد: پس از ایجاد منبع داده، میتوانید با استفاده از ابزار طراحی داشبورد گرافانا، داشبورد موردنظر خود را ایجاد کنید و از دادههای InfluxDB استفاده کنید.
سفارشیسازی: بعد از ایجاد داشبورد، میتوانید آن را با استفاده از پلاگینهای مختلف و ابزارهای سفارشیسازی گرافانا پیکربندی کنید تا نمودارهایی متناسب با الگوهای کاری دریافت کنید.
نمایش دادهها: پس از تنظیم منبع داده و ایجاد داشبورد، میتوانید دادههای InfluxDB را در گرافانا نمایش دهید. برای نمایش دادهها، میتوانید از گرافها، نمودارها و جداول استفاده کنید و با استفاده از ابزارهای سفارشیسازی، آنها را بهصورت دلخواه خود ویرایش کنید.
آیا میتوانیم از پلاگینهای دیگری برای اتصال به دادهها استفاده کنیم؟
پاسخ مثبت است. گرافانا از پلاگینهای متنوعی برای اتصال به منابع دادهای مختلف پشتیبانی میکند. بهعنوان مثال، میتوانید از پلاگینهای زیر برای اتصال به دادههای مختلف استفاده کنید:
Elasticsearch: برای اتصال به منابع دادهای Elasticsearch
Prometheus: برای اتصال به منابع دادهای Prometheus
Graphite: برای اتصال به منابع دادهای Graphite
MySQL: برای اتصال به بانک اطلاعاتی MySQL
PostgreSQL: برای اتصال به بانک اطلاعاتی PostgreSQL
Microsoft SQL Server: برای اتصال به سرور مایکروسافت اسکیوالسرور
Oracle: برای اتصال به بانکهای اطلاعاتی اوراکل
با استفاده از پلاگینهای متنوع گرافانا میتوانید به دادههای ذخیرهسازیشده در منابع مختلف دسترسی داشته و آنها را بهصورت گرافیکی نمایش دهید. همچنین، میتوانید با استفاده از ابزارهای سفارشیسازی گرافانا، داشبوردهایی با قابلیتهای متنوع ایجاد کنید. بهتر است قبل از استفاده از هر پلاگینی، مستندات رسمی گرافانا را مرور کنید تا با نحوه نصب و استفاده از آنها آشنا شوید.
آیا امکان استفاده از گرافانا برای مانیتورینگ مستقیم شبکه وجود دارد؟
پاسخ مثبت است. گرافانا از طریق پلاگینهای جانی به کارشناسان شبکه اجازه میدهد به نظارت بر دادههای درون شبکه محلی بپردازند. بهعنوان مثال، میتوانید از پلاگینهای زیر برای اتصال به شبکه سازمانی استفاده کنید:
SNMP: برای اتصال به دستگاههای تحت شبکه با استفاده از پروتکل SNMP
Telegraf: برای جمعآوری دادههای سیستمی و شبکهای و ارسال آنها برای گرافانا
همچنین، گرافانا از ابزارهای مختلف مانیتورینگ شبکه مانند Zabbix و Nagios نیز پشیبانی میکند. با استفاده از این ابزارها، میتوانید دادههای مربوط به عملکرد شبکه را جمعآوری کنید و در گرافانا نمایش دهید. برای استفاده از این پلاگینها و ابزارها، بهتر است مستندات رسمی گرافانا را بهدقت مطالعه کنید تا اطمینان حاصل کنید که هنگام برقراری ارتباط میان گرافانا و پروتکلهایی مثل SNMP مشکلی بهوجود نیاید.
آیا گرافانا از منابع دادهای دیگری بهجز InfluxDB پشتیبانی میکند؟
کارشناسان شبکه این قابلیت را در اختیار دارند که از گرافانا در تعامل با منابع دادهای دیگری به غیر از InfluxDB استفاده کنند. گرافانا قادر به پشتیبانی از بیش از 30 منبع دادهای مختلف است که از آن جمله به موارد زیر باید اشاره کرد:
Graphite *
Elasticsearch *
Prometheus *
MySQL *
PostgreSQL *
Microsoft SQL Server *
Oracle *
CloudWatch *
برای اتصال به هر یک از این منابع دادهای، باید در گرافانا یک منبع داده جدید ایجاد کرده و تنظیمات مربوطه را وارد کنید. سپس، میتوانید داشبوردها و نمودارهای مختلف مورد نظر خود را ایجاد کرده و از آنها استفاده کنید.
آیا گرافانا امکان ایجاد داشبورد متصل به چند منبع داده را دارد؟
پاسخ مثبت است. گرافانا قادر به ایجاد داشبوردهای مبتنی بر منابع دادهای مختلف است. قابلیت فوق به شما امکان میدهد که دادههای مختلفی را از چند منبع داده در یک داشبورد نمایش دهید. برای این کار میتوانید در گرافانا چند منبع داده را بهعنوان Data Source اضافه کنید و سپس در داشبورد، از این منابع داده برای ساخت نمودارها و جداول استفاده کنید.
برای ایجاد یک داشبورد با چند منبع داده، ابتدا باید منابع دادهای خود را به گرافانا اضافه کنید. سپس، باید یکی از قالبهای داشبورد چند منبع دادهای را انتخاب کنید و برای هر نمودار یا جدول، منبع داده مورد نظر را تعیین کنید. در نهایت، با استفاده از ابزارهای گرافانا میتوانید داشبورد خود را طراحی کنید و نمودارها و جداول مورد نظر را به آن اضافه کنید.
آیا گرافانا با تمام پایگاه دادهها سازگار است؟
گرافانا با بیشتر پایگاههای دادهای سازگار است، اما نه با همه آنها. به بیان دقیقتر، گرافانا با پایگاههای دادهای رایج مثل MySQL، PostgreSQL، InfluxDB، Elasticsearch، Prometheus و غیره سازگاری کامل دارد. همچنین، با استفاده از پلاگینهای مختلف، میتوانید گرافانا را به پایگاه دادههای کمتر رایج متصل کنید. در هر صورت، برای استفاده از گرافانا با یک پایگاه داده خاص، باید یک Data Source برای آن ایجاد کنید و پیکربندیهای لازم را انجام دهید. سپس، میتوانید از گرافانا برای ساخت داشبوردها و نمودارهای و نمایش لحظهای اطلاعات استفاده کنید.
گرافانا چه ویژگیهای شاخصی در اختیار کارشناسان شبکه قرار میدهد؟
همانگونه که اشاره شد، گرافانا یک نرمافزار متنباز و قدرتمند برای ساخت داشبوردها و نمودارها است که از پایگاههای دادهای مختلف پشتیبانی میکند. ویژگیهای مهم و شاخص گرافانا بهشرح زیر است:
پشتیبانی از پایگاههای دادهای مختلف: گرافانا از بیش از 30 منبع دادهای مختلف مثل InfluxDB، Graphite، Elasticsearch، Prometheus، MySQL و PostgreSQL پشتیبانی میکند.
طراحی داشبوردهای سفارشی: با استفاده از گرافانا، میتوانید داشبوردهای سفارشی خود را با نمودارها، جداول، گرافهای مختلف و پنلهای اطلاعاتی طراحی کنید.
قابلیت برش و جابهجایی: با استفاده از قابلیت Drag and Drop در گرافانا میتوانید نمودارها و جداول را بهراحتی برش داده و جابهجا کنید.
پشتیبانی از مکانیزم هشداردهی: گرافانا به شما امکان میدهد تا برای شرایط مشخصی، هشدارهایی را آماده کنید. البته، این امکان وجود دارد تا گرافانا را بهگونهای پیکربندی کنید تا ایمیلهایی را ارسال کرده یا اسکریپتهای هشداردهنده را اجرا کند.
واسطهای برنامهنویسی کاربردی: ابزار فوق واسطهای برنامهنویسی کاربردی در اختیار توسعهدهندگان قرار میدهد که دسترسی به دادههای داشبوردها و نمودارها را از طریق یک رابط برنامهنویسی امکانپذیر میکند.
پشتیبانی از افزونهها: همانگونه که اشاره کردیم، گرافانا به شما امکان میدهد تا از پلاگینهای مختلف برای افزودن ویژگیهای جدید به نرمافزار استفاده کنید.
امنیت بالا: امنیت یکی از ویژگیهای شاخص و کلیدی گرافانا است. برای این منظور، گرافانا امکاناتی مانند احراز هویت، رمزنگاری و دسترسی محدود به دادهها را ارائه میکند.
انتشار با مجوز متنباز: گرافانا یک نرمافزار متنباز است و تحت مجوز Apache 2.0 منتشر میشود، بنابراین قابلیت استفاده، توسعه و توزیع آزاد دارد.
در مجموع، گرافانا یک ابزار کاربردی و قدرتمند برای ساخت داشبوردها و نمودارها است که از قابلیتهای متنوعی برای تحلیل دادهها و نمایش آنها بهشکلی زیبا و قابل فهم برخوردار است.
مزایا و معایب Grafana
گرافانا یکی از محبوبترین ابزارهای داشبوردسازی متنباز است که در زمینه نمایش دادههای مختلف از جمله دادههای سرور، شبکه، زیرساختهای ابری و غیره استفاده میشود. با اینحال، همانند هر فناوری دیگری مزایا و معایب خاص خود را دارد.
مزایای گرافانا
پشتیبانی از پایگاههای دادهای مختلف: گرافانا قادر است به انواع مختلفی از بانکهای اطلاعاتی رایج متصل شود، بنابراین سازمانها مجبور به استفاده از یک منبع داده خاص نیستند.
قابلیت طراحی داشبوردهای سفارشی: گرافانا امکان طراحی داشبوردهای سفارشی با نمودارها، جداول و پنلهای اطلاعاتی را با استفاده از ابزارهای گرافیکی و برش و جابهجایی ساده فراهم میکند.
پشتیبانی از هشدارها: با استفاده از گرافانا میتوانید برای شرایط مشخصی، هشدارهایی را آماده کنید تا بتوانید در زمان مناسب به تغییرات ناگهانی پاسخ دهید.
پشتیبانی از افزونهها: با استفاده از افزونههای مختلف میتوانید قابلیتهای گرافانا را افزایش داده و آنرا به ابزار کارآمدی تبدیل کنید.
معایب گرافانا
از معایب عمده این ابزار به موارد زیر باید اشاره کرد:
طیف گستردهای از ویژگیهای کاربردی باعث میشود تا روند یادگیری و کار با این ابزار برای کاربران تازهکار کمی سخت باشد.
برخی از ویژگیهای اضافی به منابع سیستمی بیشتری نیاز دارند و ممکن است در برخی از موارد منابع سیستم را بیشازحد مصرف کنند.
در صورت استفاده از بانکهای اطلاعاتی غیرپایدار، ممکن است با خطاهایی در گرافانا روبهرو شوید.
در مجموع، گرافانا یک ابزار قدرتمند و کاربردی برای نمایش دادههای مختلف است که با پشتیبانی از پایگاههای دادهای مختلف و قابلیتهای متنوع، طراحی داشبورد سفارشی، مکانیزم هشداردهی، افزونهها و واسطهای برنامهنویسی کاربردی به کارشناسان شبکه در روند نظارت بر زیرساختها کمک فراوانی میکند. با این حال، بهدلیل تعداد زیاد ویژگیها، یادگیری و استفاده از آن کمی مشکل است و برخی از ویژگیها ممکن است منابع سیستمی را بیشازحد مصرف کنند.
آیا گرافانا رایگان است؟
پاسخ مثبت است. گرافانا یک نرمافزار متنباز و رایگان است. شما میتوانید نسخه رایگان گرافانا را از وبسایت رسمی آن دانلود کرده و روی سیستم خود نصب کنید. با این حال، نسخههای پولی گرافانا نیز وجود دارد که با قابلیتهای بیشتری عرضه میشوند. برای مثال، نسخه Enterprise Grafana امکاناتی مانند پشتیبانی از LDAP، هشداردهیهای پیشرفته و غیره را ارائه میکند که مناسب برای سازمانهایی است که حجم فعالیتهای درونشبکهای بالایی دارند.