🔭CloudWatch
Last updated
Last updated
AWS dünyasının monitoring hizmeti.
Sunucu kaynak kullanımlarını izler ve raporlar. Buna ek olarak uygulamalarımızı kısıtlı da olsa izler.
S3 bucketlarımızın boyutunu içerisinde kaç tane obje olduğunu raporlar.
Cloudwatch izlenilen servisler, sunucular için dashboard'lar yaratmamıza izin verir.
Kaynak kullanımı gibi tuaf bir durum farketmesi halinde bizi bilgilendirebilir.
Önceden belirlediğimiz bir durum gerçekleşirse, SNS ile bize bilgi verebilir.
CloudWatch ile işlemleri tetikleyebiliriz. Misal kaynak kullanımı %70 in üzerine çıkarsa yeni sunucu kur vb. gibi taleplerde bulunabiliriz.
Yeni bir sunucu oluştururken, enable cloudwatch detailed monitoring kısmını işaretliyoruz. Ve 1 DK içerisinde sunucudan toplanan veriler cloudwatch'e yansıyacak. Panelden cloudwatch'e geçip, Dashboard'dan kendimiz için bir grafik oluşturabiliriz. S3 bucket da bulunan obje sayısını öğrenmek için number widget ekleyebiliriz. All metrics kısmından, hangi servis için grafiği ekleyeceksek, bunu seçiyoruz.
Create alarm
metrics : EC2 - Per instance > Tek sunucu. ve ya, Access All instance > Tüm sunucular.
Name : İlkalarm
whenever : Alarm ne zaman tetiklenecek?
is : >=80 > Cpu kullanımı %80ni geçerse.
for : 1 datapoint : 1 defa tekrarlarsa. (datapoint 5dk)
Thread Missing Data as : cloudwatch servisi veriye erişemezse, bunu nasıl uygulayıp, cevap versin. Örn, sanal sunucu kapandı.
Missing : Veriyi alamadım olarak işaretle.
ignore : Bunu önemseme.
Bad : Sunucuya ulaşamazsan alarm üret.
Good : Alarm'a gerek yok.
Missing seçebiliriz.
Actions kısmında,
Whenever this alarm : State is alarm.
Send Notification to : Nereye alarm gönderilsin? > New list > Topic Name = Alarmlar > alarm@onurbolatoglu.com ' a alarm gönder.
AutoScaling : %80ni geçtiğinde, yeni sunucu oluştur gibi kurallar oluşturabiliriz.
EC2 Action kısmına gelip,
Whenever this alarm : state is alarm
Take this action : reboot this instance
Sunucuda böylelikle %80den fazla cpu kullanımı olduğu zaman mail gönderecek.
Alarm : Belirlediğimiz kriterlere göre bize haber verir.
Bir durum tetiklenirse, o duruma göre git başka bir şey yap dediğimiz kısımdır.
Events > Event pattern
Service Name : EC2
Event Type : EC2 instance state-change notification > Spescific state > Stopped.
Any instance > Herhangi bir sunucu.
Specific instance > Burada bir sunucu seçebiliriz.
Any olarak devam edebiliriz.
Eğer bir sunucum power-off olursa,
Targets > SNS topic ile alarm gönder. Diyebiliyoruz.
Events > Belirlediğimiz bir olay olursa, o olay ile ilgili belirlediğimiz Targets işlemini uygula.
Name : ilkrule
Create rule
Sunucu kapandığında alarm oluşacak.
Dashboard yaratmadan, metrics kısmından hızlıca grafikleri görebiliriz. Cloudwatch üzerinde, ram kullanımı göremeyiz. Örnek olarak sunucuda gerekli ayarları yapıp biz bunu cloudwatch 'a iletebiliriz.
Sunucularımız içerisinde çalışan (nginx vb) uygulamaları servislerin access - error vs loglarını buradan görüntüleyebiliriz. Burada kendimize bir log grubu yaratıp, sunucuya giriş yapıp logların bulunduğu dosyayı, cloudwatch 'a düzenli olarak gönderebiliriz.
Sunucuların, cloudwatch servisine log gönderebilmeleri için, IAM rolü yaratmamız gerekiyor.
IAM
Roles
Create Role
AWS Service > EC2
Next
CloudWatch Agent Admin policy
Next
Tag girebiliriz.
Role Name: cwagent
Create role
EC2 bölümüne girip, Kuralı atayacağımız sunucuya "actions" kısmından attach/replace IAM role seçiyoruz. Oluşturduğumuz "role" seçiyoruz. Bu sayede CW servisine dosya gönderebileceğiz.
Cloudwatch > logs > get started > create log grup.
Log group name : ilkgroup
Log göndereceğimiz sunucuya bağlanıp, cw agent kuruyoruz. Gerekli yapılandırmadan sonra sunucu loglarını "cw-logs" a iletilecektir.