<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مسعود یوسف پور</title>
        <link>https://virgool.io/feed/@yousefpour</link>
        <description>لینوکس و امنیت</description>
        <language>fa</language>
        <pubDate>2026-06-16 21:11:11</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/25871/avatar/pJ32b8.jpg?height=120&amp;width=120</url>
            <title>مسعود یوسف پور</title>
            <link>https://virgool.io/@yousefpour</link>
        </image>

                    <item>
                <title>مدیریت سرورهای لینوکس با یک دستور :: CSSH</title>
                <link>https://virgool.io/@yousefpour/%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA-%D8%B3%D8%B1%D9%88%D8%B1%D9%87%D8%A7%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3-%D8%A8%D8%A7-%DB%8C%DA%A9-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1-cssh-xfapkyrlwtjj</link>
                <description>ممکنه پیش اومده باشه  که نیاز داشته باشید روی چندین سرور لینوکسی یک کلاستر، دستورات مشابهی رو  اجرا کنید، مثلا روی ۱۰ تا وب سرور همزمان دستور top یا df رو اجرا کنید.من همیشه طرفدار استفاده از اسکریپت و Automation هستم، ولی خیلی وقت  ها پیش اومده که بخوام سریع دستور رو اجرا کنم و وقت برای اسکریپت یا  انسیبل نگذارم.ابزار cssh کمک میکنه همزمان به چند سرور لینوکس ssh بزنید و دستورات مورد نظرتون رو اجرا کنید.Managing Multiple Linux Servers with ClusterSSHhttps://linux.die.net/man/1/csshکارکردن با سی اس اس اچ ساده است:cssh -l username -p sshport machine_names/ipscssh -l masoud -p 2222 srv1 srv2 srv3 srv4با این دستور، همزمان ۴ تا پنجره باز میشه و به ۴ تا سرور ssh میزنه.دستور cssh تنظیمات زیادی داره که میتونید توی این مسیر تغییرشون بدید:~/.clusterssh/configمثلا میتونید کنسول رو انتخاب کنید یا سایز پنجره ها رو تنظیم کنید و یا ssh args مورد نظرتون رو زمان ssh اتوماتیک اضافه کنید.با این ابزار توی کامند لاین میشه کارهای جالبی انجام داد،این مدلی رو شاید برنامه نویس ها بیشتر دوست داشته باشند، یا شاید هم دواپس کار ها یا حتی ادمین ها.با این دستور به آی پی های ۱۹۲.۱۶۸.۱۰۰.۱۰ تا ۱۹ وصل میشید:cssh 192.168.100.1{0..9}با این دستور به آی پی های ۱۹۲.۱۶۸.۱۰۲.۱۱ - ۱۹۲.۱۶۸.۱۰۳.۱۱ تا ۱۹۲.۱۶۸.۱۰۹.۱۱ وصل بشید:cssh 192.168.10{2..9}.11اون هایی که توی دیزاین هاشون Rack Awareness استفاده میکنند، این خیلی به کارشون میاد.اگر هم برا ماشین هاتون نام گذاری کردید اینم میتونه جالبه باشه:cssh Cluster-Web-{1..8}</description>
                <category>مسعود یوسف پور</category>
                <author>مسعود یوسف پور</author>
                <pubDate>Thu, 19 Dec 2019 12:41:44 +0330</pubDate>
            </item>
                    <item>
                <title>شرکت حرفه ای - احساس حرفه ای بودن - بخش دوم</title>
                <link>https://virgool.io/@yousefpour/%D8%B4%D8%B1%DA%A9%D8%AA-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A7%D8%AD%D8%B3%D8%A7%D8%B3-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A8%D9%88%D8%AF%D9%86-%D8%A8%D8%AE%D8%B4-%D8%AF%D9%88%D9%85-cg9koqnjbft5</link>
                <description>https://undark.org/article/stressful-events-processing-news/توی بخش اول در مورد این نوشتم که احساس حرفه ای بودن نمیکنم ولی میخواستم بدونم چی  شده که این حس بهم دست داده، آیا حس درستی دارم و چطور درگیر این موضوع  شدم.حرفه ای بودن چیه و چرا مهمه؟طبق  چیزی که توی اینترنت سرچ کردم، حرفه ای به فردی گفته میشه که بصورت مستمر  درآمد زندگی خودش رو از یک فعالیت خاص به دست میاره و فراتر از علاقه بهش  می پردازه.آدم حرفه ای ممکنه اشتباه کنه و شکست بخوره ولی این مهارت  رو داره که از شکست ها یا اشتباهاتش درس بگیره و توی کار ازشون استفاده  کنه.یعنی برای اینکه بتونه بصورت مداوم این فعالیت رو حفظ کنه باید دانش و تجربه کافی داشته باشه و از اصولی پیروی کنه.برای  حرفه ای موندن باید فرد بصورت مداوم دانش خودش رو بروز کنه و دامنه  تجربیاتش رو گسترش بده، هر چی از این فضای آموزشی و کسب تجربه دورتر بشه  میتونه به میزان حرفه ای بودنش لطمه بزنه.پس مهمه که ما چه کاری انجام میدیم، کجا کار میکنیم و برای حرفه مون چقدر زمان میگذاریم، به این ها میگن رفتار حرفه ای.هرچی  حرفه ای تر باشیم میتونیم توی فضای رقابتی که وجود داره، موقعیت مناسب تری  بدست بیاریم و توی موقعیت های شغلی بهتری قرار بگیریم.چه چیزهایی به حرفه ای بودن ما آسیب میرنه؟به  نظر میرسه اصل دانش کافی و بروز بودن، مهمترین عامل حرفه ای موندن هست ولی  موارد دیگه ای هم هست که با کم توجهی به اون ها میتونیم از فضای حرفه ای  بودن دور بشیم.بخشی از این موارد مستقیما در اختیار ما هست ولی بخشی  هم براساس انتخابی که انجام میدیم در اختیار دیگران قرار میگیره مثل محیط  کار و همکارانی که داریم، البته قبول دارم که فرد حرفه ای میتونه تا حد  زیادی روی محیط و همکارانش تاثیر بگذاره.مواردی مثل عدم توجه به  شایستگی خودمون و کم شدن اعتماد به نفس هم میتونه تاثیر بسزایی داشته باشه،  البته خیلی مهمه که دچار اعتماد به نفس کاذب و توهم شایسته بودن نشیم.علاوه  بر این موارد، داشتن هدف مشخص بصورت کوتاه مدت، میان مدت و بلند مدت هم  خیلی مهم هست، چرا که با نداشتن اهداف مشخص ممکنه ما درگیر جریان های  هیجانی و کوتاه مدتی بشیم که تمرکز ما رو کم کنه.در راستای همین  داشتن اهداف مشخص و تعیین شده، انتخاب محل کار هم تاثیر بسیار زیادی داره،  زمانی که ما از روی اشتباه وارد سازمانی بشیم که به ارزش های فنی و انسانی  ما توجه نکنه، ممکنه به مرور زمان برای ما احساس کرختی ایجاد کنه و ما رو  از تلاش برای یادگیری، تعامل مثبت با همکاران و خلق ارزش دور کنه.مثل  زمانی که شما موردی رو برای اصلاح به سازمان یادآوری میکنید ولی با بی  توجهی و یا بی میلی مجموعه برای شنیدین و تغییر مواجه میشین، احتمالا اگه  باز هم این کار رو انجام بدین و نتیجه ای حاصل نشه، برای دفعات بعد رغبت  کمتری برای بیان و پیگیری رفع مشکل دارین.این موارد همه تاثیرات  مهمی در ذهن ما برای اثرگذاری و احساس حرفه ای بودن داره و میتونه براساس  بازخورد سازمان، فرد رو فعال یا بی توجه به مسائل اطراف کنه.یادمون  باشه افراد باتجربه و حرفه ای معمولا ترجیح میدن توی سازمان سالم تاثیرگذار  باشند، یعنی حاضرند تجربیاتشون رو با بقیه به اشتراک بگذارند تا همه احساس  خوبی از همکاری داشته باشند.بطور کلی به نظرم این موارد که خیلی هاشون هم توی کامنت های بخش اول بود، میتونه تاثیر زیادی توی این زمینه داشته باشه:نداشتن تناسب بین توان و مسئولیتعدم توجه به کارایی فرددرآمد کمتر از میانگین بازار یا پیشنهاد های دیگهمطلع نبودن مدیران از کاری که انجام میشهعدم تداوم یادگیریعدم مشارکت برای کمک و آموزش به دیگراناحساس عدم خلق ارزشپیچیدگی و عدم موفقیت توی تعامل با دیگراننگرش منفی سازمانعدم تمرکز روی کار اصلینداشتن برنامه کوتاه یا میان مدتانجام کارهایی که با اهداف برنامه ریزی شده مغایرت دارهنداشتن صداقتپس علاوه بر مطالعه مداوم و کسب تجربه، داشتن هدف و انتخاب فضای مناسب کاری هم میتونه توی ادامه روند حرفه ای بودن ما تاثیر بگذاره.مثلا  زمانی که ما با دانش یا تجربه ای وارد سازمانی میشیم ولی توی اون مجموعه  از دانش مون استفاده ای نمیشه، ممکنه بصورت ناخودآگاه اون فضای ذهنی ما رو  به حالت غیر فعال و بدون تعامل وارد کنه.منظورم این نیست که این  موارد ما رو غیر حرفه ای میکنه، منظورم این هست که ممکنه مواجهه با این  موارد بصورت مستمر در ذهن ما ایجاد رخوت کنه و به مرور زمان باعث بشه تاثیر  کمتری بگذاریم.فکر کنم همه ما، اطرافمون افراد متعددی داریم که  هرگز عقب نشینی نکردن و خیلی محکم به دنبال رفع مشکل توی شرکت بودن، برخی  موفق شدن و برخی هم به دلیل عدم دستیابی به نتیجه خسته شدن و کار رو رها  کردن.چطور حرفه ای بمونیم؟برای حرفه ای بودن و حرفه ای موندن، باید رفتار حرفه ای داشت، به نظرم این موارد بخشی از رفتار حرفه ای هست:برای بار چندم، مطالعه کنیم و دامنه تجربیاتمون رو افزایش بدیم و حتی بتونیم به موضوعات از زوایای مختلف نگاه کنیم.شنونده  خوبی باشیم و با همکارانمون تعامل مثبت داشته باشیم، همون طور که از یک  مشت بسته چیزی خارج نمیشه، چیزی هم به اون اضافه نمیشه، پس بهتره روحیه  پذیرا و تعاملی داشته باشیم.اهداف دست یافتنی تعریف کنیم و براساس اون اهداف، کارها و شرکت هامون رو انتخاب کنیم.به  soft skills توجه کنیم، ممکنه همیشه چالش و حتی تنش هایی توی محل کار وجود  داشته باشه و باید بتونیم با افزایش مهارت هامون این موارد رو پشت سر  بگذاریم و تصمیم درست بگیریم.منظم باشیم، این نظم داشتن، هم نمود بیرونی داره و هم از لحاظ شخصی تاثیر بسیار زیادی روی کیفیت کارمون داره.توی تصمیم گیری ها از مشاوران خوب استفاده کنیم.جایی که از موضوعی اطلاع نداریم یا به اندازه کافی اشراف نداریم، به راحتی بگیم که بلد نیستم.اگر  توی شرکت کاری به درستی پیش نمیره، برای پافشاری و دستیابی به نتیجه حتما  برنامه داشته باشیم، برنامه ای شامل زمان و انرژی که میگذاریم.جمع بندیالان که مقاله رو مجددا دارم میخونم، میبینم دو موضوع حرفه ای بودن و رضایت شغلی بصورت درهم تنیده توی متن وجود داره.تقریبا  میتونم بگم نمیشه این ها رو از هم جدا کرد. به نظر میرسه فردی که به میزان  کافی رضایت شغلی نداشته باشه، نمیتونه همواره رفتار حرفه ای هم داشته  باشه.البته شاید بتونه بصورت کوتاه مدت این کار رو انجام بده ولی به  هرحال یه نقصانی توی رفتار حرفه ای خواهد داشت که به وضوح میتونه اون رو  از یک فرد حرفه ای جدا کنه.حالا که کمی بیشتر درمورد حرفه ای بودن میدونم، میتونم درمورد احساسم و منشا اون دقیق تر صحبت کنم.به  نظرم کمی از اهدافی که داشتم دور شدم و همین باعث شده رضایت شغلی کمتری  داشته باشم و بصورت ناخودآگاه تلاش کمتری هم انجام بدم، شاید لازم باشه  اهدافم رو مجددا مرور کنم و تصمیم دقیق تری بگیرم.در نهایت میتونم  بگم این ربطی به شرکت هامون نداره، به اهداف و انتخابمون برمیگرده. ممکنه  شرکتی که برای اهداف من مناسب نیست، برای فرد دیگه ای و اهدافش بسیار  انتخاب خوب و حرفه ای باشه.امیدوارم برای کسب نتیجه و  اهدافی که داریم، برنامه ریزی مناسب داشته باشیم، برای حرفه ای بودن به  اندازه کافی زمان بگذاریم و برای حرفه ای موندن با آگاهی انتخاب کنیم و  هزینه اش رو بپذیریم.لطفا با نظراتتون این مطلب رو کامل کنید.موفق باشیدمسعود یوسف پور</description>
                <category>مسعود یوسف پور</category>
                <author>مسعود یوسف پور</author>
                <pubDate>Thu, 19 Dec 2019 12:37:39 +0330</pubDate>
            </item>
                    <item>
                <title>شرکت حرفه ای - احساس حرفه ای بودن</title>
                <link>https://virgool.io/@yousefpour/%D8%B4%D8%B1%DA%A9%D8%AA-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A7%D8%AD%D8%B3%D8%A7%D8%B3-%D8%AD%D8%B1%D9%81%D9%87-%D8%A7%DB%8C-%D8%A8%D9%88%D8%AF%D9%86-gcfqomhfqfkq</link>
                <description>https://undark.org/article/stressful-events-processing-news/دلم  برای نوشتن مطلب و تجربه فنی تنگ شده، حدود ۷ ماه هست که هیچ مطلبی  ننوشتم، درحالی که برنامه منسجم و البته علاقه و اشتیاق زیادی برای این کار  داشتمشاید این موضوعی که میخوام بگم دلیل این کرختی و دور شدن از برنامه هام باشهتمام این سال ها پیشنهادات شغلی رو با تامل و مشورت انتخاب کردم و همیشه حس میکردم دارم یک قدم به حرفه ای تر شدن گام برمیدارمدیشب  یکی از دوستان باتجربه ام گفت من توی این کار حس حرفه ای بودن نمیکنم، این  حرفش حسابی منو برد تو فکر، منم دیگه حس حرفه ای بودن نمیکنم!سهم شرکت چیه؟ سهم من چیه؟ممکنه نتونستم با فضای کاری ارتباط برقرار کنمممکنه نتونستم اهداف رو متوجه بشم و درکشون کنمشاید به اندازه کافی درگیر کار و مسولیت نشدمشاید دارم مدام کار بقیه رو ارزیابی و مقایسه میکنمشاید اصلا کار مهمی نمیکنیم و برامون این کارها ارزش نیستو هزار تا شاید دیگه ...فکر میکنم سهم شرکت این هست که متوجه این حال من نشدهو سهم من هم این هست که نرفتم این حالم رو باهاشون درمیون بگذارمحس میکنم از ۶ یا ۷ ماه پیش که درگیر جابجایی و تغییر کار و این ها شدم همین احساس شروع شدهدارم چی کار میکنم؟ مسیرم درسته؟کار حرفه ای انجام میدم؟ جای حرفه ای کار میکنم؟اصلا کار حرفه ای چه شکلیه؟ شرکت حرفه ای چطوریه؟لطفا نظرتون رو بگید، اگه بازم پنچر نشدم، سعی میکنم مطلبی همراه با تحقیق و مطالعه منتشر کنم.می تونید بخش دوم رو از اینجا مطالعه کنید.ارادتمسعود یوسف پور</description>
                <category>مسعود یوسف پور</category>
                <author>مسعود یوسف پور</author>
                <pubDate>Thu, 19 Dec 2019 12:35:01 +0330</pubDate>
            </item>
                    <item>
                <title>بررسی سرعت سایت</title>
                <link>https://virgool.io/@yousefpour/%D8%A8%D8%B1%D8%B1%D8%B3%DB%8C-%D8%B3%D8%B1%D8%B9%D8%AA-%D8%B3%D8%A7%DB%8C%D8%AA-fraxwjdkgfac</link>
                <description>معیارتون چیه، چه سایتی سریع هست و چه سایتی رو کند میدونید؟چه کارهایی باید انجام بدیم که سرعت سایتمون افزایش پیدا کنه؟قراره فقط درمورد سرور صحبت کنیم.اول کمی درمورد معیارهای سرعت سایت صحبت کنیم، مثلا زمانی که میگیم سایت کند شده با چه معیاری کندی سایت رو می‌سنجیم؟من همیشه سرعت سایت رو به ۳ بخش تقسیم میکنم (شاید استاندارد باشه شاید هم نباشه)سرعت یا زمان اتصال اولین درخواست TTFB که میشه Time to first byteسرعت نمایش محتوای استاتیکسرعت نمایش محتوای داینامیک یا CGIداخل این تست ها پارامتر دیگه ای هم وجود داره که معمولا از کنترل ما خارج هست، اون هم اینترنت کاربره که ممکنه برای یک تست ثابت نتایج مختلفی ارایه کنه.برای کنترل این بخش پیشنهاد میکنم از جاهای مختلف تست بشه و البته نتیجه تست ها هم بصورت میانگین محاسبه بشه.TTFBمورد اول مربوط به اتصال TCP میشه و ربطی به محتوای سایت نداره، یعنی قبل از اینکه اصلا بخوایم ببینیم تصاویر سایت بهینه هستند یا نه یا بکند سریع جواب میده، باید ببینیم کاربر چقدر زمان میبره تا دامنه رو ریزالو کنه و بتونه کانکشن TCP بزنه.برای این تست میشه از سایت های آنلاین مثل https://performance.sucuri.net استفاده کرد، انصافا سایت خوبی هم هست.ولی من ابزارهای دستوری رو بیشتر ترجیح میدم، با curl هم میشه این زمان رو بدست آورد.با دستور زیر دارم چک میکنم سرعت اتصال به سایت ویرگول چقدر هست:curl -L -o /dev/null -w &quot;Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n&quot; https://virgool.io/خروجی این دستور به اینصورت هست:Connect: 0.060190 TTFB: 1.496674 Total time: 1.654540 Connect: %{time_connect}TTFB: %{time_starttransfer}Total time: %{time_total}زمان اتصال TCP و البته DNSزمان پاسخگویی وب سرورمجموع زمان دریافت پاسخسرعت اتصال به سایت ویرگول از روی اون سایت های آنلان هم این شکلی هست:https://performance.sucuri.net/domain/virgool.ioمیشه سرعت اتصال رو افزایش داد و درمجموع این زمان رو کم کرد؟برای بهبود زمان اتصال TTFB کارهای متعددی باید انجام بشه که به بخشی از اون ها اشاره میکنم:استفاده از DNS سرورهای بهترافزایش منابع سرور مثل رمبهبود اتصال شبکه (استفاده از سرویس دهنده هایی که شبکه داخلی و اتصال اینترنت بهینه و سریعی دارند)بهبود پارامترهای کرنل و Performance Tuningبهبود تنظیمات وب سروربهینه سازی محتوای استاتیکتست این بخش خیلی ساده است، از روی سایتتون یک تصویر رو انتخاب کنید و اون رو دانلود کنید.با این کار مجموع TTFB و سرو فایل رو تست کردید، البته که این تست هم شامل اون قاعده کیفیت اینترنت کاربر هست.curl -o /dev/null -w &quot;Total time: %{time_total} \n&quot; https://files.virgool.io/upload/users/38106/posts/ihpkxqooh5r3/rsppmtuhzcd9.jpegبا این درخواست یک تصویر رو مستقیم از روی سرور دانلود میکنم و خوبه که حواسمون باشه درخواست ما به جای دیگه ریدایرکت نشه و مستقیم بریم لینک نهایی رو تست کنیم.100  106k  100  106k    0     0   122k      0 --:--:-- --:--:-- --:--:--  122kTotal time: 0.871299خروجی دستور نشون میده که فایل 106k رو در مدت 0.8 ثانیه دریافت کردم.چطور میشه این زمان رو بهبود داد؟بهینه سازی تصاویر مثل کوچک کردن یا تبدیل به فرمت های وب بصورت استاتیکبهینه سازی نمایش تصاویر بصورت دایانامیکاستفاده از CDNبهبود پرفرمنس وب سرورافزایش کیفیت و ظرفیت پهنای باند سروراز سایت های آنلاین هم میشه استفاده کرد، مثلا این سایت تحلیل خوبی ارایه میکنه.ضمنا برای تست زمان لود سایت از نقاط مختلف دنیا، این سایت رو پیشنهاد میکنم.بهینه سازی استاتیککم هزینه ترین کار همین بهینه سازی تصاویر هست، مثلا ممکنه شما تصویری با اندازه 1017 × 1589 داشته  باشید ولی داخل سایت تصویر رو با تگ HTML یا CSS کوچکتر نمایش بدید، نتیجه این هست که تصویر بزرگ باید توسط کاربر دانلود بشه ولی زمان نمایش تصویر کوچکتر نمایش داده میشه.با اصلاح اندازه تصاویر و تبدیل به فرمت های بهینه وب میتونیم سرعت سایت رو افزایش بدیم.روش بعدی بهینه سازی تصاویر بصورت داینامیک هست، این کار رو به روش های مختلفی میتونیم پیاده سازی کنیم.مثلا هر تصویری که روی سرور آپلود میشه، بلافاصله به اندازه های مختلف تبدیل بشه تا برای مواقع مختلف هم اندازه بهینه نمایش داده بشه.این کار هزینه زیادی داره و ممکنه برخی از اندازه ها اصلا دیده نشدند درحالی که شما از پیش با هزینه CPU تصاویر رو Resize کردید.بهینه سازی داینامیکروش دیگه پیاده سازی هم بصورت داینامیک هست، یعنی شما تصویر رو با اندازه واقعی به سرور منتقل میکنید ولی زمان نمایش فقط اون سایز یا بخشی از تصویر رو که نیاز دارید نشون میدید.تصویر زیر مربوط به Object Storage ویرگول هست که از همین روش استفاده میکنه:https://files.virgool.io/upload/users/38106/posts/ihpkxqooh5r3/rsppmtuhzcd9.jpegتصویر اصلی 106k هست ولی زمانی که میخواد بخشی رو نمایش بده، از این آدرس استفاده میکنه:https://files.virgool.io/upload/users/38106/posts/ihpkxqooh5r3/rsppmtuhzcd9.jpeg?x-oss-process=image/resize,w_700/crop,h_250,g_center/quality,q_80درواقع داره تصویر رو Crop میکنه و البته کیفیت رو هم پایین میاره، اندازه این تصویر فقط 12k هست.خب این کار معمولا در لحظه هزینه بر هست که با اضافه کردن مکانیزم های لایه کش میانی میتونه بهینه عمل کنه.روش دیگه ای هم هست که اتوماتیک این کار رو انجام میده، ماژولی برای Nginx و Apache هست به نام PageSpeed، این هم آدرس سایت.با این روش میتونید تصاویر، JS و CSS ها رو روی سرور بهینه کنید و با اندازه بسیار کمتری به کاربر نمایش بدید.این تصویر در اندازه واقعی و بدون ماژول PageSpeed نمایش داده میشه که حدود 1.8M هست:curl -L -o /dev/null -w &quot;Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n&quot; https://SITE/kratos_atreus_in_god_of_war-hd_wallpapers.jpg
