Bu konu, Managed Service for Prometheus kullanarak bir MySQL veritabanının nasıl izleneceğini açıklar.
Ön Koşullar
MySQL örneğinizin adres, bağlantı noktası, kullanıcı adı ve parola dahil olmak üzere bağlantı ayrıntılarına sahip olduğunuzdan emin olun.
MySQL İzlemeyi Etkinleştirme
Sol gezinme bölmesinde Access Center seçeneğine tıklayın.
Access Center sayfasında, Database bölümünde MySQL seçeneğine tıklayın.
-
MySQL panelinde, Start Integration sekmesinde entegrasyonu yapılandırın ve OK düğmesine tıklayın.
Parametre
Açıklama
Access Center
Aşağıdaki ortam türlerinden birini seçin:
-
Kubernetes Environment
-
ECS (VPC)
-
Cloud Services
Küme seçin
Hedef kümeyi seçin.
Access Center
Hedef ECS örneğini seçin.
Database
Start Integration seçeneğini Cloud Services olarak ayarlarsanız veri depolama için bir bölge seçmeniz gerekir.
OK
MySQL örneğinin bağlantı adresi.
NotManaged Service for Prometheus, Container Service for Kubernetes (ACK), ECS veya ApsaraDB RDS üzerinde dağıtılan MySQL örneklerini destekler.
Select the environment type.
MySQL örneğinin bağlantı noktası numarası. Örnek: 3306.
Select ECS (VPC) ve Select Region for Storage
MySQL hesabının kullanıcı adı ve parolası.
ÖnemliVeri sızıntılarını ve diğer güvenlik risklerini önlemek için yönetici hesabı kullanmamanızı öneririz. Bunun yerine mysqld_exporter için özel bir MySQL hesabı oluşturun ve yalnızca gerekli minimum izinleri verin. Daha fazla bilgi için bkz. Managed Service for Prometheus için MySQL kullanıcısı oluşturma.
-
MySQL İçin Uyarı Yapılandırma
Sol gezinme bölmesinde Managed Service for Prometheus > Instances seçeneklerini belirleyin.
Soldaki gezinme bölmesinde Managed Service for Prometheus > Instances seçeneklerini belirleyerek Managed Service for Prometheus örnek listesini açın.
Sayfanın üst kısmından hedef bölgeyi seçin ve ardından hedef kümenin adına tıklayın.
-
Sol gezinme bölmesinde MySQL için Prometheus uyarı kurallarını görüntülemek üzere Alert Rules seçeneğine tıklayın.
Managed Service for Prometheus önemli MySQL ölçümleri için birden çok varsayılan Prometheus uyarı kuralı sağlar. İş ihtiyaçlarınıza göre yeni uyarı kuralları da ekleyebilirsiniz. Daha fazla bilgi için bkz. Prometheus uyarı kuralı oluşturma.
NotÖnemli MySQL ölçümleri hakkında daha fazla bilgi için aşağıdaki Önemli ölçümler bölümüne bakın.
Managed Service for Prometheus tarafından önemli MySQL ölçümleri için sağlanan önceden ayarlanmış uyarı kuralları hakkında ayrıntılı bilgi edinmek için aşağıdaki Ölçüm ve uyarı sistemi oluşturma bölümüne bakın.
MySQL Panosunu Görüntüleme
İzleme panosu; kullanılabilirlik, veritabanı sorguları, ağ trafiği, bağlantılar ve bellek için ölçümler gösterir. Adımları şu şekilde takip edin:
Sol gezinme bölmesinde Data Import Management seçeneğine tıklayın.
-
Data Import Management sayfasında Integrated Environments sekmesine tıklayın. Hedef ortamı seçin ve ayrıntılar sayfasını açmak için listedeki adına tıklayın.
Integrated Environments sekmesi Kubernetes Environment, ECS Environment ve Cloud Service Region Environment olmak üzere üç kategori içerir. Uygun kategoriyi seçin.
Component Management sekmesinde, Addon Type bölümünde MySQL seçeneğine tıklayın ve ardından tüm pano adlarını görüntülemek için Dashboards seçeneğine tıklayın.
-
İlgili Grafana panosunu görüntülemek için bir pano adına tıklayın.
Kullanılabilirlik, QPS ve veritabanı bağlantıları.

Veritabanı sorguları.

Ağ trafiği ve bellek kullanımı.

Dosya izleme verileri.

