উইন্ডোজ সার্ভার 2008 এ লো ডিস্ক স্পেস সতর্কতা সেট করা


29

আমি ভাবছিলাম যে উইন্ডোজ সার্ভার ২০০৮ এ কোনও ইমেল সতর্কতা ট্রিগার করার কোনও সহজ উপায় আছে যখন কোনও লজিকাল ডিস্কের পার্টিশন স্থান কম হয়ে যায়। আমার কাছে 2 টি এসকিউএল সার্ভার রয়েছে যেগুলি ডিবি লগ ফাইলের কারণে ডিস্কের স্পেস ছাড়িয়ে যায়।

ধন্যবাদ, রায়ান


1
আপনার যদি কোনও উল্লেখযোগ্য সময়ের জন্য পুরো লগগুলি চারপাশে রাখার প্রয়োজন না হয় তবে সবচেয়ে বড় লগ সহ ডাটাবেসগুলিকে 'সিম্পল' ব্যাকআপ মোডে সেট করুন এবং সম্পূর্ণ ব্যাকআপ হয়ে যাওয়ার সাথে সাথে আপনার রক্ষণাবেক্ষণের পরিকল্পনাটি কেটে ফেলুন। এটি অবশ্যই আপনার প্রশ্নের উত্তর দেয় না, তবে আপনার পরিস্থিতি যদি এটির অনুমতি দেয় তবে ড্রাইভটিকে প্রথম স্থানে পূর্ণ হতে বাধা রাখতে সহায়তা করতে পারে।
জাস্টিন স্কট

তথ্যের জন্য ধন্যবাদ। এসকিউএল লগ ফাইলগুলি ছাঁটাই করতে এবং এগুলি আরও বড় হওয়া থেকে রক্ষা করতে আমি অতিরিক্ত ব্যাকআপ জব বাস্তবায়িত করেছি। তবে আমি ঠিক কিছু ক্ষেত্রে সতর্কতা কিছু জায়গায় রাখতে চাই। ধন্যবাদ।
rmwetmore

আমরা সমস্ত ক্লায়েন্ট এবং সার্ভারে কম ডিস্কের স্থান সম্পর্কে আমাদের সতর্ক করতে স্পাইস ওয়ার্কস ব্যবহার করি।

উত্তর:


37

লো ডিস্ক স্পেস ই-মেল সতর্কতা প্রেরণের জন্য উইন্ডোজ সার্ভার ২০০৮ পাওয়ার একটি সহজ উপায় হ'ল টাস্ক শিডিয়ুলার এবং সিস্টেম লগ। মুক্ত স্থান শতাংশ HKLM \ সিস্টেম \ CurrentControlSet \ সার্ভিস \ LanmanServer \ পরামিতি \ উল্লেখিত নীচে পড়ে তাহলে DiskSpaceThreshold একটি ঘটনা সিস্টেম লগ লিপিবদ্ধ করা হয় যে একটি ই-মেইল বার্তা পাঠানোর জন্য একটি টাস্ক আরম্ভ করতে পারবেন।

  1. টাস্ক শিডিয়ুলার খুলুন এবং একটি নতুন টাস্ক তৈরি করুন।
  2. কার্যটির জন্য একটি নাম প্রবেশ করান, "ব্যবহারকারী লগ-ইন আছে কিনা তা পরিচালনা করুন" নির্বাচন করুন এবং "পাসওয়ার্ড সংরক্ষণ করবেন না" পরীক্ষা করুন।
  3. ট্রিগার ট্যাবে একটি নতুন ট্রিগার যুক্ত করুন।
  4. "টাস্কটি শুরু করুন" বাক্সে "একটি ইভেন্টে" নির্বাচন করুন।
  5. "সিস্টেম" এ লগ, "এসআরভি" এর উত্স এবং ইভেন্ট আইডি "2013" তে সেট করুন।
  6. ক্রিয়া ট্যাবে একটি নতুন ক্রিয়া যুক্ত করুন।
  7. "একটি ইমেল প্রেরণ করুন" এ অ্যাকশন সেট করুন এবং বাকি সেটিংস যথাযথভাবে পূরণ করুন।
  8. লো ডিস্ক স্পেস ইভেন্টটি যখন সিস্টেম লগ-এ রেকর্ড করা হয় তখন কনফিগার করতে, রেজিস্ট্রি সম্পাদকটি খুলুন, এইচকেএলএম Y সিস্টেম \ কারেন্ট কন্ট্রোলসেট \ পরিষেবাদিগুলি \ ল্যানম্যান সার্ভার \ পরামিতিগুলিতে নেভিগেট করুন এবং "ডিস্কস্পেসট্রেসহোল্ড" নামক একটি ডিডাবর্ড মান যুক্ত করুন, এটি পছন্দসই শতাংশে সেট করে। এন্ট্রি উপস্থিত না থাকলে ডিফল্ট মান 10 হয়।

