MariaDB'nin maksimum bağlantı sınırını aşması, veri tabanı performansını ciddi şekilde etkileyebilir. Bu nedenle, belirli bir bağlantı limiti aşıldığında otomatik uyarı almak, sistem kararlılığı açısından önemlidir. Aşağıda, bu durumu tespit edip alarm gönderen temel bir Bash scripti ve çalışma mantığını bulabilirsiniz.
Geliştirilmiş Script ve Çalışma Mantığı:
Bu script, MariaDB’nin şu anki bağlantı sayısını sorgular ve belirlenen eşik değeri aşarsa e-posta veya başka bir alarm yöntemi ile uyarı gönderir. İşte temel adımlar:
- Bağlantı Sayısını Çekme:
MariaDB’ye
mysqladmin veya
mysql komutlarıyla bağlanıp,
SHOW STATUS LIKE 'Threads_connected'; sorgusunu çalıştırıyoruz. Bu komut, aktif bağlantı sayısını döner.
- Eşik Değeri Belirleme:
Örneğin, toplam maksimum bağlantı limitiniz 200 ise, bu değerin %80 veya %90’ını aşması durumunu alarm için kullanabilirsiniz.
- Alarm ve Bildirim:
Eşik aşıldığında,
mail veya diğer bildirim araçlarıyla yöneticilere uyarı gönderilir.
- Script’in Otomatik Çalışması:
Cron gibi zamanlayıcılar aracılığıyla belirli aralıklarla bu script çalıştırılır.
1234567891011121314151617181920
#!/bin/bash
[b]MariaDB erişim bilgileri[/b]
USER="kullanici"
PASSWORD="sifre"
HOST="localhost"
[b]Eşik değeri (örneğin 180)[/b]
LIMIT=180
[b]Bağlantı sayısını alma[/b]
CONN_COUNT=$(mysql -u$USER -p$PASSWORD -h$HOST -se "SHOW STATUS LIKE 'Threads_connected';" | awk '{print $2}')
[b]Kontrol et[/b]
if [ "$CONN_COUNT" -ge "$LIMIT" ]; then
echo "MariaDB bağlantı limiti aşıldı: $CONN_COUNT bağlantı aktif" | tee -a /var/log/mariadb_alarm.log
# Bildirim gönder
echo "MariaDB bağlantı limiti aşıldı: $CONN_COUNT bağlantı" | mail -s "MariaDB Alarm" admin@example.com
fi
Bu temel script, sisteminizdeki bağlantı durumu hakkında anlık bilgi sağlar ve limit aşıldığında hemen uyarı gönderir. Gelişmiş senaryolarda, farklı bildirim yolları veya otomatik bağlantı sınırı ayarlarıyla entegre edilebilir.
Sizlerin kullanımda karşılaştığınız sorunlar veya eklemek istediğiniz özellikler nelerdir? Bu tarz uyarı sistemlerini nasıl daha etkili hale getirebilirsiniz?