Icinga2 director müdülü bir nevi icinga’nın config deployment aracıdır , yani siz dilerseniz hostları , objeleri , servisleri manual ekleyebilirsiniz , dilerseniz api ile ekleyebilirsiniz , dilerseniz de icinga2’nin director modülünü kullanarak ekleyebilirsiniz.
Öncelikle modülü github üzerinden indirelim,
# cd /usr/share/icingaweb2/modules
# wget https://github.com/Icinga/icingaweb2-module-director/archive/master.zip
# unzip master.zip
# mv icingaweb2-module-director-master director
# restorecon -R director
Evet modulümüzü indirdik ve açtık, şimdi director için ayrı bir mysql veritabanı açmamız gerekiyor. Sunucumuzda veritabanına bağlanıyoruz , tabi localde olduğunu farzederek belirtiyorum , aşağıdaki komutu kullanabilirsiniz.
mysql -h localhost -u root -p
Size mysql root şifrenizi soracaktır , sonrasında giriş yapmış olacaksınız. Aşağıda sırası ile önce director isminde bir veritabanı oluşturyoruz , charset önemli çünkü mutlaka utf8 i görmek istiyor. Sonrasında director isimli user oluşturup , haklarını verip , şifresini belirliyoruz , flush privileges demeyi unutayalım , komut sonrası her şey aktif olacaktır.
mysql> CREATE DATABASE director CHARACTER SET ‘utf8’;
mysql> GRANT ALL ON director.* TO ‘director’@’localhost’ IDENTIFIED BY ‘directoricinsifrebelirleyiniz’;
mysql> FLUSH PRIVILEGES;
Şimdi veritabanı ve user açtığımıza göre bu veritabanına director modülünde hazır gelen veritabanı dosyasını import etmemiz gerekiyor. Aşağıdaki komut ile yapabilirsiniz , çalıştırdığınızda root password ünüzü isteyecek ve aktarımı yapacaktır.
# mysql -u root -p director < /usr/share/icingaweb2/modules/director/schema/mysql.sql
Buraya kadar her şey yolunda ise aşağıdaki komutları çalıştırabilirsiniz.
# setsebool -P httpd_can_network_connect 1
# icinga2 api setup
Son komut ile icinga2 için API,’yi aktif etmiş olacaksınız. Bir sorun olursa öncesinde icinga2 feature enable api komutu ile de aynı işi yapabilirsiniz.
API için bir user ve şifre belirlememiz gerekiyor , ben user bölümüne director yazdım ve password alanına bir şifre belirledim , bu bilgiler director kurulumu sırasında gerekecektir.
/etc/icinga2/conf.d/api-users.conf dosyasında bu bilgileri doldurabilirsiniz, tabi dilediğiniz text editorü ile, sonuçta kimi nano sever , kimi vi sever , bir tercih meselesi.
/**
* The APIUser objects are used for authentication against the API.
*/
object ApiUser “director” {
password = “SIFREBELIRLEYIN”
// client_cn = “”
permissions = [ “*” ]
}
Icinga2’de API’yi aktif ettiğimiz için sunucuda 5665 nolu port aktif olacaktır , bunu netstat tan doğrulayabilirsiniz. Aşağıdaki komutları da kullanmanızda fayda var.
Buraya kadar her şey yolunda ise şimdi Icinga2’nin web arayüzüne erişiniz , Buradan Configuration menusu altında Modules ve onun altında director menüsüne gelerek sağ bölümden enable ediniz.
Şimdi sıra konfigure etme kısmına geldi , DB Resource bölümünde director isimli veritabanını görüyor olmalısınız , eğer göremiyor iseniz aşağıdaki dosyayı açıp içinde ilgili alana director yazınız.
/etc/icingaweb2/modules/director/config.ini
ve icinga2 servisini yeniden başlatınız.
service icinga2 restart
Eğer yine göremiyor iseniz, aşağıdaki dosyayı açınız , bu bölümde icinga2web ve icinga_ido için 2 bölüm göreceksiniz , o bölümlerden birini kopyalayıp 3. bölüm olarak director veritabanı için dosyanın altına ekleyiniz.
Ve bu arada bazı dökümanlarda perfdata özelliğini de açın demişler , aşağıdaki komut ile açalım.
icinga2 feature enable perfdata
service icinga2 restart
Şimdi web arayüzünde director isimli veritabanını görüp göremediğimize tekrar bakalım , eğer görebiliyor isek bir sonraki adıma geçebiliriz. Bu bölümde bize api’nin portunu , api kullanıcı adı ve şifresini soracaktır , /etc/icinga2/conf.d/api-users.conf dosyasında bunları belirlemiş idik , endpoint ve icingahost kısmına da sunucunun tam adını yazınız. Hepsi bu kadar , Şimdi sol menüden Director ü kullanmaya başlayabilirsiniz.
Icinga2 Director’de No valid elements specified for display group hatası ve çözümü
Icinga2 Director’de Hosts Menüsünden Host Template’iniz için Servis eklerken No valid elements specified for display group hatası alabilirsiniz , endişelenmeyin , Öncelikle Icınga2 Director de Hosts Değil de Service alanına erişip Service Template’i oluşturmanız gerekmekte , Sonrasında hata aldığınız bölüme tekrar gittiğinizde hatanın ortadan kalktığını göreceksiniz.
Icınga2 de, icingaweb2 üzerinden işlem yapmaya çalıştığınızda aşağıdaki hatayı alıyor olabilirsiniz.
Icinga\Module\Monitoring\Exception\CommandTransportException in /usr/share/icingaweb2/modules/monitoring/library/Monitoring/Command/Transport/LocalCommandFile.php:161 with message: Can’t send external Icinga command to the local command file “/var/run/icinga2/cmd/icinga2.cmd”: Permission denied
Öncelikle /var/run/icinga2/cmd/ dizininde icinga2.cmd dosyasının olup olmadığını kontrol edelim.
ayhanarda@icinga2:/var/run/icinga2/cmd# ls -al
total 0
drwxr-s— 2 nagios www-data 60 Oct 5 11:18 .
drwxrwx— 3 nagios www-data 80 Oct 5 11:18 ..
ayhanarda@icinga2:/var/run/icinga2/cmd#
Gözüken o ki dosyamız burada değil. O halde icinga2 mizin özellik listesinde neler olup olmadığına bir göz atalım.
C:\Windows\System32\inetsrv\config\applicationhost .config dosyasının yedeğini bir kenara alıp orjinal dosyayı açınız.
Aşağıdaki bölümü bulunuz , muhtemelen overrideModeDefault bölümü Deny olarak gözükmektedir , bu bölümü Allow olarak değiştiriniz , akabinde iis restart etmenizi gerek bulunmamaktadr , Site hemen çalışacaktır.
MaestroPanel’de An error occured when verifying security for message hatası ve çözümü
Maestropanelde bir alan adı altına email hesabı oluşturmaya çalıştığımızda karşılaştığımız bir hata idi, ancak tabi agent ile iletişime geçmesi gereken her işlemde bu hatanın alınabilmesi olası.
Çözüm maestropanel sunucusu ile ulaşmaya çalıştığı mail serverın arasındaki zaman farkının 5 dakikadan fazla olması idi, maestropanel kurulu sunucunun saatinin daha ileride olduğunu gördük , tabi bu durumun maestro panel ile bir ilgisi yok esasesen.
Sunucu saatini düzenlediğinizde hata kaybolacaktır. Aslında böyle bir kontrol var ise MeastroPanelden’den ricamız bu tarz hata mesajlarını özelleştirmeleri olacaktır.
Eğer benim gibi single node cluster kullanıyor iseniz aşağıdaki komutu ssh tan basarak replica sayısını tekrar set edip bahsi geçen hatayı giderebilirsiniz. Tabi ElasticSearch portunuz farklı ise komutta değiştiriniz. Ya da replica sayınızı örneğin 5 ten 4 indirdiyseniz number of replicas bölümünden sisteminize uygun olacak şekilde değiştiriniz.