Hati ya Shell ya Kutuma Arifa ya Barua pepe Kumbukumbu Inapopungua


Kipengele chenye nguvu cha programu za shell za Unix/Linux kama vile bash, ni usaidizi wao wa ajabu kwa miundo ya kawaida ya programu ambayo hukuwezesha kufanya maamuzi, kutekeleza amri mara kwa mara, kuunda vipengele vipya, na mengi zaidi. Unaweza kuandika amri katika faili inayojulikana kama hati ya ganda na utekeleze kwa pamoja.

Hii inakupa njia za kuaminika na bora za usimamizi wa mfumo. Unaweza kuandika hati ili kufanyia kazi kiotomatiki, kwa mfano nakala rudufu za kila siku, masasisho ya mfumo n.k; tengeneza amri/huduma/zana mpya na zaidi. Unaweza kuandika maandishi ili kukusaidia kuendelea na kile kinachoendelea kwenye seva.

Moja ya vipengele muhimu vya seva ni kumbukumbu (RAM), inaathiri sana utendaji wa jumla wa mfumo.

Katika makala haya, tutashiriki hati ndogo lakini muhimu ya ganda kutuma barua pepe ya tahadhari kwa msimamizi mmoja au zaidi wa mfumo, ikiwa kumbukumbu ya seva inapungua.

Hati hii ni muhimu sana kwa kuweka jicho kwenye Linux VPS (Seva za Kibinafsi za Virtual) zilizo na kumbukumbu ndogo, tuseme takriban 1GB (takriban 990MB).

  1. Seva ya utayarishaji ya CentOS/RHEL 7 iliyo na huduma ya mailx iliyosakinishwa na seva ya posta ya kurekebisha kazi.

Hivi ndivyo hati ya alertmemory.sh inavyofanya kazi: kwanza hukagua saizi ya kumbukumbu isiyolipishwa, kisha huamua ikiwa kiasi cha kumbukumbu isiyolipishwa ni kidogo au sawa na saizi maalum (MB 100 kwa madhumuni ya mwongozo huu), inayotumika kama alama ya benchi kwa saizi ya kumbukumbu ya bure inayokubalika angalau.

Ikiwa hali hii ni kweli, itazalisha orodha ya michakato 10 bora inayotumia RAM ya seva na kutuma barua pepe ya tahadhari kwa anwani maalum za barua pepe.

Kumbuka: Utalazimika kufanya mabadiliko machache kwa hati (haswa shirika la mtumaji barua, tumia bendera zinazofaa) ili kukidhi mahitaji yako ya usambazaji wa Linux.

#!/bin/bash 
#######################################################################################
#Script Name    :alertmemory.sh
#Description    :send alert mail when server memory is running low
#Args           :       
#Author         :Aaron Kili Kisinga
#Email          :[email 
#License       : GNU GPL-3	
#######################################################################################
## declare mail variables
##email subject 
subject="Server Memory Status Alert"
##sending mail as
from="[email "
## sending mail to
to="[email "
## send carbon copy to
also_to="[email "

## get total free memory size in megabytes(MB) 
free=$(free -mt | grep Total | awk '{print $4}')

## check if free memory is less or equals to  100MB
if [[ "$free" -le 100  ]]; then
        ## get top processes consuming system memory and save to temporary file 
        ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head >/tmp/top_proccesses_consuming_memory.txt

        file=/tmp/top_proccesses_consuming_memory.txt
        ## send email if system memory is running low
        echo -e "Warning, server memory is running low!\n\nFree memory: $free MB" | mailx -a "$file" -s "$subject" -r "$from" -c "$to" "$also_to"
fi

exit 0

Baada ya kuunda hati yako /etc/scripts/alertmemory.sh, ifanye itekelezwe na ulinganishe kwa cron.hourly.

# chmod +x /etc/scripts/alertmemory.sh
# ln -s -t /etc/cron.hourly/alertmemory.sh /etc/scripts/alertmemory.sh

Hii inamaanisha kuwa hati iliyo hapo juu itaendeshwa baada ya kila saa 1 mradi tu seva inaendesha.

Kidokezo: Unaweza kujaribu ikiwa inafanya kazi jinsi ilivyokusudiwa, weka thamani ya alama ya benchi juu kidogo ili kuanzisha barua pepe ya kutumwa kwa urahisi, na ubainishe muda mfupi wa takriban dakika 5.

Kisha endelea kuangalia kutoka kwa safu ya amri kwa kutumia amri ya bure iliyotolewa kwenye hati. Mara tu unapothibitisha kuwa inafanya kazi, fafanua maadili halisi ambayo ungependa kutumia.

Ifuatayo ni picha ya skrini inayoonyesha sampuli ya barua pepe ya arifa.

Ni hayo tu! Katika nakala hii, tulielezea jinsi ya kutumia hati ya ganda kutuma barua pepe za tahadhari kwa wasimamizi wa mfumo ikiwa kumbukumbu ya seva (RAM) inapungua. Unaweza kushiriki mawazo yoyote yanayohusiana na mada hii, nasi kupitia fomu ya maoni hapa chini.