Bu sistem için tweepy kullandım.Bunu kurmak için öncelikle aşağıdaki komutu girmeniz lazım.
easy_install tweepy
Veya
pip install tweepy
Daha sonra buradaki linkle girip gerekli yerleri dolduruyoruz.Daha sonra Create Your Twitter App dedikten sonra uygulamamız karşımıza gelecek.Burada Settings sekmesinden Access bölümüne geçip Read, Write and Access direct messages'ı seçiyoruz.OAuth tool sekmesinden bulunan Consumer key: ile Consumer secret: lerimizi bir kenara kaydediyoruz.
ACCESS_KEY ve ACCESS_SECRET imizi öğrenmek için bir ufak bir kod yazmamız lazım.
#!/usr/bin/env python
import tweepy
CONSUMER_KEY = 'consumer_key buraya yazin'
CONSUMER_SECRET = 'consumer_secret buraya yazin'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth_url = auth.get_authorization_url()
print 'Onaylama: ' + auth_url
verifier = raw_input('PIN: ').strip()
auth.get_access_token(verifier)
print "ACCESS_KEY = '%s'" % auth.access_token.key
print "ACCESS_SECRET = '%s'" % auth.access_token.secret
Yukarıdaki kodumuzu python ile çalıştırdıktan sonra önümüze bir link çıkacak.O linke giriş yaptığımızda pin kodu ekrana gelecek.O pin kodunu konsolda bekleyen satıra yazıyoruz.Böylelikle bize ACCESS_KEY ile ACCESS_SECRET kodumuzu geri döndürecek.
Şimdi de deneme tweetimizi atalım.Aşağıdaki kod ile serverınızla ilgili bazı bilgileri alabilirsiniz.
#!/usr/bin/env python
import tweepy
import os
import commands
consumer_anahtari = 'consumer_key yaziniz'
consumer_gizli = 'consumer_secret yaziniz'
giris_anahtari = 'access_key yaziniz'
giris_gizli = 'access_secret yaziniz'
baglanti = commands.getoutput('echo `netstat -an|wc -l`')
load = commands.getoutput("""uptime | awk -F "load average: " '{ print $2 }' | cut -d, -f1 | cut -d. -f1""")
syn = commands.getoutput('netstat -n | grep SYN | wc -l')
memory = commands.getoutput("""free -t -m | grep "Total" | awk '{ print "Kullanilan : "$3" MB Bosta : "$4" MB";}'""")
auth = tweepy.OAuthHandler(consumer_anahtari, consumer_gizli)
auth.set_access_token(giris_anahtari, giris_gizli)
api = tweepy.API(auth)
api.update_status("Toplam " + baglanti + " baglanti var.Sistem load su anda " + load + " .Toplam " + syn + " syn paketi bulundu. " + memory + " ." )
Örnek twitter gönderisi aşağıdaki gibi oluyor.Sizde yukarıdaki kodda değişiklikler yapıp istediğiniz herhangi bir komutu çalıştırıp twittera bildirebilirsiniz.Yukarıda yer alan commands.getoutput(' ') içine istediğiniz bir komutu çalıştırabilirsiniz.Örneğin nginx'e restart attırabilir,cacheleri boşaltabilir,sql yedeğinizi alabilirsiniz.Bundan sonrası sizin hayal gücünüze kalıyor.
Ve cep telefonuma gelen sms örneği.
Yukarıdaki dosyayı python dosyası olarak kaydedip cronjob eklerseniz belirli aralıklarla twitter'a gönderebilirsiniz.Bunun için crontab -e komutu ile cron listenizi açın ve aşağıdaki satırı ekleyin.(Aşağıdaki satır ile dosyayı 4 saatte bir çalıştırabilirsiniz.Eğer başka zamanlarda çalıştırmak isterseniz google'da crontab kullanımı diye aratabilirsiniz.)
0 */4 * * * /usr/bin/python /root/hdblogstatus.py
Artık 4 saatte bir server durumunu tweet olarak atıyoruz.Sıra bu bilgileri telefonumuza almakta.Bunun için twitterımıza giriş yapıp buradaki bölüme geçiyoruz.Burada yer alan Cep telefonu bildirimlerini etkinleştirdiğin kişilerden gelen tweetler sekmesini işaretliyoruz.Daha sonrada bilgilerimizi paylaştığımız twitter hesabına girip mobil bildirimleri açıyoruz.
Bütün bunları yaptığınızda 4 saatte bir 2444'ten server bilgilerinizi içeren bir sms almanız lazım.Şimdilik bu kadarı benim işimi görüyor.Siz kodu geliştirip ihtiyaçlarınız doğrultusunda geliştirebilirsiniz.
Önemli Not: Bilgilerinizi paylaştığınız twitter hesabının tweetlerini koruma altına almaya unutmayınız.Ve tanımadığınız kişilerin bu bilgilere erişmemesini sağlayınız.
Yukarıdaki python kodunu buradanda indirebilirsiniz.
Kaynak: http://www.halitalptekin.com/makale/server/twitter-uzerinden-server-kontrolu/