Saturday, March 16, 2024

.::: Script to check cpu & memory usage service in linux include custome service, mariadb, mysql, mongodb :::.

 
1. check custome cpu usage and memory usage


[root@teguhth special]# cat custom_service.sh

#!/bin/bash

echo "run custom_service.sh <name_service>"
PIDX=${1}
# Mendapatkan PID dari proses mariadbd
MARIADB_PID=$(pgrep $PIDX)

# Mendapatkan informasi tentang proses mariadbd dari top
TOP_INFO=$(top -n 1 -b -p "$MARIADB_PID" | tail -n +8 | head -n 1)
Mem_Total_mb=$(free -m | awk 'NR==2{printf "%.f", $2 }')
Mem_Total_gb=$(free -m | awk 'NR==2{printf "%.2f", $2/1024 }')

# Mengekstrak nilai CPU dan penggunaan memori dari output top
CPU_USAGE=$(echo "$TOP_INFO" | awk '{print $9}')
MEMORY_USAGE=$(echo "$TOP_INFO" | awk '{print $10}')
MEMORY_B=$(echo "$TOP_INFO" | awk '{print $6 }')

echo "CPU Usage(%) $PIDX   : ${CPU_USAGE}%"
echo "Memory Usage(%) $PIDX: ${MEMORY_USAGE}%"
echo "Memory Usage $PIDX   : ${MEMORY_B}"
echo "Memory Total Server   : $Mem_Total_mb MB or $Mem_Total_gb GB"

[root@teguhth special]#


2. run custom_service.sh

sh custom_service.sh mariadb
sh custom_service.sh mongod
 

3. check cpu usage mariadb mysql

[root@teguhth special]# cat maria_usage.sh

#!/bin/bash

# Mendapatkan PID dari proses mariadbd
MARIADB_PID=$(pgrep 'mariadbd|mysqld|mysql|mysqld')

# Mendapatkan informasi tentang proses mariadbd dari top
TOP_INFO=$(top -n 1 -b -p "$MARIADB_PID" | tail -n +8 | head -n 1)
Mem_Total_mb=$(free -m | awk 'NR==2{printf "%.f", $2 }')
Mem_Total_gb=$(free -m | awk 'NR==2{printf "%.2f", $2/1024 }')

# Mengekstrak nilai CPU dan penggunaan memori dari output top
CPU_USAGE=$(echo "$TOP_INFO" | awk '{print $9}')
MEMORY_USAGE=$(echo "$TOP_INFO" | awk '{print $10}')
MEMORY_B=$(echo "$TOP_INFO" | awk '{print $6 }')

echo "CPU Usage(%) MariaDB/MySQL   : ${CPU_USAGE}%"
echo "Memory Usage(%) MariaDB/MySQL: ${MEMORY_USAGE}%"
echo "Memory Usage MariaDB/MySQL   : ${MEMORY_B}"
echo "Memory Total Server          : $Mem_Total_mb MB or $Mem_Total_gb GB"
[root@teguhth special]#

 

4. check cpu usage mongodb

[root@teguhth special]# cat mongo_usage.sh

#!/bin/bash

# Mendapatkan PID dari proses mariadbd
MARIADB_PID=$(pgrep 'mongo|mongod')

# Mendapatkan informasi tentang proses mariadbd dari top
TOP_INFO=$(top -n 1 -b -p "$MARIADB_PID" | tail -n +8 | head -n 1)
Mem_Total_mb=$(free -m | awk 'NR==2{printf "%.f", $2 }')
Mem_Total_gb=$(free -m | awk 'NR==2{printf "%.2f", $2/1024 }')

# Mengekstrak nilai CPU dan penggunaan memori dari output top
CPU_USAGE=$(echo "$TOP_INFO" | awk '{print $9}')
MEMORY_USAGE=$(echo "$TOP_INFO" | awk '{print $10}')
MEMORY_B=$(echo "$TOP_INFO" | awk '{print $6 }')

echo "CPU Usage(%) MongoDB   : ${CPU_USAGE}%"
echo "Memory Usage(%) MongoDB: ${MEMORY_USAGE}%"
echo "Memory Usage MongoDB   : ${MEMORY_B}"
echo "Memory Total Server    : $Mem_Total_mb MB or $Mem_Total_gb GB"
[root@teguhth special]#
 

5. Final special for maria
 
[root@teguhth-all cekmem]# sh maria_usage.sh
Memory Usage(%) MariaDB/MySQL: 25.22%
Memory Usage MariaDB/MySQL   : 343 MB
Memory Total Server          : 1360 MB or 1.33 GB
[root@teguhth-all cekmem]#

[root@teguhth-all cekmem]# cat maria_usage.sh
#!/bin/bash

# Ambil PID MariaDB (lebih aman)
MARIADB_PID=$(pgrep -o mariadbd || pgrep -o mysqld)

if [ -z "$MARIADB_PID" ]; then
  echo "MariaDB tidak ditemukan!"
  exit 1
fi

# Total memory server
Mem_Total_mb=$(free -m | awk 'NR==2{print $2}')
Mem_Total_gb=$(free -m | awk 'NR==2{printf "%.2f", $2/1024 }')

