الستیک سرچ از دو بخش عمومی و xpack تشکیل شده است که امکانات عمومی آن تحت لیسانس Apachi License می باشد و بخش xpack آن تحت لیسانس خود elasticsearch می باشد که دارای سه نسخه پایه و طلایی و پلاتینیوم هست که تمامی امکانات در نسخه پلاتینیوم قابل استفاده است.
برخی از امکانات پولی که در نسخه پلاتینیوم فعال است:
برای اینکه بتوانیم از امکانات پیشرفته الستیک سرچ و کیبانا استفاده کنیم نیاز به کرک کردن آن داریم.
درصورت تمایل به این کار لطفا از طریق نظرات پیام بگذارید
نمودارهای پایین فرآیند جستجو در الستیک سرچ را از ابتدا تا آخر شفاف میکند:
1. کلاینت درخواست جستجوی خود را به نود۲ می فرستد.
2. نود ۲ (نود هماهنگ کننده) کوئری را به همه شاردهای ایندکس می فرستد.
3. هر شارد کوئری را به صورت لوکال (محلی) اجرا و نتیجه را به نود ۲ می فرستد. نود۲ آنها را مرتب و به صف اولویت کلی (global priority queue) کامپایل می کند.
4. نود ۲ می فهمد که کدام سند باید استخراج شود و یک سری درخواست GET به شارد های مرتبط می فرستد.
5. هر شارد سند را بارگزاری و به نود ۲ تحویل می دهد.
6. و در نهایت نود ۲ نتیجه را به کلاینت بر میگرداند.
در الستیک سرچ داده هایی از یک نوع (مرتبط به هم) معمولا در یک ایندکس ذخیره می شود( می توان معادل یک config wrapper تصور کرد). هر ایندکس از مجموعه ای از اسناد با فرمت JSON تشکیل شده است. وقتی یک سند ایندکس(نمایه) می شود الستیک سرچ برای هر فیلد آن یک ایندکس مع می سازد.(
Lucene’s inverted index ) ایندکس مع قوانین و شرایط را به ایندکس هایی که شامل آن اسناد هستند را مپ میکند(map).
یک ایندکس در یک یا بیشتر شارد و صفر یا بیشتر replica ذخیره می شود. ( به زبان دیگر حداقل یک شارد داریم ولی replica ممکن است نباشد)
هنگام ساختن هر ایندکس می توان تعداد شارد اصلی (primary shard) و تعداد replica shard به ازای هر شارد را مشخص کرد. بصورت پیش فرض برای هر ایندکس ۵ شارد اصلی و یک شارد replica به ازای هر شارد اصلی تعریف می شود. تعداد شاردهای اصلی بعد از ساخته شدن ایندکس قابل تغییر نیستند بنابراین انتخاب تعداد آن حساس می باشد. البته بعدا با عملیات reindex می توان این مشکل را حل کرد (تغییر تعداد شارد اصلی). ولی تعداد شاردهای replica را هر موقع نیاز باشد میتوان تغییر داد. برای جلوگیری از data loss مستر نود مطمئن می شود که هر شارد replica داخل همان نودی که شارد اصلی قرار دارد ذخیره نشود ( به زبان دیگر replica shard مربوط به هر primary shard در نود های دیگر ذخیره شود)
الستیک سرچ یک نرم افزار اوپن سورس برای ذخیره سازی و جستجوی اسناد متنی به صورت توزیع شده می باشد که به صورت realtime ذخیره و بازگردانی دیتا را انجام می دهد. توسط Shay Banon در سال 2010 بعنوان موتور جستجوی متن با جاوا نوشته و منتشر گردید.
الستیک سرچ دیتا را در فرمت JSON ذخیره و مدیریت می کند و امکان سرچ متنی را با RESTful API و وب کلاینت هایی برای زبان هایی مثل پایتون و PHP و . فراهم می آورد. توسعه الستیک سرچ به صورت افقی و افزودن node ها برای توزیع سازی بار آسان و راحت می باشد. امروزه شرکت های بسیاری از جمله ویکی پدیا و eBay و گیت هاب از آن برای ذخیره سازی و جستجو و آنالیز حجم زیادی از داده استفاده میکنند.
در الستیک سرچ یک کلاستر از یک یا چندین node تشکیل شده است. مانند شکل زیر:
بر روی هر node یک الستیک سرچ در حال اجراست. که توسط فایل elasticsearch.yml مشخص می شود که به کدام کلاستر متعلق و چه نوع نودی (مستر - دیتا - کلاینت) است.
انواع نود در الستیک سرچ:
اندرک لاسن، بتر پروگرمینگ -- باورش سخت است، اما کمکم داریم به سال ۲۰۲۰ میرسیم. آدم فکر میکند سال ۲۰۲۰ از درون یک داستان علمیتخیلی درآمده است؛ داستانی که در آن ماشینها پرواز میکنند و رباتهای هوشمند ما را با موشکهای شخصی برای هواخوری به مریخ میبرند. بنظر میرسد سال ۲۰۲۰ واقعی ما اینقدرها هم پیشرفته نیست، اما من معتقدم که قطعاً چیزهای هیجانانگیزی برای ما در چنته خواهد داشت! امروز میخواهم برایتان بگویم که به نظر من این سال و سالهای بعد از آن چه دستاوردهایی برای جهان برنامه نویسی خواهند داشت و چه ترندهایی را برایمان به همراه خواهد آورد.
قطعاً من پیشگو نیستم؛ شاید سال ۲۰۲۱ برگردیم و به این مطلب حسابی بخندیم! اما میتوانم بر اساس تجربه، حدسهایی در مورد آینده بزنم. بنابراین، این شما و این پیشبینیهای من در مورد ترندهای سال ۲۰۲۰ در دنیای برنامهنویسی.
ادامه مطلب
در این راهنما مراحل نصب استک ELK یعنی Elasticsearch 2.2.x, Logstash 2.2.x و Kibana 4.5.x را روی سرور اوبونتو 14.04 بررسی میکنیم. همچنین شیوه پیکربندی آن برای گردآوری و بصریسازی گزارشهای سیستمی در یک مکان مرکزی را با استفاده از Filebeat 1.1.x معرفی میکنیم. Logstash یک ابزار متن-باز برای گردآوری، تجزیه و مرتبسازی گزارشها برای استفادههای آتی محسوب میشود. Kibana یک رابط وب است که میتواند برای جستجو و مشاهده گزارشهایی که Logstash اندیسگذاری کرده، مورد استفاده قرار گیرد.
گزارشگیری متمرکز در مواردی که قصد دارید مشکلات سرورها یا اپلیکیشنها را پیدا کنید، بسیار مفید است و امکان جستجوی متمرکز در میان همه گزارشها را فراهم میسازد. فایده دیگر این روش آن است که با متمرکز ساختن گزارشهای سرورهای مختلف در طی قاب زمانی خاص، میتواند امکان شناسایی مشکلاتی که میان چند سرور پراکنده شدهاند را فراهم سازد.
امکان استفاده از Logstash برای گردآوری گزارشها از همه نوع وجود دارد؛ اما در این راهنمای آموزشی ما خودمان را صرفاً به گردآوری گزارشهای سیستمی محدود ساختهایم.
ادامه مطلب
elasticsearch، یک موتور جستجو و تحلیلگر توزیع شده است که با رابط کاربری وب(HTTP) و الگوی استاندارد JSON برای انتقال داده ها کار میکند.
برای جستجو امکان ترکیب و استفاده از انواع مختلف مثل داده های ساخت یافته، غیر ساخت یافته، geometric و. وجود داره. همه چیز رو داخل خودش index میکنه و در کمترین زمان ممکن به درخواست ها پاسخ میده. بسیار مقیاس پذیره و قابلیت اجرا روی یک لپ تاپ یا صدها سرور با داده های بسیاز زیاد رو داره. به منظور کنترل، نظارت و مدیریت API مورد نیاز رو در اختیار ما قرار میده و همچنین پایداری و انعطاف پذیری بالایی داره و در هنگام بروز مشکلات سخت افزاری یا شبکه، خرابی رو تشخیص میده و کلاسترُ داده ی خودش رو حفط میکنه تا قابل استفاده باشن. برای مسائل امنیتی امکان تعریف نام کاربری و کلمه عبور و همچنین اعمال مجوز و نقش در کلاستر وجود داره.
کتابخانه های elasticsearch برای زبان های برنامه نویسی زیادی نوشته شدن تا به وسیله ی این کتابخانه ها برنامه نویس بتونه ازش استفاده کنه. و اگر دیتای زیادی داخل hadoop دارید میتونید یک موتور جستجو و تحلیلگر real time هم در کنارش داشته باشید. با استفاده از کتابخانه هایی که به این منظور پیاده سازی شدن امکان اتصال elasticsearch به hadoop فراهم شده.
ادامه مطلب
برای اینکه بتوانید وضعیت سرور و منابع مصرفی توسط کیبانا و الستیک سرچ را نظارت کنید بخشی به نام stack monitoring در کیبانا تعبیه شده است.
همانطور که مشاهده میکنید از طریق منوی کناری کیبانا می توان به Stack Monitoring دسترسی پیدا کرد.
برای بزرگ شدن عکس روی آن کلیک کنید.
همانطور که در بالا می بینید می توانید همه بخش های مربوطه را رصد کرده و نسبت به وضعیت سیستم آگاه باشید.
Watcher must be enabled to view cluster alerts. If you have a Basic license, Top Cluster Alerts are not displayed.
چگونه بیشتر کار کنیم؟
اسپرینت ۹۰ دقیقه ای؛
•قدم اول: هر چیزی که باعث حواس پرتیه از جمله فضای مجازی، آدمای پرحرف و. رو کنار بزار
•قدم دوم: واسه هر نود دقیقه یه هدف تعیین کن که چقدر باید کار کنی
•قدم سوم: تایمر بزار واسه نود دقیقه تا مفهوم ددلاین کم کم برات جا بیوفته
•قدم چهارم: استراحت کن واسه ۲۰ دقیقه، مدیتیشن آپشن خیلی خوبیه
•قدم پنجم: این روال رو تکرار کن تا کملا عادت بشه واست
بعد از این که گوگل افزونه site kit را برای وردپرس ارائه داد که یک جا ادمین سایت بتواند تمامی اطلاعات وبمستر- آنالیتیکس و پیج اسپید و گوگل ادسنس را در داشبورد خود ببیند، ، از چند ساعت قبل به صورت آزمایشی دیتای مرتبط با سرعت را در وبمستر نمایش میدهد. نکته جالب این ویجت جدید نمایش اطلاعات سرعت بر اساس دیتای کاربران حقیقی است.
https://developers.google.com/web/tools/chrome-user-experience-report
اگر بازدید مناسبی داشته باشید، احتمالا اطلاعات سرعت را مربوط به لندینگ ها را در وبمستر می بینید، که به سه دسته صفحات کند- معمولی و سریع تقسیم می شوند. تقسیم بندی صفحات در معیار سرعت بر اساس دو پارامتر FCP FID است که با نگاه به جدول مشاهده خواهید کرد که چقدر سختگیرانه گوگل صفحات را نگاه می کند و چه سایتی را سریع می داند.
https://support.google.com/webmasters/answer/9205520
-----------------
جدای این سخت گیری از آن جایی که این تو جدید در حالت نسخه آزمایشی است، احتمالا بخش هایی از آن دقت کافی ندارند. مثلا بخش similar urls
-------
در هر حال این تو دید خوبی از لحاظ سرعتی می دهد و شاید بتواند با نمایش دیتا تسهیل گر رابطه با نیروهای فنی باشد.
------------------
پی نوشت: به سختی توانستم سایتی در وب مسترم پیدا کنم که صفحاتی داشته باشد که از نگاه این ویجت سریع باشند- گرچه که سریع هم حتی در واقعیت نیستند!
(برای مشاهده تصویر در اندازه اصلی روی آن کلیک کنید)
Let’s Encrypt یکی از ارائه دهندگان گواهی امنیتی است که فراهم کننده روشی ساده برای دریافت و نصب گواهیهای TLS/SSL برای فعالسازی رمزگذاری HTTPS بر روی سرور است. این ارائه دهنده با فراهم کردن یک کلاینت نرمافزاری به نام Certbot، تقریبا اکثرا مراحل نصب و راهاندازی گواهی را به طور خودکار انجام میدهد. در حال حاضر تمامی مراحل دریافت و نصب گواهی برای Nginx و Apache بطور کاملا خودکار صورت مییگیرد.
در این آموزش ما با استفاده از Certbot گواهی SSL رایگانی را برای Nginx در اوبونتو ۱۶.۰۴ دریافت و همچنین گواهی را به گونهای تنظیم میکنیم که بطور خودکار اعتبار آن تمدید شود.
در این آموزش از یک بلاک Nginx متفاوت از بلاک پیشفرض استفاده میکنیم. توصیه میکنیم که برای هر دامین در سرور خود یک بلاک جداگانه Nginx داشته باشید تا از ایجاد مشکلات احتمالی جلوگیری شود و فایل پیش فرض به عنوان یک راهنما همیشه در دسترس باشد.
ادامه مطلب
درباره این سایت