6
এটি কি কেবলমাত্র ড্রাইভ (সাধারণত সি ড্রাইভ) এর জন্য ট্রিগার করে? আমার যদি ২-৩ জন ড্রাইভার থাকে এবং আমি তাদের প্রত্যেকের জন্য সতর্কতা সেটআপ করতে চাই।
বেদ

ইভেন্ট 2013 নির্ধারিত প্রান্তিকের নীচে যে কোনও পার্টিশনের জন্য লগ হয়েছে - নোট করুন যে এটি কেবলমাত্র পার্টিশন অনুযায়ী একবারে লগ হয়, যদি না ডিস্কের স্থানটি প্রান্তিকের উপরে ফিরে না যায় বা সার্ভারটি পুনরায় বুট না করা হয়। সমর্থন.
microsoft.com/kb/112509

2
উইন্ডোজ সার্ভারের নতুন সংস্করণগুলিতে, "একটি ইমেল প্রেরণ করুন" ক্রিয়াটি অবচয় করা হয়েছে। পরিবর্তে, আপনি "একটি প্রোগ্রাম শুরু করুন" ক্রিয়াটি ব্যবহার করতে পারেন, প্রোগ্রামের powershellজন্য এবং নিম্নলিখিত যুক্তিগুলি পূরণ করুন:-command &{send-mailmessage -from server@domain.org -to notify@domain.com -subject 'Alert from Task Scheduler' -body 'This is an automated message from a task scheduled on the server. Testing powershell email.' -smtpserver x.x.x.x}
বাওদাদ

1

আমি আমার (পৃথক) নাগিও উদাহরণগুলিতে স্ন্য্যাম্পের মাধ্যমে ডিস্ক স্পেস মনিটরিং যুক্ত করেছি।


আমাদের সাধারণ মনিটরিং প্যাকেজের অংশ হিসাবে আমাদের ডিস্ক মনিটরিং রয়েছে, যদিও আমরা আইপিমনিটর ব্যবহার করি যা প্রতি কয়েক মিনিটের মধ্যে ডিস্কগুলি পরীক্ষা করে।
জাস্টিন স্কট

এই মুহূর্তে আমি একটি পৃথক মনিটরিং সিস্টেমের (আইপিমনির মতো) সন্ধান করছি, তবে এর মধ্যে আমাকে সতর্ক করতে আমি সার্ভারগুলিতে কিছু স্থাপন করতে চাই। ধন্যবাদ।
rmwetmore

1

আপনি প্রতিদিন একটি শিডিয়ুল টাস্ক হিসাবে পাওয়ারশেল স্ক্রিপ্টটি চালাচ্ছেন না কেন? স্ক্রিপ্টে যদি ডিস্কের ফাঁকা জায়গাটি 10% এর চেয়ে কম হয় তবে এটি আপনাকে একটি ইমেল বা বিজ্ঞপ্তি প্রেরণ করবে।

ডিস্কগুলির ফাঁকা স্থান চেক করার জন্য এখানে উদাহরণ কোড রয়েছে:

আইচ-অবজেক্টের জন্য সামগ্রী পান {$ ; Get-WMIObject Ocomputername $ Win32_LogicalDisk -filter "ড্রাইভটাইপ = 3" | ফরইচ-অবজেক্ট $ $। ডিভাইসআইডি; $ .ফ্রিস্পেস / 1 জিবি}


1
এই স্ক্রিপ্টটি কাজ করে না। আমি ত্রুটি বার্তাটি পেয়েছি যে কোনও অবস্থানের প্যারামিটার সেট করা নেই।
রাফেল লুথিগার

1

উভয় উদাহরণ ভুল পাওয়ারশেল সিনট্যাক্সের কারণে কাজ করে না। নিম্নলিখিত কোডটি বর্তমান হোস্টের ভলিউম মাপগুলি তালিকাভুক্ত করে (পাওয়ারশেল 5.0 ব্যবহার করে):

