İzleme, bilişimin en önemli alanlarından biridir. Bir bilgi işlem ortamında sunucuların veya ağların nasıl çalıştığını her zaman bilmek oldukça önemlidir. Herhangi bir zamanda yanlış giden herhangi bir şeyi işaret edebildiğimiz için iş sürekliliğini sağlamanın en önemli yollarından biridir. Çoğu şirketin, çalışmaları sistemdeki olası sorunları tespit etmek ve bunları ilgili ekiplere bildirmek olan özel bir izleme ekibinin bulunmasının nedeni budur. Etkili izleme ölçümleri ve gösterge tabloları sunan çok sayıda güçlü araç vardır. Bu araçların çoğu ücretsiz ve açık kaynaktır ancak yine de istenen bilgileri sunar. İzleme aracı seçiminiz neyi izlemek istediğinize ve kontrol panellerinde görüntülenmesine ihtiyaç duyduğunuz bilgilere bağlıdır.
OpenNMS (Açık Ağ Yönetim Sistemi), SNMP (Basit Ağ Yönetim Protokolü) ve JMX (Java Yönetim Uzantıları) kullanarak izleme için yerel ve uzak sunucular hakkında kritik bilgileri toplayan, güçlü, ücretsiz ve açık kaynaklı, java tabanlı bir ağ izleme aracıdır. Kurumsal sınıftır, son derece özelleştirilebilir ve ölçeklenebilir olduğundan temel iş uygulamaları ve iş akışlarıyla kolayca entegre olur. OpenNMS, trafik izleme, performans izleme, alarmlar sunar ve e-posta yoluyla uyarılar gönderir.
OpenNMS’in Özellikleri
OpenNMS’in özelliklerinden/avantajlarından bazıları şunlardır:
- Hizmet garantisi
- Gözetim Görünümü
- Servisleri Gözleme
- Performans Yönetimi
- Olay Odaklı
- Kritik Hizmet Takibi
- Coğrafi Harita
- Grafana Desteği
- Elastik Search Yönlendirme
- İşletme Hizmeti İzleme
- İşletme Hizmeti Hiyerarşisi
- Kök Neden ve Etki Analizi
- Alarmlar ve Bildirimler
- Kolay Entegrasyon
- Kaynak Grafiği Görüntüleyicisi
- Hizmet Isı Haritası
- Geri Vites Grafiği Görselleştirmesi
- Provisioning
- Tipoloji Keşfi
- Katman 2 Ağ Topolojilerini Destekler
- Katman 3 Ağ Topolojilerini Destekler
sistem gereksinimleri
Kurulumdan önce aşağıdaki sistem gereksinimlerine sahip olduğunuzu göz önünde bulundurun:
- 2 CPU, 2GB RAM, 20GB Hard Disk
- Sudo ayrıcalıklarına sahip, root olmayan kullanıcı
Yukarıdakileri onayladıktan sonra OpenNMS’in Debian 10|9’a kurulması için sonraki adımları izleyin.
1. Adım: Sistem güncellemesi
Bağımlılıklarla ilgili olası sorunları önlemek için kurulumdan önce en son sistem paketlerine sahip olduğunuzdan emin olun.
sudo apt-get update
sudo apt-get upgrade
Yükseltme başarılı olduktan sonra sistemi yeniden başlatmayı düşünebilirsiniz:
sudo reboot
Adım 2: OpenJDK 11’i Debian’a yükleyin
Debian 10|’da OpenNMS’in başarılı kurulumunu kolaylaştırmak için belirli paketlere ihtiyacımız var.
sudo apt update
sudo apt install default-jdk -y
Yüklendiğinde sürümü onaylayın ve Java ortamını ayarlayın
$ java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Debian-1deb11u1, mixed mode, sharing)
Java ortamını ayarlama
$sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/default-java
$ source /etc/profile
3. Adım: OpenNMS Horizon’u Debian’a yükleyin
Kurulum için Debian sistemimize OpernNMS deposunu ve GPG anahtarını ekleyeceğiz.
OpenNMS APT deposunu ekleyin:
cat << EOF | sudo tee /etc/apt/sources.list.d/opennms.list
deb https://debian.opennms.org stable main
EOF
GPG anahtarını içe aktar:
curl -fsSL https://debian.opennms.org/OPENNMS-GPG-KEY|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/opennms.gpg
Paket dizinini güncelleyin ve openms paketlerini yükleyin:
sudo apt update
sudo apt install opennms
Paket kurulumuna devam etmek için istemleri kabul edin:
....
0 upgraded, 30 newly installed, 0 to remove and 32 not upgraded.
Need to get 874 MB of archives.
After this operation, 1,268 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Kurulum sırasında güncellemeleri önlemek için isteğe bağlı olarak OpenNMS APT deposunu devre dışı bırakabilirsiniz.
$ sudo apt-mark hold libopennms-java libopennmsdeps-java opennms-common opennms-db
libopennms-java set on hold.
libopennmsdeps-java set on hold.
opennms-common set on hold.
opennms-db set on hold.
4. Adım: PostgreSQL Veritabanını Kurun
OpenNMS, PostGgreSQL veritabanını kullanır. OpenNMS’i yükledikten sonra PostgreSQL’i otomatik olarak yükler. PostgreSQL’i başlatın ve durumunu aşağıdaki gibi onaylayın:
$ sudo systemctl start postgresql
$ sudo systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor prese
Active: active (exited) since Sat 2021-08-14 14:35:46 EAT; 5min ago
Process: 10542 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 10542 (code=exited, status=0/SUCCESS)
Aug 14 14:35:46 lorna-pc systemd[1]: Starting PostgreSQL RDBMS...
Aug 14 14:35:46 lorna-pc systemd[1]: Started PostgreSQL RDBMS.
PostgreSQL veritabanı ve şifreli kullanıcı oluşturalım. PostgreSQL komutlarını çalıştırabilmek için öncelikle postgres kullanıcısına geçin.
$ sudo su - postgres
postgres@lorna-pc:~$ createuser opennms
postgres@lorna-pc:~$ psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"
ALTER ROLE
postgres@lorna-pc:~$ createdb -O opennms opennms
PostgreSQL varsayılan kullanıcısını korumak için bir şifre oluşturun
postgres@lorna-pc:~$ psql -c "ALTER USER postgres WITH PASSWORD 'StrongPassw0rd';"
ALTER ROLE
postgres@lorna-pc:~$ exit
Daha sonra OpenNMS konfigürasyonunda veritabanı erişimini ayarlıyoruz. Yapılandırma dosyasını açın:
sudo vim /usr/share/opennms/etc/opennms-datasources.xml
PostgreeSQL DB kullanıcısını ve varsayılan kullanıcıyı gösterildiği gibi ayarlayın
<jdbc-data-source name="opennms"
database-name="opennms"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/opennms"
user-name="opennms"
password="opennms” />
<jdbc-data-source name="opennms-admin"
database-name="template1"
class-name="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/template1"
user-name="postgres"
password="StrongPassw0rd" />
5. Adım: OpenNMS Horizon’u Başlatın ve Başlatın
Bunun için öncelikle Java ortamını tespit etmemiz ve Opennms’in Java ile entegre olması gerektiğinden ısrar etmemiz gerekiyor.
$ sudo /usr/share/opennms/bin/runjava -s
runjava: Looking for an appropriate JVM...
runjava: Checking for an appropriate JVM in JAVA_HOME...
runjava: Skipping... JAVA_HOME not set.
runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
runjava: Searching for a good JVM...
runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.
Kurulumu tamamlamak için aşağıdaki komutu çalıştırın; veritabanını başlatacak ve sistem kitaplıklarını algılayacak
$ sudo /usr/share/opennms/bin/install -dis
.....
- Running pre-execution phase
Creating backup of /usr/share/opennms/etc/service-configuration.xml
Zipping /usr/share/opennms/etc/service-configuration.xml
- Running execution phase
Current configuration: 32 services.
A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
Final configuration: 32 services.
- Saving the execution state
- Running post-execution phase
Removing backup /usr/share/opennms/etc/service-configuration.xml.zip
Finished in 0 seconds
Upgrade completed successfully!
Şimdi OpenNMS’i aşağıdaki gibi başlatın ve etkinleştirin:
sudo systemctl start opennms
sudo systemctl enable opennms
OpenNMS durumunu onaylayın
$ systemctl status opennms
● opennms.service - OpenNMS server
Loaded: loaded (/lib/systemd/system/opennms.service; enabled; vendor preset:
Active: active (running) since Sat 2021-08-14 15:47:43 EAT; 19s ago
Main PID: 12542 (java)
Tasks: 60 (limit: 1799)
Memory: 381.8M
CGroup: /system.slice/opennms.service
├─12541 bash /usr/share/opennms/bin/opennms -s start
└─12542 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java
Adım 6: ufw kullanarak Güvenlik Duvarını yapılandırın
OpenNMS, 8980 numaralı bağlantı noktasında çalışır. Etkin bir güvenlik duvarı çalıştırıyorsanız, gösterildiği gibi bağlantı noktasına izin vermeniz gerekir.
sudo ufw allow 8980/tcp
sudo ufw reload
Adım 7: OpenNMS Horizon’a Tarayıcıdan Erişim
Bu noktada OpenNMS sunucusunu Debian 10|9 üzerinde başarıyla kurduk. Tarayıcıdan erişmek için sistem IP adresinizi veya yapılandırdıysanız ana bilgisayar adını kullanarak URL’yi yazın;
http://<sunucu-ip’iniz>:8980/opennms veya
http://<sunucu-anasistem adınız>:8980/opennms.
Aşağıdaki sayfayı görmelisiniz
Varsayılan oturum açma kimlik bilgileriyle erişim: kullanıcı adı admin ve şifre admin’dir.
Oturum açtıktan sonra yapmak isteyeceğiniz ilk şey, varsayılan yönetici şifresini değiştirmektir. Ana gezinme menüsünün en sağında admin -> şifreyi değiştir seçeneğine tıklayın. admin -> change password. Under User Account Self-service, click on change password.
Adım 8: OpenNMS İzlemeye Bir Sunucu Ekleme
İzlenecek bir sunucu eklemek için gezinme çubuğunun en sağındaki + işaretine tıklayın. Temel hazırlık talebi için bir ad girin. örnek olarak group 1 ismi verdik
Daha sonra izlenecek sunucu için gerekli öznitelikleri girin. İsterseniz doldurabileceğiniz başka isteğe bağlı girişler de vardır.
İşiniz bittiğinde sayfanın altındaki ‘provision’ı tıklayın. Düğümün başarıyla eklendiğini size bildirmelidir
Ana sayfaya döndüğünüzde, ‘Status Overview’ altında, yeni düğümün doldurulmasıyla ilgili bilgileri görebilmeniz gerekir.
OpenNMS Horizon’u Debian 10|’a başarıyla kurduk. 9’a bakın ve monitöre hızlı bir şekilde bir ana bilgisayarı nasıl ekleyebileceğinizi gördünüz. Platformunuza uygun güçlü bir izleme aracı oluşturmak için OpenNMS ile yapabileceğiniz daha pek çok şey var. OpenNMS resmi sitesinde, OpenNMS’in gücünü fark etmeniz için daha fazla yapılandırma konusunda size yardımcı olabilecek birçok bilgi bulunmaktadır.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.