# Ambil memory MariaDB dalam MB (dibulatkan)
MEMORY_MB=$(ps -C mariadbd -o rss= | awk '{sum+=$1} END {printf "%.0f", sum/1024}')

# Hitung persentase memory
MEMORY_USAGE=$(awk -v used="$MEMORY_MB" -v total="$Mem_Total_mb" 'BEGIN {printf "%.2f", (used/total)*100}')

# Ambil CPU dari top (optional)
CPU_USAGE=$(top -b -n 1 -p "$MARIADB_PID" | grep "$MARIADB_PID" | awk '{print $9}')

# Output
echo "Memory Usage(%) MariaDB/MySQL: ${MEMORY_USAGE}%"
echo "Memory Usage MariaDB/MySQL   : ${MEMORY_MB} MB"
echo "Memory Total Server          : ${Mem_Total_mb} MB or ${Mem_Total_gb} GB"
[root@teguhth-all cekmem]#
  
 
[root@teguhth-all cekmem]# pwd
/data/cekmem
[root@teguhth-all cekmem]# cat maria_usage.sh
#!/bin/bash
# server
ipx=$(hostname -I | awk '{print $1}' | sed "s/ //g")
hostnamex=$(hostname)
echo ""
echo ".::: Result checking on server with hostname << ${hostnamex} >> & << ${ipx} >> :::."
echo ""
# Ambil PID MariaDB (lebih aman)
MARIADB_PID=$(pgrep -o mariadbd || pgrep -o mysqld)

if [ -z "$MARIADB_PID" ]; then
  echo "MariaDB tidak ditemukan!"
  echo ""
 exit 1
fi
# Total memory server for maria
Mem_mTotal_mb=$(free -m | awk 'NR==2{print $2}')
Mem_mTotal_gb=$(free -m | awk 'NR==2{printf "%.2f", $2/1024 }')

# Ambil memory MariaDB dalam MB (dibulatkan) maria
MEMORY_MARIA_MB=$(ps -C mariadbd -o rss= | awk '{sum+=$1} END {printf "%.0f", sum/1024}')

# Hitung persentase memory for maria
MEMORY_MARIA_USAGE=$(awk -v used="$MEMORY_MARIA_MB" -v total="$Mem_mTotal_mb" 'BEGIN {printf "%.2f", (used/total)*100}')

# Output maria
echo "IP Server             : ${ipx}"
echo "Hostname              : ${hostnamex}"
echo "Memory Usage(%) Maria : ${MEMORY_MARIA_USAGE}%"
echo "Memory Usage MariaB   : ${MEMORY_MARIA_MB} MB"
echo "Memory Total Server   : ${Mem_mTotal_mb} MB or ${Mem_mTotal_gb} GB"
echo ""
echo "Copyright by          : Teguh Triharto"
echo "Website               : https://www.linkedin.com/in/teguhth"
echo ""
[root@teguhth-all cekmem]#

 
 
6. Final for custom
 
[root@teguhth-all cekmem]# pwd
/data/cekmem
[root@teguhth-all cekmem]# cat custome_memory_check.sh
#!/bin/bash
# server
ipx=$(hostname -I | awk '{print $1}' | sed "s/ //g")
hostnamex=$(hostname)
echo ""
echo ".::: Result checking on server with hostname << ${hostnamex} >> & << ${ipx} >> :::."
echo ""
# Ambil PID MariaDB (lebih aman)
echo "run custom_service.sh <name_service>"
PIDX=${1}
# Mendapatkan PID dari proses mariadbd
#MARIADB_PID=$(pgrep $PIDX)
MARIADB_PID=$(pgrep -o $PIDX)
#MARIADB_PID=$(pgrep -o mariadbd || pgrep -o mysqld)

if [ -z "$MARIADB_PID" ]; then
  echo "${MARIADB_PID} tidak ditemukan!"
  echo ""
 exit 1
fi
# Total memory server for maria
Mem_mTotal_mb=$(free -m | awk 'NR==2{print $2}')
Mem_mTotal_gb=$(free -m | awk 'NR==2{printf "%.2f", $2/1024 }')

# Ambil memory MariaDB dalam MB (dibulatkan) maria
MEMORY_MARIA_MB=$(ps -C ${PIDX} -o rss= | awk '{sum+=$1} END {printf "%.0f", sum/1024}')

# Hitung persentase memory for maria
MEMORY_MARIA_USAGE=$(awk -v used="$MEMORY_MARIA_MB" -v total="$Mem_mTotal_mb" 'BEGIN {printf "%.2f", (used/total)*100}')

# Output maria
echo "IP Server             : ${ipx}"
echo "Hostname              : ${hostnamex}"
echo "Memory Usage(%) Maria : ${MEMORY_MARIA_USAGE}%"
echo "Memory Usage MariaB   : ${MEMORY_MARIA_MB} MB"
echo "Memory Total Server   : ${Mem_mTotal_mb} MB or ${Mem_mTotal_gb} GB"
echo ""
echo "Copyright by          : Teguh Triharto"
echo "Website               : https://www.linkedin.com/in/teguhth"
echo ""
[root@teguhth-all cekmem]#
 
 


 

No comments:

Post a Comment

Popular Posts