اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

مانیتور کردن فعالیت کاربر با استفاده از ابزار psacct یا acct

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    مانیتور کردن فعالیت کاربر با استفاده از ابزار psacct یا acct

    هر 2 ابزار psacct و acct نرم افزارهای opensource برای مانیتور کردن فعالیت کاربران روی سیستم میباشد. این نرم افزارها در بک گراند اجرا میشوند و هر گونه فعالیت کاربر را روی سیستم نگه میدارد و همچنین میزان مصرف resource های سیستم ذخیره میکند.

    من به شخصه در شرکت خود از این برنامه استفاده کردم ما در شرکت تیم برنامه نویسی داریم و هر برنامه نویس مستمرا روی سرورها کار میکند بنابراین این برنامه یکی از بهترین ابزارها برای مانیتور کردن مستمر آنهاست. این برنامه به شیوه ای عالی تمامی فعالیت های کاربران، هرآنچه کامندی که آنها استفاده کرده اند، میزان resource مصرف شده توسط آنها، مدت زمانی که یوزرها روی سیستم active بودند را نمایش میدهد. یکی از ابزارهای بی نظیر این برنامه این است که میزان کل resource مصرف شده توسط سرویس های همچون Apache, MySQL, FTP,SSH و غیره را میدهد.


    به نظر من این برنامه یکی از عالی ترین و مورد نیازترین اپلیکیشن هایست که هر administrator سیستم Linux/Unix احتیاج دارد و میخواهد عمده فعالیت های کاربران روی سرور یا سیستم هایش داشته باشد.

    پکیج psacct یا acct چندین قابلیت برای مانیتورینگ فعالیت ها فراهم میآورد.

    دستور ac :
    آمار login و logout های (conect time) کاربران را به ساعت print میکند.

    دستور lastcomm :
    اطلاعات کامندهای قبلی اجرا شده کاربر را print میکند.

    دستور accton :
    برای خاموش و روشن کردن پروسه اکانتینگ مورد استفاده قرار میگیرد.

    دستور sa :
    اطلاعات کامندهای قبلی اجرا شده را summarize میکند.

    دستور last و lastb :
    لیست آخرین کاربرانی که login کردند را نمایش میدهد.



    نصب پکیج های psacct یا acct :
    پکیج های psacct یا acct پکیج های شبیه به همی هستند و تفاوت زیادی بین آنها نیست فقط پکیج psacct در rpm و برای توزیع هایی مانند RHEL, CentOS و Fedora موجود است در حالی که پکیج acct در توزیع هایی مانند Ubuntu, Debian و Linux Mint موجود میباشد.

    برای نصب پکیج psacct روی توزیع های rpm-base دستور yum زیر را اجرا میکنیم :
    کد:
    # yum install psacct

    برای نصب پکیج acct با استفاده از دستور apt-get تحت سیستم عامل های Ubuntu / Debian / Linux Mint مانند زیر عمل میکنیم :
    کد:
    $ sudo apt-get install acct
    
    OR
    
    # apt-get install acct


    Start کردن سرویس های psacct یا acct :
    به صورت پیش فرض سرویس psacct در disable mode (غیرفعال) میباشد و شما برای start آن باید به صورت دستی آن را روی سیستم های RHEL/CentOS/Fedora استارت (start) کنید. با استفاده از دستور زیر میتوانید وضعیت سرویس را بررسی کنید :
    کد:
    # /etc/init.d/psacct status
    Process accounting is disabled.

    همانطور که میبینید وضعیت را disable (غیرفعال) نشان میدهد پس به صورت دستی و با استفاده از هر 2 کامند زیر باید آن را start کنید. این 2 کامند فایل /var/account/pacct را ایجاد خواهند کرد و همچنین سرویس را start میکند :
    کد:
    # chkconfig psacct on
    # /etc/init.d/psacct start
    Starting process accounting:                               [  OK  ]

    بعد از start سرویس دوباره وضعیت آن را بررسی کنید همانطور که میبینید وضعیت به enabled تغییر کرده است :
    کد:
    # /etc/init.d/psacct status
    Process accounting is enabled.

    تحت سیستم عامل های Ubunt, Debian و Mint این سرویس به صورت اتوماتیک start میشود و شما نیاز به start مجدد آن ندارید.


    نمایش آمار زمان اتصال کاربران به سیستم :
    دستور ac بدون مشخص کردن هیچ گونه آپشن یا عبارتی آمار کل زمان اتصال (Login Time) را به ساعت و براساس login و logout های کاربر از فایل wtmp جاری نمایش میدهد :
    کد:
    # ac
    کد:
    total     1814.03

    نمایش آمار Day-wise کاربران :
    استفاده از دستور ac -d مدت زمان کل login به ساعت را با استفاده از day-wise نمایش میدهد :
    کد:
    # ac -d
    کد:
    Sep 17  total        5.23
    Sep 18  total       15.20
    Sep 24  total        3.21
    Sep 25  total        2.27
    Sep 26  total        2.64
    Sep 27  total        6.19
    Oct  1  total        6.41
    Oct  3  total        2.42
    Oct  4  total        2.52
    Oct  5  total        6.11
    Oct  8  total       12.98
    Oct  9  total       22.65
    Oct 11  total       16.18

    نمایش مدت زمان کل login هر user :
    با استفاده از دستور ac -p مدت زمان کل login هر یوزر را به ساعت نمایش میدهد :
    کد:
    # ac -p
    کد:
            root                              1645.18
            tecmint                            168.96
            total     1814.14

    نمایش مدت زمان کل login به ازای هر کاربر :
    برای مشاهده آمار login کل یوزر tecmint به ساعت دستور زیر را اجرا میکنیم :
    کد:
    # ac tecmint
    کد:
     total      168.96

    نمایش مدت زمان لاگین Day-Wise یک user :
    دستور زیر مدت زمان کل لاگین Day-Wise یوزر tecmint را به ساعت نمایش میدهد :
    کد:
    # ac -d tecmint
    کد:
    Oct 11  total        8.01
    Oct 12  total       24.00
    Oct 15  total       70.50
    Oct 16  total       23.57
    Oct 17  total       24.00
    Oct 18  total       18.70
    Nov 20  total        0.18

    نمایش تمام اطلاعات فعالیت account :
    دستور sa برای print خلاصه کامندهایی که توسط کاربران اجرا شدند استفاده میشود :
    کد:
    # sa
    کد:
           2       9.86re       0.00cp     2466k   sshd*
           8       1.05re       0.00cp     1064k   man
           2      10.08re       0.00cp     2562k   sshd
          12       0.00re       0.00cp     1298k   psacct
           2       0.00re       0.00cp     1575k   troff
          14       0.00re       0.00cp      503k   ac
          10       0.00re       0.00cp     1264k   psacct*
          10       0.00re       0.00cp      466k   consoletype
           9       0.00re       0.00cp      509k   sa
           8       0.02re       0.00cp      769k   udisks-helper-a
           6       0.00re       0.00cp     1057k   touch
           6       0.00re       0.00cp      592k   gzip
           6       0.00re       0.00cp      465k   accton
           4       1.05re       0.00cp     1264k   sh*
           4       0.00re       0.00cp     1264k   nroff*
           2       1.05re       0.00cp     1264k   sh
           2       1.05re       0.00cp     1120k   less
           2       0.00re       0.00cp     1346k   groff
           2       0.00re       0.00cp     1383k   grotty
           2       0.00re       0.00cp     1053k   mktemp
           2       0.00re       0.00cp     1030k   iconv
           2       0.00re       0.00cp     1023k   rm
           2       0.00re       0.00cp     1020k   cat
           2       0.00re       0.00cp     1018k   locale
           2       0.00re       0.00cp      802k   gtbl

    در دستور بالا :

    9.86re :
    یک real time بر مبنای دقایق ساعت دیواری میباشد.

    0.01cp :
    مجموعی از زمان system/user به واحد cpu minutes میباشد.

    2466k :
    میانگین cpu time از میزان استفاده cpu میباشد به طور مثال 1k units

    sshd :
    نام دستور استفاده شده



    Print اطلاعات مجزای هر کاربر :
    برای دریافت اطلاعات مجزای هر کاربر از آپشن -u استفاده میشود :
    کد:
    # sa -u
    کد:
    root       0.00 cpu      465k mem accton
    root       0.00 cpu     1057k mem touch
    root       0.00 cpu     1298k mem psacct
    root       0.00 cpu      466k mem consoletype
    root       0.00 cpu     1264k mem psacct           *
    root       0.00 cpu     1298k mem psacct
    root       0.00 cpu      466k mem consoletype
    root       0.00 cpu     1264k mem psacct           *
    root       0.00 cpu     1298k mem psacct
    root       0.00 cpu      466k mem consoletype
    root       0.00 cpu     1264k mem psacct           *
    root       0.00 cpu      465k mem accton
    root       0.00 cpu     1057k mem touch

    نمایش تعداد Proccess ها :
    این دستور تعداد کل proccess ها و cpu minutes را نمایش میدهد اگر شما افزایش مستمری را در این تعداد مشاهده کردید در این لحظه زمانیست که باید سیستم را برای اتفاقی که در حال رخ دادن است بررسی کنید :
    کد:
    # sa -m
    کد:
    sshd                                    2       9.86re       0.00cp     2466k
    root                                  127      14.29re       0.00cp      909k

    نمایش ترتیب از روی درصد (%) :
    دستور sa -c به ترتیب از کاربران بالاترین درصد را نمایش میدهد :
    کد:
    # sa -c
    کد:
     132  100.00%      24.16re  100.00%       0.01cp  100.00%      923k
           2    1.52%       9.86re   40.83%       0.00cp   53.33%     2466k   sshd*
           8    6.06%       1.05re    4.34%       0.00cp   20.00%     1064k   man
           2    1.52%      10.08re   41.73%       0.00cp   13.33%     2562k   sshd
          12    9.09%       0.00re    0.01%       0.00cp    6.67%     1298k   psacct
           2    1.52%       0.00re    0.00%       0.00cp    6.67%     1575k   troff
          18   13.64%       0.00re    0.00%       0.00cp    0.00%      509k   sa
          14   10.61%       0.00re    0.00%       0.00cp    0.00%      503k   ac
          10    7.58%       0.00re    0.00%       0.00cp    0.00%     1264k   psacct*
          10    7.58%       0.00re    0.00%       0.00cp    0.00%      466k   consoletype
           8    6.06%       0.02re    0.07%       0.00cp    0.00%      769k   udisks-helper-a
           6    4.55%       0.00re    0.00%       0.00cp    0.00%     1057k   touch
           6    4.55%       0.00re    0.00%       0.00cp    0.00%      592k   gzip
           6    4.55%       0.00re    0.00%       0.00cp    0.00%      465k   accton
           4    3.03%       1.05re    4.34%       0.00cp    0.00%     1264k   sh*
           4    3.03%       0.00re    0.00%       0.00cp    0.00%     1264k   nroff*
           2    1.52%       1.05re    4.34%       0.00cp    0.00%     1264k   sh
           2    1.52%       1.05re    4.34%       0.00cp    0.00%     1120k   less
           2    1.52%       0.00re    0.00%       0.00cp    0.00%     1346k   groff
           2    1.52%       0.00re    0.00%       0.00cp    0.00%     1383k   grotty
           2    1.52%       0.00re    0.00%       0.00cp    0.00%     1053k   mktemp

    لیست آخرین دستورات اجرا شده توسط کاربر :
    دستور lastcomm برای جستجو و نمایش اطلاعات کامندهای اجرا شده قبلی کاربر استفاده میشود. شما میتوانید همچنین دستورات هر username مجزا را جستجو کنید. به طور مثال ما دستورات یوزر tecmint را با استفاده از دستور زیر مشاهده میکنیم :
    کد:
    # lastcomm tecmint
    کد:
    su                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    grep                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    grep                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    dircolors               tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    tput                    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    tty                     tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    bash               F    tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    id                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56

    جستجو log ها برای دستورات :
    با کمک دستور lastcomm شما قادر خواهید بود که به صورت مجزا استفاده از هر کامند را ببینید که توسط چه کاربری و در چه زمانی روی داده است :
    کد:
    # lastcomm ls
    کد:
    ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    ls                      tecmint  pts/0      0.00 secs Wed Feb 13 15:56
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 10-30-2015, 11:10 PM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X