Get-WmiObject win32_logicalDisk -filter "DriveType=3" | %{ $_.DeviceID; $_.FreeSpace/1GB }

নিম্নলিখিত কোডটি সার্ভার.টেক্সটে তালিকাভুক্ত হোস্টের ভলিউম আকারকে তালিকাবদ্ধ করে :

Get-Content server.txt | %{ Get-WMIObject –computername $_ Win32_LogicalDisk -filter "DriveType=3" | %{ $_.DeviceID; $_.FreeSpace/1GB } }

সাইড নোট

নোট করুন যে বাইরের স্থান ধারক $_সার্ভারের ঠিকানাগুলি গণনা করেন তবে অভ্যন্তরীণ স্থানধারক $_ডিভাইসগুলি গণনা করে। পাওয়ারশেল নবাবিদের জন্য এটি প্রায়শই গোচা। আপনি যদি অভ্যন্তরীণ লুপে সার্ভারের ঠিকানাটি ব্যবহার করতে চান তবে আপনাকে এটি বাইরের লুপের একটি নতুন ভেরিয়েবলের জন্য নির্ধারণ করতে হবে।

এখানে ব্যবহৃত ফোরামের সফ্টওয়্যারটি ত্রুটিযুক্ত। পোস্ট পূর্বরূপগুলিতে, এটি কোড হিসাবে পালিয়ে না গেলেও এটি $_সঠিকভাবে প্রদর্শিত হয় $_। তবে চূড়ান্ত পোস্টটি আন্ডারস্কোরটিকে সরিয়ে দেয়, ফলে পাওয়ারশেলের উদাহরণগুলি ভুল হয়ে যায়।


