👨🚒mysql exporter
MySQL Exporter, MySQL sunucusunda çalışan ve sunucu üzerinde birçok önemli performans ölçütünü yakalayan bir istemci hizmetidir. Bu ölçütler arasında CPU kullanımı, bellek tüketimi, sorgu sayısı, sorgu süresi, ağ trafiği ve daha fazlası yer alabilir. MySQL Exporter, bu metrikleri ölçer ve Prometheus tarafından toplanabilir hale getirilir. Sonuç olarak, Prometheus bu metrikleri toplar, depolar ve analiz eder, böylece sistem yöneticileri ve geliştiriciler performans sorunlarını tespit edebilir, kapasite planlaması yapabilir ve genel veritabanı sağlığını izleyebilir.
MySQL Exporter Kullanıcısı Oluşturma
MySQL veritabanına root kullanıcısıyla bağlanın:
mysql -u root -p
MySQL komut satırına giriş yaptıktan sonra, aşağıdaki SQL komutlarını sırasıyla çalıştırın:
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'hkyDh42Kb'; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost'; FLUSH PRIVILEGES; EXIT;
Yukarıdaki komutlarla aşağıdaki işlemler gerçekleştirilmektedir:
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'hkyDh42Kb';
komutuylaexporter
adında bir kullanıcı oluşturulur. Bu kullanıcının erişim sağlayabileceği IP adresilocalhost
olarak belirlenir.GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
komutuylaexporter
kullanıcısınaPROCESS
,REPLICATION CLIENT
veSELECT
yetkileri verilir. Bu yetkiler, MySQL Exporter'ın gerekli veritabanı metriklerini alabilmesi için gereklidir.FLUSH PRIVILEGES;
komutuyla MySQL yetki tabloları yenilenir ve yapılan değişikliklerin etkili olması sağlanır.EXIT;
komutuyla MySQL komut satırından çıkış yapılır.
Not: Eğer Master-Slave veritabanı mimarisine sahipseniz, kullanıcıyı sadece master sunucuda oluşturmanız gerekmektedir.

Bu dökümanı izleyerek MySQL Exporter için gerekli kullanıcıyı oluşturabilirsiniz. Kullanıcı, gerekli yetkilere sahip olacak ve MySQL Exporter'ın veritabanı metriklerini alabilmesi için hazır hale gelecektir.
MySQL Exporter'ı Ubuntu 20.04'e Kurma Kılavuzu
Prometheus kullanıcısı ve grubunu oluşturun:
sudo groupadd --system prometheus sudo useradd -s /sbin/nologin --system -g prometheus prometheus
En son MySQL Exporter sürümünü indirin:
curl -s https://api.github.com/repos/prometheus/mysqld_exporter/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -
İndirilen dosyayı çıkartın:
tar xvf mysqld_exporter*.tar.gz
mysqld_exporter
dosyasını/usr/local/bin/
dizinine taşıyın:sudo mv mysqld_exporter-*.linux-amd64/mysqld_exporter /usr/local/bin/
Dosyanın çalıştırılabilir olduğundan emin olun:
sudo chmod +x /usr/local/bin/mysqld_exporter
MySQL Exporter sürümünü kontrol edin:
mysqld_exporter --version
MySQL Exporter için yapılandırma dosyasını oluşturun:
sudo vim /etc/.mysqld_exporter.cnf
Not: Vim yerine tercih ettiğiniz metin düzenleyiciyi kullanabilirsiniz.
Aşağıdaki içeriği
mysqld_exporter.cnf
dosyasına yapıştırın ve kaydedin:[client] user=exporter password=hkyDh42Kb
Not: Kullanıcı adı ve şifre, gerektiğinde güncelleyebileceğiniz örnek değerlerdir.
Dosyanın sahipliğini düzenleyin:
sudo chown root:prometheus /etc/.mysqld_exporter.cnf
MySQL Exporter için systemd servis dosyası oluşturun:
sudo vi /etc/systemd/system/mysql_exporter.service
Not: Vim yerine tercih ettiğiniz metin düzenleyiciyi kullanabilirsiniz.
Aşağıdaki içeriği
mysql_exporter.service
dosyasına yapıştırın ve kaydedin:[Unit] Description=Prometheus MySQL Exporter After=network.target User=prometheus Group=prometheus [Service] Type=simple Restart=always ExecStart=/usr/local/bin/mysqld_exporter \ --config.my-cnf /etc/.mysqld_exporter.cnf \ --collect.global_status \ --collect.info_schema.innodb_metrics \ --collect.auto_increment.columns \ --collect.info_schema.processlist \ --collect.binlog_size \ --collect.info_schema.tablestats \ --collect.global_variables \ --collect.info_schema.query_response_time \ --collect.info_schema.userstats \ --collect.info_schema.tables \ --collect.perf_schema.tablelocks \ --collect.perf_schema.file_events \ --collect.perf_schema.eventswaits \ --collect.perf_schema.indexiowaits \ --collect.perf_schema.tableiowaits \ --collect.slave_status \ --web.listen-address=0.0.0.0:9104 [Install] WantedBy=multi-user.targetb
Not:
User
veGroup
değerlerini gerektiğinde güncelleyebilirsiniz.systemd'ye servisi tanıtın:
sudo systemctl daemon-reload
MySQL Exporter'ı başlatın:
sudo systemctl enable mysql_exporter sudo systemctl start mysql_exporter
MySQL Exporter'ın çalıştığını kontrol edin:
sudo systemctl status mysql_exporter
Finish 🎉
Prometheus'a MySQL Exporter'ı eklemek için aşağıdaki adımları izleyebilirsiniz:
Prometheus'un yapılandırma dosyasını açın:
sudo nano /etc/prometheus/prometheus.yml
Dosyada
scrape_configs
bölümüne gidin ve aşağıdaki örnekte olduğu gibi yeni bir job tanımı ekleyin:scrape_configs: - job_name: 'mysql_exporter' static_configs: - targets: ['10.90.0.147:9104']
Burada
job_name
MySQL Exporter için tanımlanan bir ad,targets
ise MySQL Exporter'ın çalıştığı IP adresi ve port numarasını belirtir. Eğer MySQL Exporter farklı bir IP ve portta çalışıyorsa, ilgili değerleri güncellemeniz gerekmektedir.Yapılandırmayı kaydedip dosyayı kapatın.
Prometheus servisini yeniden başlatın:
sudo systemctl restart prometheus
Artık Prometheus, belirttiğiniz MySQL Exporter hedefini scrape edecek ve metrikleri toplayacaktır. Metrikleri Prometheus Web arayüzünden (
http://<Prometheus-IP-Adresi>:9090
) veya Prometheus üzerinden sorgulayarak kullanabilirsiniz.

Prometheus'a MySQL Exporter'ı ekledikten sonra, MySQL veritabanına ait metrikleri scrape ederek görselleştirebilir, alarm ve kaynak izleme kuralları oluşturabilirsiniz.

Last updated
Was this helpful?