Linux 서버 상태/프로세스 확인.
2022-10-19 last update
5 minutes reading monitoring centos bash linux이 단일 bash 스크립트를 사용하여 서버 상태, 프로세스, 리소스 사용률에 대한 모든 세부 정보를 찾을 수 있습니다.
장점:
한 번의 클릭으로 전체 서버 정보를 쉽게 얻을 수 있습니다. 스크립트는 편집 및 서비스 추가가 간단합니다. 실행 중인 프로세스, 디스크 공간, 가동 중지 시간, 메모리 세부 정보, 높은 프로세스 목록 등에 대한 세부 정보를 표시합니다.
시작하자!!
1) "healthcheck"스크립트 파일을 생성하고 다음 코드를 추가합니다.
2) 파일을 sbin 디렉토리에 복사하고 실행 권한을 부여하여 스크립트를 전역 명령으로 전환할 수 있습니다.
3) 이제 쉘의 어느 곳에서나 스크립트를 호출할 수 있습니다
스크립트 출력 체크 아웃


붐🚀🚀
계속 배우세요🥂
장점:
시작하자!!
1) "healthcheck"스크립트 파일을 생성하고 다음 코드를 추가합니다.
# vim healthcheck
#! /bin/bash
#color notes
NC='\033[0m'
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[0;33m'
cyan='\033[0;36m'
yellow='\033[0;33m'
#Sectioning .........
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
echo "Server details:"
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
#fetching basic specs from the server(user,ip,os)
user=`whoami`
echo -e "${cyan}User:${NC} $user"
hostname=`hostname`
echo -e "${cyan}hostname:${NC} $hostname"
ip=`hostname -I`
echo -e "${cyan}IP address:${NC} $ip"
os=`cat /etc/os-release | grep 'NAME\|VERSION' | grep -v 'VERSION_ID' | grep -v 'PRETTY_NAME' | grep NAME`
echo -e "${cyan}OS:${NC} $os"
#Sectioning.....
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
echo "Service status:"
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
sleep 1
#checking tomcat status
echo -e "${yellow}1) Tomcat${NC}"
#grepping tomcat status from ps aux
pp=`ps aux | grep tomcat | grep "[D]java.util"`
if [[ $pp =~ "-Xms512M" ]];then
echo -e " Status: ${GREEN}UP${NC}"
else
echo -e " Status: ${RED}DOWN${NC}"
fi
echo ""
#function to check apache is running or not!
function apache(){
echo -e "${yellow}2) Apache-httpd${NC}"
#grepping apache status from ps aux
httpd=`ps aux | grep httpd | grep apache`
if [[ $httpd =~ "apache" ]];then
echo -e " Status: ${GREEN}UP${NC}"
else
echo -e " Status: ${RED}DOWN${NC}"
fi
}
#function to check elastic is running or not
function elastic(){
echo -e "${yellow}3) Elasticsearch${NC}"
#grepping elasticsearch status from ps aux
elastic=`ps aux | grep elasticsearch`
if [[ $elastic =~ "elastic+" ]];then
echo -e " Status: ${GREEN}UP${NC}"
else
echo -e " Status: ${RED}DOWN${NC}"
fi
#function to check mysql is running or not
}
function mysql(){
echo -e "${yellow}4) Mysql${NC}"
#grepping mysql status from ps aux
mysql=`ps aux | grep mysqld`
if [[ $mysql =~ "mysqld" ]];then
echo -e " Status: ${GREEN}UP${NC}"
else
echo -e " Status: ${RED}DOWN${NC}"
fi
}
function docker(){
echo -e "${yellow}5) Docker${NC}"
#grepping docker status from ps aux
docker=`systemctl status docker | grep dead`
if [[ $docker =~ "dead" ]];then
echo -e " Status: ${GREEN}UP${NC}"
else
echo -e " Status: ${RED}DOWN${NC}"
fi
}
#calling functions
apache
echo ""
elastic
echo ""
mysql
echo ""
docker
echo ""
#Sectioning............
#Fetching mem and cpu informations
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
echo "Memory Details:"
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
sleep 1
#view mem info
free -h
#get uptime details
uptime=$(uptime | awk '{print $3,$4}' | cut -f1 -d,)
echo -e "${cyan}System Uptime:${NC} :$uptime"
#Fetching the load average
loadaverage=$(top -n 1 -b | grep "load average:" | awk '{print $10 $11 $12}')
echo -e "${cyan}Load average:${NC}: $loadaverage"
echo -e "${cyan}The top 10 services with high resource usage are listed below.${NC}"
#Get top services with high resource utilization
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
#sectioning...........
#Fetching server space details!
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
echo "Server space Details:"
echo -e "${YELLOW}---------------------------------------------------------------------------------------------------------------${NC}"
#View disk space details
df -h
echo "----------------------------------------------------------------------------------------------------------------"
2) 파일을 sbin 디렉토리에 복사하고 실행 권한을 부여하여 스크립트를 전역 명령으로 전환할 수 있습니다.
# cp healthcheck /usr/sbin/
# chmod +x /usr/sbin/healthcheck
3) 이제 쉘의 어느 곳에서나 스크립트를 호출할 수 있습니다
# healthcheck
스크립트 출력 체크 아웃


붐🚀🚀
계속 배우세요🥂