100 1829k  100 1829k    0     0   551k      0  0:00:03  0:00:03 --:--:--  551k
Connect: 0.157250 TTFB: 0.280794 Total time: 3.327236 حالا همین تصویر و با ماژول فعال PageSpeed بصورت اتوماتیک میشه 425k:100  425k  100  425k    0     0   487k      0 --:--:-- --:--:-- --:--:--  487k
Connect: 0.077811 TTFB: 0.179278 Total time: 0.874382 خیلی ساده خود وب سرور تصویر رو کوچکتر و کیفیت اون رو کاهش میده تا کاربر در زمان کمتری تصویر رو دریافت کنه، این کار هم خوبه و هم بده!اگر ماژول PageSpeed رو به خوبی تنظیم کرده باشید و یا با اطلاع کامل فایلی رو با اندازه بزرگ بخواهید که نمایش بدید خوبه ولی اگه فقط ماژول رو نصب کنید و تنظیمات دقیقی روش انجام ندید همین میتونه کیفیت سایت شما رو کم کنه.تنظیمات PageSpeed مفصل و متعدد هست، توی مقاله دیگه ای نصب و تنظیمات رو براتون کامل توضیح میدم.استفاده از CDNمعمولا سایت ها منابع محدودی دارند و برخی مواقع به جای استفاده از این منابع برای پردازش داینامیک درحال پاسخ دادن به درخواست های استاتیک هستند.شیوه بهینه جدا کردن سرور فایل های استاتیک هست که بهترین روش اجرا پیاده سازی CDN هست، ولی راه اندازی CDN هزینه بر هست و البته کمی هم نیاز به دانش و تجربه داره.معمول ترین روش استفاده از Cloudflare هست، البته استفاده از CDN های خارجی معمولا به دلیل اتصال به اینترنت خارج از کشور و کیفیت اینترنت ممکنه بهینه نباشه و سرعت رو هم کاهش بده.** دارم مسیر اتصال به یکی از سرورهای Cloudeflare رو بررسی میکنم که نشون بدم اتصال کند هست و خوب نیست، ولی دارم میبینم که چقدر خوب مسیر روتینگ بهینه شده و حتی از بعضی سایت های داخلی هم سرعت بهتری داره!همین مثال files.virgool.io رو ببینیم که از Cloudflare سرویس میگیره:dig files.virgool.io +short
104.27.173.131
104.27.172.131whois 104.27.173.131 | grep NetName
NetName:        CLOUDFLARENETmtr 104.27.173.131نمیگم خیلی خوبه ولی قابل قبوله!بجز سرویس دهنده های خارجی، CDN های داخلی هم داریم که به نظر میرسه کیفیت خوبی دارند و اگر هم ایرادی بهشون گرفته میشه، تلاش میکنند تا رفع بشه، مثل ابرآروان یا خلاق (البته نمیدونم پابلیک هست یا نه).*(اگر ارایه دهنده ایرانی دیگه ای سراغ دارید بگید تا اضافه کنم)بهبود پرفرمنس وب سروراین بهینه سازی ارتباط مستقیمی با منابع سرور و تعداد درخواست هایی که بهش ارسال میشه داره.مثلا بهینه سازی وب سروری که فایل های بزرگ سرو میکنه با سروری که فایل های کم حجم ولی با تعداد بالا سرو میکنه متفاوت هست، البته بخش هایی از بهینه سازی مشترک هستند و همواره باید انجام بشه.این مبحث خیلی مفصل هست و ترجیح میدم توی مقاله دیگه ای درموردش توضیح بدم، این آدرس از خود سایت Nginx میتونه منبع خوبی برای شروع این کار باشه.افزایش کیفیت و ظرفیت پهنای باند سروراین کار خیلی سخت هست! درواقع شما باید سرویس دهنده تون رو قانع کنید که کیفیت شبکه و یا اینترنت سرور خوب نیست.درواقع این مورد یک جورهایی بیرون از حوزه شماست و شاید کارهایی که میتونید انجام بدید این ها باشند:قانع کردن سرویس دهنده برای تغییر مسیر ارتباطی یا جابجا کردن سرورهاتغییر سرویس دهنده (مثلا مهاجرت به دیتاسنتر دیگه یا استفاده از خدمت دهنده زیرساخت دیگه)استفاده از سرویس های CDN با امکان Dynamic Website Accelerationبهینه سازی محتوای داینامیکبرای بهینه سازی این بخش باید موارد متعددی رو در نظر گرفت و انصافا کار زمانبر و سختی هست:تعداد درخواست هایی که به اپلیکیشن سرور میرسه (فرض میکنم وب سرور به اندازه خوبی بهینه شده)افزایش تعداد اپلیکیشن سرورها و بالانس کردن لود روی اون هابهینه سازی سرور و سرویس دیتابیسشارد و Replicate کردن دیتا روی دیتابیسبهینه سازی ریکوئست هایی که به دیتابیس میرسنداضافه کردن لایه Cache (خیلی کار خطرناکی هست ولی اگر پترن مناسبی برای کش تنظیم بشه، نتیجه عالی میشه)و کلی کار دیگه که بر حسب نوع سرویس متفاوت هستهمونطور که گفتم این بخش کمی پیچیده است و باید بصورت گام به گام انجام بشه، جمع بندیبهینه سازی و افزایش سرعت سایت موارد متعددی داره که سعی کردم مختصری به اون ها اشاره کنم، مواردی مثل بهینه سازی وب سرور Nginx و استفاده از PageSpeed رو بعدا منتشر میکنم.باید توجه داشته باشیم که برای بهبود سرعت نمیشه پارامتر شبکه یا اتصال کاربر رو نادیده گرفت لذا ممکنه هر کاربری تجربه خاص اتصال خودش رو داشته باشه، پس پیشنهاد میکنم بجای بررسی صرفا زمان لود سایت به آنالیز پارامترها توجه کنید، این موارد رو میتونید توی سایت های تحلیل آنلاین یا حتی Developer Tools مرورگر پیدا کنید.موفق باشیدمسعود یوسف پور</description>
                <category>مسعود یوسف پور</category>
                <author>مسعود یوسف پور</author>
                <pubDate>Sat, 01 Jun 2019 16:51:09 +0430</pubDate>
            </item>
                    <item>
                <title>آی پی سرور ات چیه؟</title>
                <link>https://virgool.io/@yousefpour/%D8%A2%DB%8C-%D9%BE%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A7%D8%AA-%DA%86%DB%8C%D9%87-gcxhgrzuagys</link>
                <description>چطوری IP سرورتون رو بدست میارید؟بله دستور ifconfig یا ipconfig میزنید، ولی آیا این آی پی همون آی پی هست که باهاش به اینترنت وصل میشید؟الان دیگه کم پیش میاد که سرورها بصورت NAT به اینترنت وصل بشند ولی این روش برای زمانی که میخواید دیباگ کنید به کار میاد.دقیق ترین روش برای پیدا کردن آی پی متصل به اینترنت روی ماشین کاری یا سرور این هست که ببینید موقع اتصال به یک سایت چه آی پی درخواست ارسال میکنه.برای این کار روش های مختلفی هست، مثل مراجعه به سایت https://whatismyipaddress.com و یا سرچ کردن ip در گوگل.اگه به روش Command Line روی لینوکس میخواید آی پی متصل رو پیدا کنید میتونید این دستور رو اجرا کنید:curl http://ifconfig.coاین دستور ای پی متصل به سرور HTTP رو نشون میده.بعضی مواقع پیش میاد که آی پی متصل به HTTPS متفاوت باشه (معمول نیست ولی باز هم ممکنه توی دیباگ کردن نجاتتون بده)، برای پیدا کردن این آی پی کافیه آدرس رو به HTTPS تغییر بدید:curl https://ifconfig.coعلاوه بر روش curl کردن و تست اتصال به HTTP، میتونید با DNS هم تست کنید.برای این تست این دستور رو اجرا کنید:dig +short myip.opendns.com @resolver1.opendns.comبا این دستور به opendns متصل میشید، دستور دیگه ای هم هست که میتونید با دی ان اس های گوگل تست کنید.برای تست با DNS گوگل، این دستور رو اجرا کنید:dig TXT +short o-o.myaddr.l.google.com @ns1.google.comنتیجه تمام این تست ها آی پی هست که با اون به اینترنت متصل شدید.این آی پی یا همون آی پی پابلیکی هست که روی سرور تنظیم کردید و یا گیت وی سرورتون هست.امیدوارم همه نتایج یکی باشه و غافلگیر نشید.موفق باشیدمسعود یوسف پور</description>
                <category>مسعود یوسف پور</category>
                <author>مسعود یوسف پور</author>
                <pubDate>Fri, 12 Apr 2019 14:03:34 +0430</pubDate>
            </item>
                    <item>
                <title>با لاگ های سرور چه کار کنیم؟</title>
                <link>https://virgool.io/@yousefpour/%D8%A8%D8%A7-%D9%84%D8%A7%DA%AF-%D9%87%D8%A7%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1-%DA%86%D9%87-%DA%A9%D8%A7%D8%B1-%DA%A9%D9%86%DB%8C%D9%85-qsnusozt5evb</link>
                <description>وقتی از یکی میشنوم که لاگ هاش زیاد بوده و هاردش رو پر کرده، اون هم لاگ ها رو پاک کرده اصلا تعجب نمیکنم.معمولا ما نمیدونم با لاگ های سرور یا سرویسمون چی کار کنیم، توی این پست سعی میکنم بیشتر به ماهیت لاگ ها بپردازم، بعد هم درمورد نصب و راه اندازی یک سرویس مناسب برای مدیریت لاگ ها صحبت میکنم.بطور معمول هر سیستم عاملی لاگ هایی رو تولید میکنه که داده هایی مثل ورود و خروج کاربران، تغییر تنظیمات، نیاز به بروز رسانی و خیلی موارد دیگه رو توش میشه پیدا کرد.مثلا وقتی روی سیستم عامل لینوکس از طریق SSH لاگین میکنیم چنین لاگی توی سیستم ثبت میشه:sshd[000]: Accepted publickey for masoud from 1.1.1.1 port 0000 ssh2: RSA SHA000:000000000شاید لاگ مربوط به یه لاگین ساده مهم نباشه(!) ولی وقتی تلاش برای ورود به سرور توسط یک اتکر اتفاق می افته میتونه مهم باشه. لاگ هایی که روی سرور ثبت میشه  این شکلی هست و میتونه به کار بیاد:Apr 8 18:48:39 SERVER-000 sshd[0000]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=1.1.1.2  user=masoudApr 8 18:48:41 SERVER-000 sshd[0000]: Failed password for masoud from 1.1.1.2 port 0000 ssh2Apr 8 18:48:47 SERVER-000 sshd[0000]: message repeated 2 times: [ Failed password for masoud from 1.1.1.2 port 0000 ssh2]Apr 8 18:48:47 SERVER-000 sshd[0000]: Connection closed by 1.1.1.2 port 0000 [preauth]Apr 8 18:48:47 SERVER-000 sshd[0000]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=1.1.1.2  user=masoudچطوری باید این لاگ ها رو ببینیم و ازشون استفاده کنیم؟ساده ترین روش این هست که با دستور tail انتهای لاگ رو بخونیم و منتظر باشیم که یه اتفاقی بیوفته!tail -f /var/log/auth.logتا زمانی که لاگ ها بصورت متمرکز روی سرورها هستند خیلی کاربردی و عملیاتی نخواهند بود.مثلا تصو کنید اتکر سعی میکنه به سرور وصل بشه، بعد از مدتی تلاش موفق میشه و وارد سرورتون میشه، بعد شروع میکنه به پاک کردن لاگ ها و اصطلاحا ردپاش رو پاک میکنه.بعدا که متوجه آسیب پذیری سرورتون میشید یا متوجه میشید از سرورتون سو استفاده شده، دیگه لاگی برای بررسی ندارید.در نتیجه اولین قدم برای ثبت و نگهداری و پایش لاگ ها، انتقال اون ها به بیرون از سرورهاتون هست.ضمنا با این روش دیگه هاردتون پر از لاگ نمیشه و میتونید بصورت دوره ای لاگ هایی که تحلیل کردید و به بیرون منتقل شده اند رو پاک کنید.جمع آوری لاگ هامعمولا داریم درمورد لاگ های بیش از یک سرور صحبت میکنیم، مثلا ۲ تا سرور! مرحله اول باید به روشی لاگ ها رو از روی سرورها جمع آوری کنیم و بفرستیم به لاگ سرور مرکزی تا هم در جای مطمئنی قرار داشته باشه و هم بتونیم سریع تر و بصورت متمرکز و تجمیع شده لاگ ها رو بررسی کنیم.به این ابزارها Log Shipper میگن:Filebeatrsyslogsyslog-ngFluentd...این ابزارها بسیار متنوع هستند و مهمترین دلیل انتخاب اون ها میتونه این موارد باشه:ساده بودن تنظیماتپروتکل هایی که پشتیبانی می کنندپلاگین هایی که دارنداز چه ورودی هایی میتونند لاگ بگیرند و در چه خروجی هایی میتونند لاگ رو ذخیره کنندچند تا لاگ بر ثانیه میتونند منتقل کنندچقدر منابع سرور رو اشغال میکنندو ...روی ویندوز و لینوکس به راحتی میتونید rsyslog رو نصب کنید تا لاگ های سیستمی و با کمی تنظیمات، لاگ های سرویس هاتون رو به بیرون منتقل کنید.ممکنه براساس نیازمندی انتخاب متفاوت باشه ولی در اصل کارکرد تاثیری نمیگذاره.تنظمیات rsyslog ساده است:vim /etc/rsyslog.conf
