sudo apt-get purge human



الستیک سرچ از دو بخش عمومی و xpack تشکیل شده است که امکانات عمومی آن تحت لیسانس Apachi License می باشد و بخش xpack آن تحت لیسانس خود elasticsearch می باشد که دارای سه نسخه پایه و طلایی و پلاتینیوم هست که تمامی امکانات در نسخه پلاتینیوم قابل استفاده است.

برخی از امکانات پولی که در نسخه پلاتینیوم فعال است:

  • Core security features
  • Solutions such as APM, SIEM, Maps, and more
  • Canvas
  • Alerting
  • Reporting
  • Ingest management
  • Advanced security features
  • Machine learning
  • Cross-cluster replication

برای اینکه بتوانیم از امکانات پیشرفته الستیک سرچ و کیبانا استفاده کنیم نیاز به کرک کردن آن داریم.

درصورت تمایل به این کار لطفا از طریق نظرات پیام بگذارید

 


نمودارهای پایین فرآیند جستجو در الستیک سرچ را از ابتدا تا آخر شفاف میکند:

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 مشخص می شود که به کدام کلاستر متعلق  و  چه نوع نودی (مستر - دیتا - کلاینت) است.

انواع نود در الستیک سرچ:

  1. مستر نود واجد شرایط: به صورت پیش فرض هر نود یک مستر نود واجد شرایط است مگر اینکه  در تنظیمات جور دیگر مشخص شود. هر کلاستر به صورت خودکار یکی از مستر نود ها به عنوان مستر نود واجد شرایط انتخاب می کند. وقتی مستر نود (نود اصلی) بخاطر قطعی برق یا خرابی هارد سیستم و . دچار خرابی شود سایر مستر نود های واجد شرایط یک نود  دیگر  را بعنوان مستر نود انتخاب میکنند. مسئولیت توزیع شاردها بین نودها و ایجاد و حذف شاخص بر عهده مستر نود است. در کلاستر های بزرگ مدیرسیستم ممکن است برای افزایش قابلیت اطمینان سیستم (reliability) مستر نودهای واجد شرایط اختصاصی تعریف کنند به طوریکه هیچ داده ای ذخیره نکنند ( به زبان دیگر صرفا فقط مسترنود باشند نه چیز دیگر).
  2. دیتا نود: بصورت پیش فرض هر نود یک دیتا نود است که داده ها در شاردها ذخیره و عملیات ایندکس و جستجو و جمع آوری داده را انجام می دهد. در کلاسترهای بزرگ ممکن است نودها بصورت اختصاصی دیتا نود تعریف شوند تا کارایی و عملکرد سیستم بهبود یابد.
  3. کلاینت نود: اگر یک نود را نه مستر و نه دیتا نود تعریف کنیم در واقع این نود به عنوان کلاینت نود شناخته می شود. این نود بعنوان یک load balancer برای هدایت درخواست های جستجو و ایندکس عمل میکند. بودن این نود باعث می شود تا دیتا نودها و مسترنودها بر روی وظایف خود تمرکز کنند. وجود کلاینت نود واجب نیست زیرا دیتا نود ها خود امکان مدیریت درخواست ها را دارند. اگر هزینه جستجو و ایندکس کلاستر زیاد باشد وجود این نوع نود می تواند کمک کند.

اندرک لاسن، بتر پروگرمینگ -- باورش سخت است، اما کم‌کم داریم به سال ۲۰۲۰ می‌رسیم. آدم فکر می‌کند سال ۲۰۲۰ از درون یک داستان علمی‌تخیلی درآمده است؛ داستانی که در آن ماشین‌ها پرواز می‌کنند و ربات‌های هوشمند ما را با موشک‌های شخصی‌ برای هواخوری به مریخ می‌برند. بنظر می‌رسد سال ۲۰۲۰ واقعی ما اینقدرها هم پیشرفته نیست، اما من معتقدم که قطعاً چیزهای هیجان‌انگیزی برای ما در چنته خواهد داشت‌! امروز می‌خواهم برایتان بگویم که به نظر من این سال و سال‌های بعد از آن چه دستاوردهایی برای جهان برنامه نویسی خواهند داشت و چه ترندهایی را برایمان به همراه خواهد آورد.

قطعاً من پیشگو نیستم؛ شاید سال ۲۰۲۱ برگردیم و به این مطلب حسابی بخندیم! اما می‌توانم بر اساس تجربه‌‌، حدس‌هایی در مورد آینده بزنم. بنابراین، این شما و این پیش‌بینی‌های من در مورد ترندهای سال ۲۰۲۰ در دنیای برنامه‌نویسی.

ترند ۱. راست (Rust) همه‌گیر خواهد شد

ادامه مطلب


در این راهنما مراحل نصب استک 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.

 


smileyچگونه بیشتر کار کنیم؟‌smiley

اسپرینت ۹۰ دقیقه ای؛‌ ‌

•قدم اول: هر چیزی که باعث حواس پرتیه از جمله فضای مجازی، آدمای پرحرف و. رو کنار بزار‌

•قدم دوم: واسه هر نود دقیقه یه هدف تعیین کن که چقدر باید کار کنی‌

•قدم سوم: تایمر بزار واسه نود دقیقه تا مفهوم ددلاین کم کم برات جا بیوفته‌

•قدم چهارم: استراحت کن واسه ۲۰ دقیقه، مدیتیشن آپشن خیلی خوبیه‌

•قدم پنجم: این روال رو تکرار کن تا کملا عادت بشه واست‌


بعد از این که گوگل افزونه 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 داشته باشید تا از ایجاد مشکلات احتمالی جلوگیری شود و فایل پیش فرض به عنوان یک راهنما همیشه در دسترس باشد.

ادامه مطلب


آخرین ارسال ها

آخرین وبلاگ ها

آخرین جستجو ها