Powershell System Monitor – Monitor Disk Space, CPU, and Memory Utilization
Here is a new version of the system monitor, it is much more polished than the last version. It now includes email notifications if the disk space, CPU utilization or memory utilization goes above a point you specify in the configuration file. I personally recommend using this with Windows Scheduler. In the advanced menu, you can specify how often it recurs (in minutes). If any one is interested leave me a comment and I will post Reporting Services report for the different metrics.It is a work in progress, if you want something that will work. It is in the link below. To set it up for your environment, modify the following files with the information you want to use:
- systemmonitor.ps1 (modify the path currently [C:\PS1\SystemMonitor], to the path you are storing all of the scripts)
To run the script in Powershell, navigate to where the scripts are stored and run .\systemmonitor.ps1 with any combination of the following arguments: disk, cpu, memory, email, post
Note: the post argument will only work if you have successfully setup the System Monitor database using the systemmonitordbscript.sql that has been configured for your environment.
Read the end user license agreement prior to using these scripts.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1/27/2012 Update: I recently fixed the error [Cannot convert value "" to type "System.Boolean", parameters of this type only accept booleans or numbers, use $true, $false, 1 or 0 in stead.. Please check back soon as I will be cleaning up the two "errors"]. The revised code is now the current link.
7/11/2012 Update: I added a new feature to notify you if service(s) stops. It will also attempt to restart the service if you choose within the configuration file. Currently it does not post to the database as I do not see much need for it but let me know what you think.
1/30/2012 Update: The zip now includes a SSRS report for disk space.
If you would like to contribute let me know and I would be happy to give you credit and collaborate with you. Just post a comment and I will get back to you.