....*.* @@graylog.company:514;RSYSLOG_SyslogProtocol23Formatبا *.* داریم میگیم همه چیز رو بفرست به graylog.company پورت ۵۱۴ و در ادامه هم میگیم فرمت لاگ ها چطوری باشه. (جزییات این فرمت داخل RFC5424 هست)ضمنا وقتی ۲ تا @ میگذاریم یعنی پورت مقصد TCP هست، یک دونه هم باشه یعنی UDP هست.فرق TCP و UDP توی چیه؟ زمانی که پورت مقصد UDP لاگ ارسال میکنید، ممکنه به هر دلیلی لاگ ها به مقصد نرسه. اینطوری دیگه سرور تلاش نمیکنه دوباره ارسال کنه و لاگ بعدی رو میفرسته، ممکنه به دلیل قطعی شبکه یا اختلات دیگه لاگ هایی رو به لاگ سرور ارسال نکنید.تا اینجا روی سرور تنظیم کردیم که همه لاگ هایی که توسط syslog هندل میشه رو ارسال کنه به مقصد graylog.company، بریم سراغ نصب و راه اندازی graylog که بتونه لاگ ها رو دریافت و ذخیره کنه.لاگ سرور مرکزیابزار پیشنهادی برای مکانیزم دریافت و ذخیره لاگ، برای شرکت های کوچک تا متوسط Graylog هست.این ابزار توی محیط عملیاتی که پیاده سازی کردم تونسته تا 600k لاگ بر ثانیه رو بصورت زنده و realtime هندل کنه و از 600k لاگ تا 1m لاگ بر ثانیه رو با تاخیر حتی تا ۱۰ دقیقه بهم نمایش داده.بیشترین لاگ ارسالی 1.2m لاگ بر ثانیه بوده که به دلیل خطای Elasticsearch سرویس متوقف شده.پیشنهاد نمیکنم برای بیش از ۱ میلیون لاگ در ثانیه از Graylog استفاده بشه، برای چنین محیط هایی باید از ابزارهای Queuing مثل Kafka استفاده کرد، حتی برای ذخیره لاگ ها هم دیگه Elasticsearch مناسب نیست و ابزارهایی مثل ClickHouse باید استفاده بشه.این آدرس سایت گری لاگ هست و در این آدرس هم میتونید تمام مستندات مربوط به Graylog رو مطالعه کنید.مدل ها و معماری های متنوعی برای راه اندازی گری لاگ میشه طراحی و پیاده سازی کرد. توی این آدرس دو مدل طراحی رو داره توضیح میده.مدل ساده:طراحی ساده گری لاگخیلی ساده میگه یک پروسه گری لاگ هست که لاگ ها رو دریافت میکنه و به سرویس های مونگو و الستیک وصل میشه و لاگ ها رو اون جا ذخیره میکنه و در نهایت ادمین هم میتونه با مرورگر به همون پروسه اصلی گری لاگ وصل بشه و لاگ ها رو مشاهده کنه.یعنی کل سرویس رو میشه روی یک سرور با ۳ پروسه گری لاگ، مونگو و الستیک پیاده سازی کرد.حالا یک مدل پیچیده تر هم طراحی کرده که به اینصورت هست:طراحی پیچیده تر گری لاگتوی این مدل یک لودبالانسر (مثل HAProxy) اضافه شده و بقیه پروسه ها یا سرویس ها بیشتر و البته کلاستر شدند.مثلا کلاستر ۳ تایی از مونگو راه اندازی شده و الستیک هم بصورت کلاستر راه اندازی شده.پروسه اصلی گری لاگ هم چند تا در نظر گرفته شده و درخواست ها از طریق لودبالانسر روی اون ها تقسیم میشند.اینکه کدوم مدل رو باید راه اندازی کرد میتونه به عوامل زیر بستگی داشته باشه:تعداد لاگ ورودیمیزان پردازش مورد نیاز روی هر لاگمدت نگهداری لاگ هادر ادامه نصب مدل ساده رو با هم بررسی میکنیم.نصب Graylogروش های نصب گری لاگ متنوع هست، از سورس گرفته تا OVA میشه سرویس رو راه اندازی کرد، توی این مسیر روش های مختلف نصب وجود داره.اینجا روش نصب گری لاگ از طریق داکر رو دنبال میکنیم، ابتدا داکر رو نصب میکنیم و دسترسی به مخازن رو تنظیم میکنیم و بعد با این دستورات کانتینرها رو نصب و راه اندازی میکنیم.docker run --name mongo -d mongo:3
docker run --name elasticsearch \
    -e &quot;http.host=0.0.0.0&quot; \
    -e &quot;ES_JAVA_OPTS=-Xms512m -Xmx512m&quot; \
    -d docker.elastic.co/elasticsearch/elasticsearch-oss:6.6.1
