Storage 통합 모니터링

SYSTEM/TECH / /
반응형

스토리지 CPU 상태 모니터링 (이외 IOPS,Latency,Bandwidth,DISK 용량 모두 모니터링중)


10여대 스토리지 운영중 (대략 800TB) (다양한 벤더)  (VM 10,000대 이상 운영중)


여러가지 벤더라 cli 명령도 다 틀리고 제공되는 모니터링 툴도 벤더별로 다 제각각이라 관리적인 측면이나 

모니터링 측면에서 짜증남...


스토리지 이슈 발생시.... VM 전체가 영향을 받아 서비스에 큰 문제 발생...

스토리지 모니터링이 상당히 중요한 서비스임..


Point :


아래 스크립트를 크론에 등록하여 -> curl을 사용하여 -> influxdb 로 넣고 -> kapacitor 로 실시간 감시 -> 

-> 임계치 부합되면 alert  -> 화면은 grafana 모니터링중....



script 


#!/bin/bash

netapp01_cpu=`snmpwalk -v 2c -c public x.x.x.x .1.3.6.1.4.1.789.1.2.1.3.0 | awk -F " " '{print $4}'`

    .

    .

netapp08_cpu=`snmpwalk -v 2c -c public x.x.x .1.3.6.1.4.1.789.1.2.1.3.0 | awk -F " " '{print $4}'`


# emc

emc01_cpu=`/data/storage/emc/check_xio_cpu.sh 10.200.x.x user 'User01' | awk -F ":" '{print $2" "$4" "$6" "$8}' |  sed -e 's/ /+/g' | bc -l`

emc01_cpu=`echo "$emc01_cpu/4" | bc`


# hp 3par

sshpass -p 'xxxx' ssh -p 22 user@10.200.x.x 'statcpu -iter 1 -t' > /data/storage/Storage-3par-cpu.txt        


hp3par_cpu=`cat /data/storage/Storage-3par-cpu.txt | awk -F " " '{print  sum += $4} END {print "sum="sum/4}' | grep sum | awk -F "=" '{print $2}'`


hp3par_cpu=`echo "scale=1; 100-$hp3par_cpu" | bc`



# netapp 

sshpass -p 'xxxxxxx' ssh -p 22 admin@x.x.x.x 'statistics node show' > /data/storage/Storage-8060-cpu.txt


netapp8060_01_cpu=`grep xxxxxxxxx-01 /data/storage/Storage-8060-cpu.txt | awk -F " " '{print $2}'`

netapp8060_02_cpu=`grep xxxxxxxxx-02 /data/storage/Storage-8060-cpu.txt | awk -F " " '{print $2}'`



# data insert


curl -i -XPOST 'http://x.x.x.x:8086/write?db=public' --data-binary 'storage_cpu,storage=netapp01 value='$netapp01_cpu'

               .

               .

               .

storage_cpu,storage=emc01 value='$emc01_cpu'

storage_cpu,storage=hp3par value='$hp3par_cpu'

storage_cpu,storage=netapp_8060_01 value='$netapp8060_01_cpu'

               .

storage_cpu,storage=netapp_8060_04 value='$netapp8060_04_cpu''



---------------------------------------------------------------------------------------


스토리지 cpu 90% 이상일때 email, slack 알람 통보  (tick script 예제) 

cat storage_cpu.tick 

 

    stream

       |from()

           .measurement('storage_cpu')

           .groupBy('storage')

       |window()

            .period(2m)

            .every(3m)

       |alert()

           .details('''

            <h1>{{ .ID }}</h1>

            <b>Status  : {{ .Level }}</b><br>

            <b>Trigger : Storage CPU(%)</b><br>

            <b>Storage : {{ index .Tags "storage" }}</b><br>

            <b>Value   : {{ index .Fields "value" }}</b><br>

               ''')

           .message('{{ .Level}}: {{ .Name }}/{{ index .Tags "storage" }} CPU(%): {{ index .Fields "value" }}')

           .warn(lambda: "value" > 89)

           .crit(lambda: "value" > 94)

           .log('/data/alert_log/storage_cpu.log')

           .email()

           .slack()

   



---------------------------------------------------------------------------------------






임계치 발생시 Slack 알람 화면 




반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기