আমি প্রথম কমান্ডটি ব্যবহার করে ড্রাইভের স্থানটি দেখতে পাচ্ছি: Get-WmiObject win32_logicalDisk -filter "DriveType=3" | %{ $_.DeviceID; $_.FreeSpace/1GB }তবে পিএস নবাগত হয়ে, এটি স্বয়ংক্রিয় করার জন্য পরবর্তী পদক্ষেপটি কী হবে তা আমি পুরোপুরি বুঝতে পারি না (উদাহরণস্বরূপ, প্রথম কমান্ড থেকে কীভাবে আউটপুট নেওয়া হবে এবং যদি ড্রাইভটি কিছু স্পেসের দোরগোচের নীচে ছিল, প্রেরণ এবং ইমেল প্রেরণের জন্য পিএস কমান্ডটি ওয়্যার আপ করল I আমি দেখতে পাচ্ছি যে উপরে ইমেলটি বোডাডের মাধ্যমে একটি পোস্ট থেকে প্রেরণ করা যেতে পারে -command &{send-mailmessage ...তবে নিশ্চিত যে আপনার যুক্তি দিয়ে কীভাবে তারের করা যায় যে স্থানটি কম মেইল ​​প্রেরণ করা প্রয়োজন তা নির্দেশ করে ure । থেক্স।
জেফ মার্লেগার

0

আপনি নিজের ইমেল সার্ভারটি ব্যবহার করে কোনও ইমেল প্রেরণ করতে এই স্ক্রিপ্টটি ব্যবহার করতে পারেন। আপনার সার্ভারের সাথে কেবল এসএমটিপি সার্ভারের নামটি প্রতিস্থাপন করুন। যদি একই মেশিনে থাকে তবে "লোকালহোস্ট" ব্যবহার করুন (এসএমটিপি সার্ভার অবশ্যই কার্যকর হবে)। স্ক্রিপ্টটি এখানেও পাওয়া যায়: https://gallery.technet.microsoft.com/scriptcenter/Disk-Space-Report-Reports-98e64d65

স্ক্রিপ্টটি স্থানীয় ড্রাইভে সংরক্ষণ করার পরে এটি পাওয়ারশেল এবং পরীক্ষা করে সহজেই চালানো যেতে পারে। স্ক্রিপ্টটি একবারে ঠিকঠাকভাবে কাজ করে বলে মনে হচ্ছে, তারপরে এটি উইন্ডো টাস্ক শিডিয়ুলার ব্যবহার করে প্রয়োজনের ভিত্তিতে প্রতিদিন বা প্রতি ঘন্টা চালানোর জন্য নির্ধারিত হতে পারে। এই নিবন্ধটি কীভাবে টাস্ক শিডিয়ুলার ব্যবহার করে স্ক্রিপ্ট চালাবেন তা ব্যাখ্যা করে। https://www.metalogix.com/help/Content%20Matrix%20Console/SharePoint%20Edition/002_HowTo/004_SharePointActions/012_SchedulingPowerShell.htm

############################################################################# 
#                                                                                                                                                     # 
#  Check disk space and send an HTML report as the body of an email.                                                   # 
#  Reports only disks on computers that have low disk space.                                                                 # 
#  Author: Mike Carmody                                                                                                                   # 
#  Some ideas extracted from Thiyagu's Exchange DiskspaceHTMLReport module.                                  # 
#  Date: 8/10/2011                                                          # 
#  I have not added any error checking into this script yet.                # 
#                                                                           # 
#                                                                           # 
############################################################################# 
# Continue even if there are errors 
$ErrorActionPreference = "Continue"; 

######################################################################################### 
# Items to change to make it work for you. 
# 
# EMAIL PROPERTIES 
#  - the $users that this report will be sent to. 
#  - near the end of the script the smtpserver, From and Subject. 

# REPORT PROPERTIES 
#  - you can edit the report path and report name of the html file that is the report.  
######################################################################################### 

# Set your warning and critical thresholds 
$percentWarning = 15; 
$percentCritcal = 10; 

# EMAIL PROPERTIES 
 # Set the recipients of the report. 
  $users = "YourDistrolist@company.com" 
    #$users = "You@company.com" # I use this for testing by uing my email address. 
  #$users = "you@company.com", "manager@company.com", "etc@company.com";  # can be sent to individuals. 


# REPORT PROPERTIES 
 # Path to the report 
  $reportPath = "D:\Jobs\DiskSpaceQuery\Reports\"; 

 # Report name 
  $reportName = "DiskSpaceRpt_$(get-date -format ddMMyyyy).html"; 

# Path and Report name together 
$diskReport = $reportPath + $reportName 

#Set colors for table cell backgrounds 
$redColor = "#FF0000" 
$orangeColor = "#FBB917" 
$whiteColor = "#FFFFFF" 

# Count if any computers have low disk space.  Do not send report if less than 1. 
$i = 0; 

# Get computer list to check disk space 
$computers = Get-Content "servers_c.txt"; 
$datetime = Get-Date -Format "MM-dd-yyyy_HHmmss"; 

# Remove the report if it has already been run today so it does not append to the existing report 
If (Test-Path $diskReport) 
    { 
        Remove-Item $diskReport 
    } 

# Cleanup old files.. 
$Daysback = "-7" 
$CurrentDate = Get-Date; 
$DateToDelete = $CurrentDate.AddDays($Daysback); 
Get-ChildItem $reportPath | Where-Object { $_.LastWriteTime -lt $DatetoDelete } | Remove-Item; 

# Create and write HTML Header of report 
$titleDate = get-date -uformat "%m-%d-%Y - %A" 
$header = " 
  <html> 
  <head> 
  <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> 
  <title>DiskSpace Report</title> 
  <STYLE TYPE='text/css'> 
  <!-- 
  td { 
   font-family: Tahoma; 
   font-size: 11px; 
   border-top: 1px solid #999999; 
   border-right: 1px solid #999999; 
   border-bottom: 1px solid #999999; 
   border-left: 1px solid #999999; 
   padding-top: 0px; 
   padding-right: 0px; 
   padding-bottom: 0px; 
   padding-left: 0px; 
  } 
  body { 
   margin-left: 5px; 
   margin-top: 5px; 
   margin-right: 0px; 
   margin-bottom: 10px; 
   table { 
   border: thin solid #000000; 
  } 
  --> 
  </style> 
  </head> 
  <body> 
  <table width='100%'> 
  <tr bgcolor='#CCCCCC'> 
  <td colspan='7' height='25' align='center'> 
  <font face='tahoma' color='#003399' size='4'><strong>AEM Environment DiskSpace Report for $titledate</strong></font> 
  </td> 
  </tr> 
  </table> 
" 
 Add-Content $diskReport $header 

# Create and write Table header for report 
 $tableHeader = " 
 <table width='100%'><tbody> 
 <tr bgcolor=#CCCCCC> 
    <td width='10%' align='center'>Server</td> 
 <td width='5%' align='center'>Drive</td> 
 <td width='15%' align='center'>Drive Label</td> 
 <td width='10%' align='center'>Total Capacity(GB)</td> 
 <td width='10%' align='center'>Used Capacity(GB)</td> 
 <td width='10%' align='center'>Free Space(GB)</td> 
 <td width='5%' align='center'>Freespace %</td> 
 </tr> 
" 
Add-Content $diskReport $tableHeader 

# Start processing disk space reports against a list of servers 
  foreach($computer in $computers) 
 {  
 $disks = Get-WmiObject -ComputerName $computer -Class Win32_LogicalDisk -Filter "DriveType = 3" 
 $computer = $computer.toupper() 
  foreach($disk in $disks) 
 {         
  $deviceID = $disk.DeviceID; 
        $volName = $disk.VolumeName; 
  [float]$size = $disk.Size; 
  [float]$freespace = $disk.FreeSpace;  
  $percentFree = [Math]::Round(($freespace / $size) * 100, 2); 
  $sizeGB = [Math]::Round($size / 1073741824, 2); 
  $freeSpaceGB = [Math]::Round($freespace / 1073741824, 2); 
        $usedSpaceGB = $sizeGB - $freeSpaceGB; 
        $color = $whiteColor; 

# Set background color to Orange if just a warning 
 if($percentFree -lt $percentWarning)       
  { 
    $color = $orangeColor  

# Set background color to Orange if space is Critical 
      if($percentFree -lt $percentCritcal) 
        { 
        $color = $redColor 
       }         

 # Create table data rows  
    $dataRow = " 
  <tr> 
        <td width='10%'>$computer</td> 
  <td width='5%' align='center'>$deviceID</td> 
  <td width='15%' >$volName</td> 
  <td width='10%' align='center'>$sizeGB</td> 
  <td width='10%' align='center'>$usedSpaceGB</td> 
  <td width='10%' align='center'>$freeSpaceGB</td> 
  <td width='5%' bgcolor=`'$color`' align='center'>$percentFree</td> 
  </tr> 
" 
Add-Content $diskReport $dataRow; 
Write-Host -ForegroundColor DarkYellow "$computer $deviceID percentage free space = $percentFree"; 
    $i++   
  } 
 } 
} 

# Create table at end of report showing legend of colors for the critical and warning 
 $tableDescription = " 
 </table><br><table width='20%'> 
 <tr bgcolor='White'> 
    <td width='10%' align='center' bgcolor='#FBB917'>Warning less than 15% free space</td> 
 <td width='10%' align='center' bgcolor='#FF0000'>Critical less than 10% free space</td> 
 </tr> 
" 
  Add-Content $diskReport $tableDescription 
 Add-Content $diskReport "</body></html>" 

# Send Notification if alert $i is greater then 0 
if ($i -gt 0) 
{ 
    foreach ($user in $users) 
{ 
        Write-Host "Sending Email notification to $user" 

  $smtpServer = "MySMTPServer" 
  $smtp = New-Object Net.Mail.SmtpClient($smtpServer) 
  $msg = New-Object Net.Mail.MailMessage 
  $msg.To.Add($user) 
        $msg.From = "myself@company.com" 
  $msg.Subject = "Environment DiskSpace Report for $titledate" 
        $msg.IsBodyHTML = $true 
        $msg.Body = get-content $diskReport 
  $smtp.Send($msg) 
        $body = "" 
    } 
  } 

-1

আমি স্ক্রিপ্ট ঠিক করেছি। সার্ভার.টেক্সট উদাহরণস্বরূপ একটি পাঠ্য ফাইল তৈরি করুন এবং আইপি ঠিকানা বা সার্ভারনেমস অন্তর্ভুক্ত করুন এবং তারপরে আপনি নিম্নলিখিত স্ক্রিপ্টটি কার্যকর করতে পারেন

গেট-কনটেন্ট সার্ভার.টেক্সট | foreach-object {get-WmiObject -ComputerName 192.168.22.208 win32_logicalDisk -filter "ড্রাইভটাইপ = 3" | ফরইচ-অবজেক্ট { ;। ডিভাইসআইডি; $ .ফ্রিস্পেস / 1 জিবি}

শুভেচ্ছা, লুইস।


এটি সত্যিকারের মূল পোস্টিংয়ের উত্তর নয়, তবে একটি উত্তরের সংশোধন। অতিরিক্তভাবে আপনি সার্ভার.টেক্সট ফাইল থেকে প্রাপ্ত মানের পরিবর্তে কোডে একটি নির্দিষ্ট আইপি ঠিকানা ব্যবহার করছেন।
জন ওরফে হট 2 ইউজ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.