Skip to main content

Script To Monitor disk Usage


Hello All,

Many times we have a requirement to automate few of the tasks, and one of the important task is to delete old log files from log destination.

We usually get the conditions where we have to delete the log from particular directory when it reaches to some thresh hold value.

Now a day the requirement of automation is highly increased where we are seeing most of the day to day tasks are getting automated using different scripting languages.

Its always a good idea to automate your daily tasks which will save your working hours and will increase your productivity.

Most of the time log destination gets full and due to which we face other issues like application down or particular service stop working.

And manual deleting of log is hectic process so below script will help you to delete your log data when it meets your condition, and also it will trigger mail to recipient after deletion of logs.

You can schedule this script in your crontab according to your feasible time to run it.

Below script will help you in getting disk usage alert. it will also delete the particular directory log on given condition. 


#!/bin/bash

# Author: Azam Khan

# Description:This script is used to delete audit logs files in /var/log/audit/

#

# Get Script's path

SDIR="$(cd $(dirname $0) && pwd)"

# Get Script's name

SNAME="$(basename $0)"

# Includes

. "$SDIR/$SNAME.props"

# Get Date

DATE=`date "+%Y-%m-%d"`

# Get Hostname

host=`hostname`

 

# Get the Capacity of /var/log/audit/

Capacity=`df -P /var/log/audit/ | awk '{ gsub("%",""); capacity = $5 }; END { print capacity }'`

echo "capacity:" $Capacity


if [ $Capacity -gt 3 ]

then

rm -rf /var/log/audit/audit.log.*

touch file.txt

df -h|grep -i /dev/mapper/rootvg-varlv  > /user/home/raw_disk_usage.xls

#Filter the data and arrange in order

#cat /user/home/raw_disk_usage.txt | tr -s "\n" ":" | sed 's/hcegchdp/"hcegchdp/g' | tr -s '"' '\n'  | sort -k 1 | column -t   | sort  -k 5 | awk 'NF{NF-=1};1' | sed -e "s/://g" | grep -v " Minion did not return. " > /root/scripts/Final_disk_usage.txt

awk ' BEGIN {

#FS =","

print "MIME-Version: 1.0"

print "Content-Type: text/html"

#print "Subject: Notification OS Disk Usgae "

#print "From: Development_OSDiskUsage@xyz.com"

#print "To: xyz@abc.com"

print "<HTML><BODY><H4>Hi Team,<BR/><SPAN style='color:red'>The OS disk usage after successfull deletion of /var/log/audit/ files, below are the details.</SPAN></H4><TABLE border=1 cellspacing=0 cellpadding=3 bgcolor='#6d8dc2'>"

print "<TR>"

print "<TH>Hostname</TH>";

print "<TH>File system</TH>";

print "<TH>Configured_Capacity(GB)</TH>";

print "<TH>Capacity_Used(GB)</TH>";

print "<TH>Capacity_Available(%)</TH>";

print "<TH>Used(%)</TD>";

print "</TR>"

}

{

print "<TR>"

print "<TD bgcolor='#ffffff'>"$host"</TD>";

print "<TD bgcolor='#ffffff'>""/var/log/audit/""</TD>";

print "<TD bgcolor='#ffffff'>"150"</TD>";

print "<TD bgcolor='#ffffff'>""a""</TD>";

print "<TD bgcolor='#ffffff'>""b""</TD>";

print "<TD bgcolor='#ffffff'>""c""</TD>";

print "</TR>"

}

END {

print "</TABLE><BR/><H4>Regards,<BR/>Your team name.</H4></BODY></HTML>"

} '  file.txt > /user/home/file.html 

#|  /usr/sbin/sendmail abc@xyz.com

mailx -v -r $From -s "Development | EU Region | OS Disk Usgae | IP | VM Name" -S smtp="smtp-secure..com:25" $Dlist < /user/home/file.html

fi

exit 0


Please let me know if you face any issue while adding node. I will try my best to help you.

Thank you !!! 

 


 

Other Topic: Top Linux Commands | How to create a Azure VM using Snapshot | Git Commands | Install Kubernetes on Ubuntu

 

         

 

Thank you !! Example HTML page Pleaes provide your valuable feedback.

Comments

Post a Comment

Popular posts from this blog

Azure Active Directory

  What is Azure Active Directory? Azure Active Directory is Microsoft’s multi-tenant, cloud-based directory and identity management service. For an organization, Azure AD helps employees sign up to multiple services and access them anywhere over the cloud with a single set of login credentials. Azure Active Directory Concept: It is important to understand these Azure AD concepts. Identity . An object that can get authenticated. An identity can be a user with a username and password. Account . An identity that has data associated with it. You can't have an account without an identity. Azure subscription . Used to pay for Azure cloud services. You can have many subscriptions and they're linked to a credit card. Azure tenant/directory . A dedicated and trusted instance of Azure AD, a Tenant is automatically created when your organization signs up for a Microsoft cloud service subscription. More instances of Azure AD can be created. Azure AD is the underlying product ...

Install Kubernetes on Ubuntu

    Introduction Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. in this post we will  install Kubernetes on Ubuntu 18.04 . Prerequisites ·          2 or more Linux servers running Ubuntu 18.04 ·          sudo or root access ·          Command-line/terminal window (Ctrl–Alt–T) Steps to Install Kubernetes on Ubuntu Set up Docker Step 1: Install Docker Kubernetes requires Docker to run its container.  follow below steps to install docker before we starts kubernetes. If you already have docker installed on your machines then skip this part and start from step2 1. Update the package with below command: sudo apt-get update 2. Install Docker sudo apt-get install docker.io 3. if you have more than two nodes then install it on all the nodes w...

Connect SparkThriftServer with Tableau/PowerBI

  Connect SparkThriftServer with Tableau/PowerBI REFERENCE : https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-apache-spark-use-bi-tools Use Power BI for Spark data visualization Note This section is applicable only for Spark 1.6 on HDInsight 3.4 and Spark 2.0 on HDInsight 3.5.   Once you have saved the data as a table, you can use Power BI to connect to the data and visualize it to create reports, dashboards, etc.   1.       Make sure you have access to Power BI. You can get a free preview subscription of Power BI from http://www.powerbi.com/ . 2.       Sign in to Power BI . 3.       From the bottom of the left pane, click Get Data . 4.       On the Get Data page, under Import or Connect to Data , for Databases , click Get . 5.       On the next screen, click Spark on Azure HDInsight and then click Connect . When prompted, enter th...

Ranger KMS Encryption

 Ranger KMS Encryption Range KMS is used to encrypt the HDFS (data at rest). This is very important for your cluster and customer to encrypt your data. It gives more security to your data. Ranger provides centralized administration of the key management server through the Ranger admin portal. There are 3 main functions provided by Ranger KMS. 1.     Key Management: It provided you facility to create/update/delete keys using UI interface. Using keyadmin username and password. 2.      Access Control Policies: through this you can manage the permission of your keys. 3.     Audit: this helps you to track the activities on your Ranger KMS. Ranger KMS with hdfs encryption is recommended to use in all env. To secure the key storage using database. KMS is also scalable and you can use multiple versions of KMS behind the load balancer. This blog page depicts the Process of Creating the Encryption Zone. Process: Step 1 : Cre...