메뉴 닫기

푸시불렛(Pushbullet)을 이용하여 스마트하게 서버 모니터링 해보자!

pushbullet_title

1. Pushbullet 이란?

  PC, 스마트폰, 브라우저 그리고 서버를 연결해주는 푸시불렛 (Pushbullet)
  스마트폰 생활의 혁명이라 불리울 정도로 최근 주목받고 있는 앱입니다.
  스마트폰과 PC, 그리고 맥에서 크롬, 파이어폭스 등 모든 기기,OS간 필요한 정보를 주고 받을 수 있는 텍스트 및 파일전송 서비스입니다. 

 

2. Pushbullet 가입

먼저 Pushbullet 을 이용하기 위해서는 Pushbullet 사이트에서 가입을 해야합니다.
  구글+ 또는 페이스북 계정으로 가입할 수 있습니다.

  https://www.pushbullet.com/

pushbullet_sign_in

– 페이스북 계정으로 가입해보겠습니다.

pushbullet_sign_in_02

– 가입절차는 일단 마쳤습니다.  

3. Pushbullet 앱 설치 및 메세지 테스트 

– 다음 과정으로는 스마트폰에서 Pushbullet 앱을 설치해주셔야 합니다. (Step 1)
– Pushbullet 앱에서 로그인하면 좌측 Devices 에 설치한 곳에 목록에 추가됩니다. (Step 2)
– 마지막으로 하단부에서 스마트폰 장비로 보내기 위해 제목과 내용을 적은 다음 Push It! 을 눌러보세요.
  스마트폰에서 메세지를 수신했다면 스마트폰에서의 준비는 마친 상태입니다.

pushbullet_sign_in_05

– 다음으로는 크롬에 앱을 설치하고 활성화하는 방법에 대해 살펴보겠습니다.

4. 크롬 웹 브라우저 Pushbullet 프로그램 설치 

– Chrome 웹 스토어로 이동합니다.  (https://chrome.google.com/webstore/)
– 스토어 검색에서 Pushbullet 을 검색한 다음, 우측 상단 [ + CHROME에 추가 ] 버튼을 눌러 설치합니다.

pushbullet_chrome_02

pushbullet_chrome_03

pushbullet_chrome_04

– 설치 완료후 크롬 브라우저 우측에 초록색 총알 아이콘이 추가된 것을 확인할 수 있습니다.

pushbullet_chrome_05

– 마지막으로, 클릭후 로그인하여 활성화 시켜놓습니다.

여기까지가 Pushbullet 을 사용하기 위한 방법에 대해 살펴봤습니다.

5. Pushbullet API 사용을 위한 Access Token 알아내기

– Pushbullet 사이트에 접속 및 로그인 합니다.  
– 우측 계정메뉴 (이미지 아이콘) 클릭 한 다음 Account Settings 메뉴로 이동합니다.

pushbullet_01

– 아래 Access Token 박스창에 값을 복사합니다.

pushbullet_02

6. Load Average 모니터링 및 Pushbullet 을 이용하여 메세지 발송 위한 스크립트 작성

– 여기서부터는 서버 내에서 스크립트를 작성합니다.

#!/bin/bash

token=”위에서 복사했던 TOKEN값”

# 서버의 IP 정보를 수집합니다.
IPADDR=`ifconfig -a | grep “inet ” | grep “Bcast:” | awk ‘{print $2}’ | awk -F: ‘{print $2}’`

# 두번째 LOAD AVERAGE 값을 수집합니다. (실제 경고 메세지를 보낼때의 판단하는 값입니다.)
NOW_LOAD=`uptime | awk ‘{print $11}’ | awk -F. ‘{print $1}’`

# 전체 LOAD AVERAGE 값을 수집합니다.
NOW_LOAD_VALUE=`uptime | awk ‘{print $10 $11 $12}’`

# 경고 메세지를 보낼때 LOAD AVERAGE 값을 판단합니다.  (여기서는 LOAD AVERAGE 1 이 초과을때 경고 메세지를 보냅니다.)
if [ $NOW_LOAD -ge “1” ]; then
  WARNING_MESSAGE=”NOW LOAD AVERAGE 1.0 OVER”
fi

# 여기서부터는 Pushbullet API 를 이용해서 메세지를 전송하는 부분입니다.
pushNotification() {
  curl -u $token: https://api.pushbullet.com/v2/pushes -d type=note -d title=”$IPADDR Server NOTICE” -d body=”$WARNING_MESSAGE (NOW LOAD AVERAGE : $NOW_LOAD_VALUE)” –insecure

}

# pushNotification Function 호출
pushNotification


load_average_monitor.sh 으로 저장하고 나옵니다.

※ 여기서는 테스트를 위해 Warning 상황이 발생했을때 메세지가 발송되는 것이 아닌
    주기적으로 서버의 Load Average 값을 전송하는 것으로 설정하였습니다. 

7. 실시간 모니터링을 위한 crontab 등록

– 실시간으로 모니터링 할 수 있도록 crontab 에 스크립트를 등록해줍니다.

## LOAD AVERAGE MONITOR
*/1 * * * * root /root/bin/load_average_monitor.sh > /dev/null 2>&1

– 저장하고 나온 후 cron 데몬을 재시작 합니다.

# /etc/init.d/crond restart

지정된 시간에 다음과 같은 메세지를 받아볼 수 있습니다.

크롬에 수신된 메세지 (오른쪽 하단 트레이에 메세지 뜸)

pushbullet_message

스마트폰에 수신된 메세지 

Screenshot_2015-04-14-17-22-46

 

 

[polldaddy rating=”7739789″]

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x