docker run --name graylog --link mongo --link elasticsearch \
    -p 9000:9000 -p 514:514 \
    -e GRAYLOG_HTTP_EXTERNAL_URI=&quot;http://graylog.company:9000/&quot; \
    -e GRAYLOG_ROOT_PASSWORD_SHA2=8c6000000
    -d graylog/graylog:3.0تقریبا واضح هست، اولی که مونگو رو نصب میکنهدومین دستور هم الستیک رو با ظرفیت مموری ۵۱۲ مگ اجرا میکنه (نسخه مهم هست)سومین دستور هم گری لاگ رو راه اندازی میکنه و مونگو و الستیک رو هم بهش لینک میکنه.توی دستور سوم ۲ تا گزینه برای تنظیمات هم هست که با اولی میشه نقطه دسترسی رو تنظیم کرد و با بخش دوم میشه برای کاربر ادمین پسورد تنظیم کرد.برای تنظیم پسورد باید Hash SHA2 ایجاد کنیم، با این دستور میتونید Hash رو بسازید:echo -n &quot;Enter Password: &quot; &amp;&amp; head -1 &lt;/dev/stdin | tr -d &#039;\n&#039; | sha256sum | cut -d&quot; &quot; -f1الان باید با دستور docker ps بتونید کانتینرها رو ببینید و با دستور netstat -ntlp هم میتونید پورت های Listen شده رو ببینید.میشه تمام این دستورات و تنظیمات داکر رو توی docker-compose.yml قرار بدیم تا بهتر بشه سرویس رو مدیریت کنیم.درضمن کلی تنظیمات برای گری لاگ وجود داره که توی این لینک نحوه تنظیمات رو گفته که ممکنه به کار بیاد.اگر خیلی جدی تر خواستید داکرتون رو تنظیم کنید، توی این لینک هم میتونید تنظیمات مربوط به Persisting Data و جدا کردن استوریج سرویس رو ببینید.حالا سرویستون روی پورت ۹۰۰۰ دردسترس هست، میتونید توی مروگر آدرس سرور و پورت ۹۰۰۰ رو بزنید و به سرویس لاگین کنید.نمای داشبورد Graylogتنظیمات Input گری لاگتوی تنظیمات سرور گفتم که لاگ ها رو با rsyslog میفرستیم سمت graylog.company پورت TCP 514، حالا لاگ سرور بالاست ولی هنوز روی پورت ۵۱۴ Listen نمیکنه، برای اینکار مطمئن بشید که توی دستور داکر مربوط به اجرای گری لاگ، حتما پورت ۵۱۴ Expose شده باشه.داخل پنل از طریق منوی System گزینه Inputs رو انتخاب میکنیم.از داخل لیست Inputs موارد syslog رو میخوایم انتخاب کنیم:اون گزینه Syslog TCP رو انتخاب میکنیم و Launch رو میزنیم:فقط کافیه Global رو انتخاب و یک Title بهش بدید:درنهایت هم روی گزینه Save کلیک کنید.الان سرویس گری لاگ روی پورت TCP 514 داره Listen میکنه و میتونه ورودی لاگ بگیره.توی همون صفحه Inputs میتونید میزان لاگ ورودی رو ببینید:اون بالا سمت راست هم نمایش میده که چقدر لاگ وارد شده و چه میزان پردازش و ذخیره شده:از طریق گزینه Streams از نوار بالا میتونید به لاگ های ورودی دسترسی پیدا کنید. داخل این صفحه بخشی هست به نام All messages:داخل این بخش میتونید تمام لاگ های رسیده رو ببینید:از طریق نوار بالای صفحه میتونید بین لاگ ها سرچ کنید:الگوی سرچ خیلی ساده است:message: &quot;masoud&quot;فقط به اون گوشه بالا سمت چپ توجه کنید، زمان رو میتونید مشخص کنید. توی ۵ دقیقه اخیر چیزی نبود، بازه رو روی ۵ روز تنظیم کردم.شاید یکی از مهمترین ویژگی های گری لاگ همین قدرت سرچ اش باشه که طبعا به دلیل Elasticsearch هست، اینجا میتونید تمام Syntax های مربوط به سرچ گری لاگ رو مشاهده کنید.ضمنا ذیل همین توضیحات مربوط به Queries میتونید تنظیمات مربوط به کشیدن گراف ها رو هم ببینید.البته گری لاگ توی کشیدن و نمایش گراف ها به نظرم ضعیف هست و در برابر ابزاری مثل Kibana و یا Grafana حرفی برای گفتن نداره. لذا خیلی توقع گراف های عجیب نداشته باشید.مثلا این داشبورد سرویس HTTP هست که داخل لاگ ها بخش مربوط به HTTP Status Code ها تنظیم شده:برای تنظیمات داشبورد میتونید این لینک رو بخونید.علاوه بر تنظیمات مربوط به داشبورد، تنظیمات Alert هم هست که خیلی میتونه به کار بیاد.مثلا اول مقاله خاطرتون هست گفتم اتکر تلاش میکنه که لاگین کنه، خب اینجا همون بخشی هست که باید تنظیم کنیم تا این مدل از لاگ ها رو ببینیم.از منوهای بالا بخش Alerts رو انتخاب میکنیم و Add new condition رو انتخاب میکنیم:در ادامه Title مناسب برای Alert انتخاب میکنیم و برای بخش Field هم message رو انتخاب میکنیم، این یعنی داخل message ها باید بگرده. میتونه براساس Queries ها پیچیده تر هم باشه.برای بخش Value هم اون لاگ مورد نظر رو وارد میکنیم، توی مثال اول مقاله۷ هر بار کاربر نمیتونست به سرور لاگین کنه این پیام ثبت میشد:pam_unix(sshd:auth): authentication failureدر نهایت به اینصورت میشه:خب بعد از اینکه Save کنیم، گری لاگ شروع میکنه داخل ورودی all messages و در بخش message سرچ کردن و هر موقع با این پیام pam_unix(sshd:auth): authentication failure مواجه بشه آلرت میده:برای تظیمات بیشتر Alert، داخل این لینک بصورت کامل توضیح داده.استراتژی نگهداری و پاک کردن لاگدر واقع این قسمت مهمترین بخش نگهداری لاگ هست.معمولا بیزنس مشخص میکنه چقدر باید لاگ رو نگهداری کنید، بعضی از سرویس ها مجبورند حتی Raw Log رو هم تا یک سال یا بیشتر نگه دارند.بصورت عادی مهمترین لاگ ها مربوط به لاگ های سیستمی هستند که برای Audit استفاده میشند، این لاگ ها رو حداقل ۳ تا ۶ ماه نگهداری کنید. اگر فضای کافی دارید تا یک سال هم ارزش نگهداری داره.ولی در مورد سرویس هایی مثل Nginx یا HAProxy ممکنه لاگ تولید شده خیلی زیاد باشه، نگهداری لاگ خام این سرویس ها معمولا نیاز نمیشه و توصیه میکنم حداکثر ۱ تا ۳ ماه لاگ رو روی سرورها بصورت خام نگهداری کنید.لاگ سرویس ها که بصورت تحلیل شده ذخیره شده اند رو هم میشه ۳ تا ۶ ماه نگهداری کرد، چرا که معمولا مقایسه بین وضعیت ماه های مختلف میتونه به تصمیم گیری ها کمک کنه.اکیدا توصیه میکنم تا مجبور نشدید، لاگ های تحلیل شده رو حذف نکنید.سرویس گری لاگ برای ذخیره لاگ ها از الستیک استفاده میکنه و برای خوندن مدل Index کردن داخل الستیک میتونید این لینک رو بخونید.این که چه میزان لاگ ذخیره کنید رو میتونید تنظیم کنید، همینطور زمانی که هارد الستیک پر میشه میتونید استراتژی تون رو براش تعریف کنید، معمولا قدیمی ترین لاگ ها رو پاک میکنیم.از این لینک میتونید نحوه تنظیمات میزان ذخیره لاگ برروی الستیک رو مشاهده کنید.افزونه هاگری لاگ یک Marketplace هم داره که توش میتونید انواع داشبورد و پلاگین و Extractor و ... رو پیدا کنید.این افزونه ها بهتون کمک میکنه برای تحلیل لاگ ها یا تنظیم Alert ها خیلی تو زحمت نیوفتید.از این آدرس میتونید افزونه های مورد نظرتون رو پیدا کنید.جمع بندیتمام این مطلب فقط برشی از فرآیند جمع آوری و نگهداری لاگ ها بود و برای نمونه هم مثالی از سرویس گری لاگ زده شد. ابزارهای متعددی هستند که میتونید براساس نیازمندی سرویس تون استفاده کنید.دنیای لاگ خیلی وسیع و متنوع هست و میتونه برای هر شرکت و استارت آپ متفاوت باشه.پیشنهاد میکنم از این بخش استفاده کنید تا هم دانش تون رو در این زمینه افزایش بدید و هم از تجربیات بقیه بهره مند بشید.موفق باشیدمسعود یوسف پور</description>
                <category>مسعود یوسف پور</category>
                <author>مسعود یوسف پور</author>
                <pubDate>Tue, 09 Apr 2019 17:19:28 +0430</pubDate>
            </item>
            </channel>
</rss>