Monitor Linux

Discussion in 'Programming/Scripts' started by darkcodec, Sep 27, 2019.

  1. darkcodec

    darkcodec New Member

    Inside my isolated local LAN I have one Linux box working as a deployment host (Orchestrator) Monitoring multiple Linux boxes Box1, Box2....Boxn. On the deployment Linux box, i have installed smstools to send me sms.
    I want to build a script placed on the deployment host to monitor specific process on each linux box, and give me on daily basis SMS messages which kind on process running.

    ========//script.sh//==============
    #!/bin/bash
    for host in $(cat /home/operator/shellscripts/host.txt)
    do
    echo -n > /home/operator/shellscripts/$host.txt
    for process in $(cat /home/operator/shellscripts/process.txt)
    do
    ssh $host "ps ax | grep $process | grep -v grep" > /home/operator/shellscripts/$host.txt
    if [[ -s /home/operator/$host.txt ]] ; then
    echo $process is running in $host
    sendsms
    else
    echo $process is not running in $host
    sendsms
    fi ;
    done
    done



    in the host, file stated all hosts IP's I need to monitor
    =========//host.txt//========
    X.X.X.X
    Y.Y.Y.Y
    Z.Z.Z.Z
    ...

    in the process.txt stated all process i need to monitor on each box (for example i have to look if NTP and HTTP working on the fist host X.X.X.X) and so on

    ==========//process.txt//===========
    ntp http
    mysql
    oracle cluster
    https http
    ...

    in the phonelist.txt stated all numbers of whitelisted operators, they should be notified about all hosts
    ==========//phonelist.txt//===============
    009XXXXXXXXXXXX #op1
    009yyyyyyyyyyyy #op2
    009zzzzzzzzzzzz #op3


    in the authen.txt stated the username/password of the operator to login via ssh on each server, each server has its own authentication credential.
    ===========//authen.txt//==============
    operator1 password1 #box1
    operator2 password2 #box2



    The output should be like this inside the SMS
    named, http running in x.x.x.x (OK)
    https not runnning in x.x.x.x
    mysql running in y.y.y.y (OK)
    ...
     

Share This Page