Önemli Ölçümler
|
Tür |
Ölçüm |
Açıklama |
|
Kullanılabilirlik |
mysql_up |
MySQL örneğinin çalışıp çalışmadığını gösterir. 1 değeri örneğin kullanılabilir olduğunu, 0 değeri ise kapalı olduğunu belirtir. |
|
mysql_global_status_uptime |
Veritabanı örneğinin çalışma süresi. Bir örneğin 30 dakikadan daha kısa bir süre çalışması durumunda tetiklenen bir uyarı oluşturmak için bu ölçümü kullanabilirsiniz; bu durum yakın zamanda bir yeniden başlatma yapıldığını gösterebilir. |
|
|
Veritabanı bağlantısı |
mysql_global_status_connection_errors_total |
Bağlantı hataları, veritabanı hatalarının başlıca türlerinden biridir. Bu ölçüm, belirli bağlantı hataları ve bunların sıklığı hakkında ayrıntıları görüntülemenize yardımcı olur. |
|
mysql_global_status_threads_connected |
MySQL örneğine şu anda açık olan bağlantı sayısı. |
|
|
mysql_global_status_threads_running |
Etkin şekilde istek işleyen iş parçacığı sayısı. |
|
|
mysql_global_status_max_used_connections |
Sunucu başlatıldığından beri aynı anda kullanılan en yüksek bağlantı sayısı. |
|
|
mysql_global_variables_max_connections |
İzin verilen eşzamanlı istemci bağlantılarının maksimum sayısı. Bu sınıra ulaşıldığında yeni bağlantı istekleri reddedilir. |
|
|
mysql_global_status_aborted_connects |
MySQL sunucusuna yapılan başarısız bağlantı denemelerinin sayısı. |
|
|
mysql_global_status_aborted_clients |
İstemci bağlantıyı düzgün şekilde kapatmadan sonlandığı için kapatılan bağlantıların sayısı. |
|
|
Sorgu |
mysql_global_status_slow_queries |
|
|
mysql_global_status_queries |
Sunucu tarafından yürütülen toplam ifade sayısı. Saniye başına sorgu sayısını (QPS) hesaplamak için kullanılabilir. |
|
|
Ağ trafiği |
mysql_global_status_bytes_received |
Bayt cinsinden gelen ağ trafiği. |
|
mysql_global_status_bytes_sent |
Bayt cinsinden giden ağ trafiği. |
|
|
Dosya |
mysql_global_status_opened_files |
Açılmış toplam dosya sayısı. |
|
mysql_global_status_open_files |
Şu anda açık olan dosya sayısı. |
|
|
mysql_global_variables_open_files_limit |
MySQL sunucusu için kullanılabilen maksimum dosya tanımlayıcı sayısı. |
|
|
mysql_global_status_innodb_num_open_files |
InnoDB depolama altyapısı tarafından şu anda açık tutulan dosya sayısı. |
Ölçüm ve Uyarı Sistemi Oluşturma
MySQL izlemesi için kendi kendine yönetilen bir Prometheus sistemi kurmak karmaşık bir süreçtir. Bu süreçte bir exporter dağıtma, MySQL örneği bağlantı ayrıntılarını sağlama, hizmet keşfini yapılandırma ve panolar oluşturma gibi adımlar yer alır. Managed Service for Prometheus MySQL exporter'ı tek tıkla kurulumla entegre ederek bu süreci basitleştirir. Ayrıca görsel bir konsol aracılığıyla hazır izleme panoları ve uyarı kuralları sağlayarak yapılandırma yükünü önemli ölçüde azaltır.
Managed Service for Prometheus yaygın MySQL ölçümleri için önceden ayarlanmış uyarı kuralı şablonları içerir; böylece hızlıca bir izleme ve uyarı sistemi oluşturabilirsiniz. Aşağıdaki önceden ayarlanmış kurallar kullanılabilir:
-
MySQL Availability: Bu ölçümün değeri 0 ise veritabanı düzgün çalışmıyor demektir. 1 değeri normal çalışmayı gösterir. Belirli bir örneği uyarı için hedeflemek üzere
${instance}değişkenini kullanabilirsiniz.mysql_up{${instance}} != 1 -
MySQL Slow Queries: Bu ölçüm, veritabanında optimizasyon gerektiren SQL ifadeleri olup olmadığını belirlemenize yardımcı olur.
rate(mysql_global_status_slow_queries{${instance}}[5m]) > 0 -
MySQL connection errors: Bağlantı hataları, veritabanı hatalarının başlıca türlerinden biridir. Managed Service for Prometheus tarafından sağlanan uyarı kuralları sayesinde bir uyarı tetiklendiğinde hata türü ve sorgu sayısı gibi uyarı bilgilerini alabilirsiniz.
rate(mysql_global_status_connection_errors_total{${instance}}[5m]) > 0 -
MySQL Connection Usage: Yüksek bağlantı kullanımı bağlantı hatalarına neden olabilir. Bu uyarı, söz konusu sorunları gidermek için kullanımı izlemenize yardımcı olur.
100 * mysql_global_status_threads_connected{${instance}} / mysql_global_variables_max_connections{${instance}} > 90Kullanım oranı belirli bir eşiğe ulaştığında MySQL örneği yeni bağlantıları reddetmeye başlar. Bu sorunu bağlantı sınırını artırarak çözebilirsiniz. Bağlantı sınırını artırmadan önce kullanılabilir dosya tanımlayıcılarının sayısını kontrol etmek için aşağıdaki ifadeyi çalıştırın.
mysql_global_variables_open_files_limit - mysql_global_variables_innodb_open_files -
MySQL InnoDB Log Wait Time: Günlük yazma işlemlerindeki gecikmeyi izler. Uyarı eşiğini yapılandırabilirsiniz.
rate(mysql_global_status_innodb_log_waits{${instance}}[5m])