استفاده از InfluxDB و Grafana برای مانیتور کردن دادهها
گرافانا پلتفرمی است که برای نمایش اطلاعات به دست آمده از طریق دیتابیسهایی که بر اساس گذشت زمان دیتا را نشان میدهند کار میکند. گرافانا از دیتابیسهای مختلفی پشتیبانی میکند که از جمله آنها میتوان InfluxDB را نام برد.
InfluxDB یک دیتابیس Time-series (پایگاه داده سری زمانی) است که به طور ویژه برای ذخیره دادههای این چنینی طراحی شده است و گرافانا نیز ابزاری گرافیکی برای نمایش این نوع دیتا است.
مروری بر عملکرد مانیتورینگ توسط گرافانا
گرافانا یکی از محبوب ترین ابزارهای گرافیکی برای نمایش دادههای دیتابیسهای Time-Serie است که با InfluxDB نیز همخوانی دارد. در ادامه به تنظیم و ست کردن داشبورد گرافانا و InfluxDB میپردازیم و میبینیم که چطور از گرافانا به منظور بهرهبرداری بیشتر از دادههای زمانی InfluxDB استفاده کنیم و چطور دادهها را دقیقا به شیوهای که نیاز داریم نمایش دهیم.
داشبورد گرافانا
برای شروع بایستی InfluxDB و گرافانا را به هم دیگر وصل کنیم. InfluxDB و Grafana هر دو یک API داشته که در پورت های مختلف قرار دارند و گرافانا به منظور کوئری گرفتن دادهها، از API ای که برای InfluxDB تخصیص داده شده استفاده میکند. زمانی که InfluxDB را نصب میکنید به ابزاری برای جمع آوری اطلاعات نیاز دارید که برای این منظور از Telegraf استفاده میکنیم.
تنظیمات امنیتی گرافانا چطور عمل میکند؟
در مورد تنظیمات امنیتی، هر سرویس گرافانا یک ادمین و پسورد به صورت پیش فرض در اختیار دارد. اگر سرویس مانتیورینگ گرافانا شما به نوعی قابل دسترس است، ترجیحا یوزرنیم و پسورد را تغییر داده تا از دسترسی بقیه جلوگیری کنید.
در اینجا به بعضی از تنظیمات امنیتی گرافانا اشاره میکنیم:
• به طور پیش فرض، گرافانا به کاربران اجازه ثبت نام داده و همچنین به کاربران غیر ادمین نیز اجازه ثبت سازمان میدهد. بنابراین ما توصیه میکنیم که مقدار “enable anonymous access” را False قرار دهید تا به کاربران اجازه ثبت سازمان داده نشود.
• به طور پیش فرض مقدار anonymous access غیرفعال است ولی اگر داشبوردی در اختیار دارید که میخواهید آن را تبلیغ کنید بهتر است که آن را enable کنید.
• اگر میخواهید زمانی که پسورد را ریست میکنید یوزرها ایمیل دریافت کنند باید این مورد را در قسمت SMTP مشخص کنید.
• گرافانا مقادیر به دست آمده را در اختیارتان میگذارد. تلگراف نیز از یک ورودی به نام Prometheus استفاده میکند که میتوانید به آن مراجعه کنید و مقادیر گرافانا را جمع آوری کنید.
تنظیم کردن نمودار برای مقادیر Grafana
• در قسمت پیکربندی یک data source اضافه کنید، Influx Type را انتخاب کنید و نامی برای آن Source انتخاب کنید. همچنین میتوانید این سورس را به عنوان منبع داده پیش فرض برای سرویس گرافانا خود انتخاب کنید. سپس URL مربوطه را بگیرید و دیتابیس، یوزر و اعتبارنامه را وارد میکنید و هنگامی که اعلان “موفقیت” را دریافت کردید، داشبورد گرافانا را اضافه میکنید.
• داشبورد گرافانا از ردیف ها و پنل ها تشکیل شده است. شما میتوانید چندین پنل در یک ردیف داشته باشید و میتوانید پنل ها را نیز ویرایش کنید.
• از دیگر ویژگیهای اندازهگیری در گرافانا، دسته بندی این اندازه گیریها ست. به طور پیش فرض مقادیر گرافانا با فواصل زمانی پیش فرض گروه بندی شده است که بر اساس صفحه و عرض پنل محاسبه میشود.
• همچنین میتوانید نحوه نمایش گرافها را برای خودتان شخصی سازی کنید و از تنظیمات مختلفی که برای صفحه وجود دارد بهره ببرید.
نظارت بر دیتاهای Time-series را با استفاده از گرافانا بهینه کنید.
هر نمودار در گرافانا در واقع یک کوئری به InfluxDB است. هرچه تعداد نمودارهای بیشتری داشته باشید، بار بیشتری در سرور InfluxDB شما وجود دارد. بنابراین اگر یک داشبورد با 30 گراف دارید به این معنی است که تعداد 30 کوئری به اینفلاکس دیبی میفرستید و نتایج جمعآوری شده توسط InfluxDB را به دست آورند و سپس برای مانیتورینگ به گرافانا ارسال شوند.
در نتیجه برای بهتر کردن عملکرد InfluxDB و گرافانا در کنار هم میتوانید از نکات زیر استفاده کنید:
• ردیف های خود را به صورت collapsible تنظیم کنید. وقتی ردیفها به صورت جمع شده قرار دارند، گرافانا آن نمودار را نشان نداده و ارائه نمیکند و بنابراین کوئری به سمت InfluxDB نیز ارسال نمیشود. بنابراین اگر یک داشبورد گرافانا در اختیار دارید که نمودارهای بسیاری در بر دارد، ممکن است همه آنها برای تان مفید نباشد و یک راه عالی برای سرعت بخشیدن به عملکرد گرافانا، استفاده از ردیفهای قابل جمع شدن است.
• اگر یک کوئری گسترده برای محاسبه دارید و InfluxDB زمان زیادی برای پاسخ دادن صرف میکند و یا دچار time out میشود و یا بر روی نمودار گرافانا خطا مشاهده میکنید قبل از Refresh کردن بیشتر صبر کنید.
• InfluxDB کوئری ها را cache نمیکند، بنابراین هر زمان یک کوئری ارسال میکنید، نتایج دوباره محاسبه میشوند. به طور مثال اگر بازه های زمانی بلندتری برای مانیتورینگ دیتابیس انتخاب کنید، به دست آوردن نتایج توسط اینفلاکس دیبی طولانی تر خواهد شد و هرچه دادهها بیشتر دچار تجمیع شوند، گرافانا و InfluxDB بایستی زمان بیشتری برای محاسبه وقت بگذارند.
نتیجه
همانطور که گفتیم، محدودیتی در تعداد مقادیر اندازه گیری شده در نمودارهای گرافانا وجود ندارد، اما به یاد داشته باشید که همواره مقادیری که بیشتر برای شما اهمیت دارند و بر روی عملکرد دیتابیس شما تاثیر دارند را دنبال کنید و از دنبال کردن مقادیر اضافه که اهمیتی ندارند بپرهیزید.
در صورتی که پنل گرافانای شما شامل تعداد زیادی گراف و نمودار هست یا سرویس مانیتورینگ مورد استفاده شما، سرویس ها و سرورهای زیادی را مانیتور میکند، شما نیاز به یک میزبان قوی برای پایگاه داده اینفلاکس (influxdb) خود خواهید داشت. با استفاده از دیتابیس ابری اینفلاکس پنکیک، نه تنها به کارایی بسیار بالایی در خواندن و نوشتن روی پایگاه داده سری زمانی خود دست خواهید یافت، بلکه تنها با چند کلیک می توانید منابع پایگاه داده خود را افزایش دهید.
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگوها شرکت کنید؟در گفتگو ها شرکت کنید.