Sensu, hem konteyner hem de konteyner dışı izleme ve çoklu bulut altyapısı için tasarlanmış açık kaynaklı bir altyapı ve uygulama izleme sistemidir. Sensu, teknolojiniz ve sunucu altyapınız için ölçeklenebilir, güvenli ve entegre bir izleme çözümüdür. Sunucuları, uygulama sağlığını ve hizmetleri izlemek ve üçüncü taraf entegrasyonuyla birden fazla hedefe uyarı bildirimi göndermek için kullanılabilir.
Bu öğreticide, Sensu İzleme Yazılımını Debian 11 sunucusuna nasıl kuracağınızı öğreneceksiniz. Sensu’yu yönetmek için Sensu CLI’yi nasıl kuracağınızı da öğreneceksiniz. Son olarak, Sensu Agent aracılığıyla Sensu ile sunucu izlemeyi nasıl kuracağınızı öğreneceksiniz.
Ön koşullar
Bu Sensu dağıtımı için aşağıdaki gereksinimlere ihtiyacınız olacak:
- 4 GB RAM ve 2 CPU’lu bir Debian 11 Sunucusu. Bu gereksinim, altyapı ortamınıza çok bağlıdır.
- Sudo/yönetici ayrıcalıklarına sahip, kök olmayan bir kullanıcı.
- İzlenecek hedef olarak bir Linux makinesi kullanılacaktır.
Sensu Deposunu Ekleme
Sensu kurulumuna başlamak için, Sensu paket deposunu hem Sensu Backend hem de hedef sunucular olmak üzere tüm sistemlerinize eklemeniz gerekecektir.
Sensu deposu, packagecloud.io’da mevcuttur ve sisteminize manuel olarak veya packagecloud.io tarafından sağlanan bash betiği aracılığıyla eklenebilir.
Sensu deposunu eklemeden önce, temel paket bağımlılıklarını kurmak için aşağıdaki apt komutunu çalıştırın. Yüklemeyi onaylamanız istendiğinde Y ve Enter tuşlarına basın.
sudo apt install debian-archive-keyring curl gnupg apt-transport-https
Şimdi Sensu deposunu eklemek için aşağıdaki komutu çalıştırın. Bu bash betiği, Sensu deposunu ve GPG anahtarını Debian sunucularınıza otomatik olarak ekleyecektir.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
Sensu deposunu manuel olarak eklemek isterseniz şu adımları izleyin:
Sensu deposunun GPG anahtarını saklamak için bir anahtarlık dizini oluşturun.
mkdir -p /etc/apt/keyrings/
curl -fsSL https://packagecloud.io/sensu/stable/gpgkey | gpg --dearmor > /etc/apt/keyrings/sensu_stable-archive-keyring.gpg
Aşağıdaki komutu kullanarak Sensu deposunu ekleyin. Bu depo, Debian 11 Bullseye ve Sensu’nun en son kararlı sürümü içindir.
cat <<EOF | sudo tee /etc/apt/sources.list.d/sensu_stable.list
deb [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
deb-src [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
EOF
Artık aşağıdaki apt komutunu kullanarak Debian paket dizininizi güncelleyebilir ve yenileyebilirsiniz.
sudo apt update
Sensu Backend Kurulumu
Sensu izleme çözümünün ana kalbi, bir yönetici tarafından “sensuctl” komut satırı aracılığıyla kullanılabilen bir HTTP API sağlayan “Sensu Arka Uç”tur. İzleme için “Sensu Agent” tarafından kullanılacak WebSocket API’si ve ayrıca Sensu’yu yönetmek için bir web UI kontrol paneli sağlar.
Ayrıca Sensu, özellikle büyük Sensu Kümesi dağıtımında veri depolamak için “etcd” kullandı.
Sensu Backend’i yüklemek için aşağıdaki apt komutunu çalıştırın. Kurulum otomatik olarak başlayacaktır.
sudo apt install sensu-go-backend
Yükleme tamamlandıktan sonra, Sensu arka uç yapılandırma örneğini “/etc/sensu/backend.yml” konumuna indirin. Ardından, aşağıdaki komutu kullanarak “/etc/sensu/backend.yml” dosyasını düzenleyin.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml
sudo nano /etc/sensu/backend.yml
Aşağıdaki yapılandırmanın açıklamasını kaldırın.
cache-dir: "/var/cache/sensu/sensu-backend"
config-file: "/etc/sensu/backend.yml"
log-level: "debug"
state-dir: "/var/lib/sensu/sensu-backend"
İşiniz bittiğinde, dosyayı kaydedin ve kapatın.
Ardından, Sensu Arka Uç hizmetini başlatmak ve etkinleştirmek için aşağıdaki systemctl komutunu çalıştırın. Ve Sensu Backend hizmeti, sistem başlangıcında otomatik olarak çalışıyor olacaktır.
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend
Aşağıdaki komutu kullanarak Sensu arka uç hizmetini kontrol edin ve doğrulayın. Sensu Backend hizmetinin şu anda çalıştığını ve etkin olduğunu görmelisiniz.
sudo systemctl status sensu-backend
Sensu arka ucu çalıştıktan sonra, şimdi Sensu Arka Uç kurulumunu ve yapılandırmasını başlatacaksınız. Bu, Sensu Backend paketi tarafından sağlanan “sensu-backend init” komut satırı kullanılarak yapılabilir.
Ayrıca, Sensu Arka Uç başlatma sırasında, Sensu İzleme Çözümünüz için yönetici kullanıcısını ve parolayı ayarlayacaksınız.
Sensu yönetici kullanıcısı ve parolası için yeni sistem ortamı değişkenleri oluşturmak üzere aşağıdaki komutu çalıştırın. Bu örnekte, “SensuRocks” parolasıyla yeni bir Sensu yönetici kullanıcısı “adminsensu” oluşturacaksınız.
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks
Şimdi aşağıdaki komutu kullanarak Sensu arka ucunu başlatmaya başlayın. Başlatma sürecini görmelisiniz ve Sensu verileri “etcd” veri deposunda saklayacaktır.
sensu-backend init
Sensu arka uç kurulumunuzu kontrol etmek ve doğrulamak için, “8080” varsayılan bağlantı noktasında çalışan Sensu HTTP API’sine curl komutu aracılığıyla Sensu sağlık kontrolü yapacaksınız.
Sensu arka uç kurulumunuzun sağlık kontrolünü yapmak için aşağıdaki curl komutunu çalıştırın. Terminal ekranınızda “health: OK” gibi bir çıktı mesajı görmelisiniz.
curl http://127.0.0.1:8080/health
“3000” TCP bağlantı noktası aracılığıyla Sensu web UI kontrol panelini de ziyaret edebilirsiniz. Web tarayıcınızı açın ve 3000 numaralı bağlantı noktasını izleyerek sunucunuzun IP adresini ziyaret edin (yani: http://192.168.5.100:3000). Ve Sensu giriş sayfasını görmelisiniz.
“SensuRocks” parolasıyla “adminsensu” yönetici kullanıcısını girin. Ardından, Sensu web UI kontrol panelinde oturum açmak için “OTURUM AÇ”a tıklayın.
![](/wp-content/uploads/2023/06/image-2.png)
Şimdi Sensu web yönetim panosunu görmelisiniz.
![](/wp-content/uploads/2023/06/image-3.png)
Sensuctl Komut Satırını Yükleme
Sensu’da yönetici, “sensuctl” kullanarak Sensu web UI yönetim panosu aracılığıyla ve komut satırı terminali aracılığıyla Sensu İzleme Çözümünü yönetebilir.
“sensuctl”, Sensu kaynaklarını yönetmek için bir komut satırı aracıdır. Kaynakları, etkinlikleri ve varlıkları oluşturmanıza, okumanıza ve silmenize izin veren Sensu Arka Uç ile iletişim kurmak için bir HTTP API’si kullanır.
“sensuctl”, Linux, Windows ve macOS gibi birden çok işletim sistemine kurulabilir. “sensuctl” işlevi, Sensu web UI panosuna benzer ve bunu yerel iş istasyonunuza veya altyapınızın güvenli “bastion” sunucusuna kurabilirsiniz.
Debian/Ubuntu tabanlı sistemlerde, “sensuctl” komut satırı aracını yüklemek için aşağıdaki apt komutunu çalıştırın. Kurulum otomatik olarak başlayacaktır.
sudo apt install sensu-go-cli
Kurulum tamamlandıktan sonra, yapılandırmaya ve Sensu Arka Uç sunucusunun API’sine bağlanmaya başlamak için aşağıdaki “sensuctl” komutunu çalıştırın.
sensuctl configure
Sizden aşağıdaki yapılandırmalar istenecektir:
- Kimlik doğrulama yöntemi için “kullanıcı adı/parola”yı seçin.
- Sunucunuzun Sensu Backend API URL’sini girin. Bu örnekte, aynı sunucuda “sensuctl” kuracağız, böylece ana bilgisayar localhost veya “127.0.0.1” olacaktır. Ve Sensu HTTP API için varsayılan bağlantı noktası “8080” – http://127.0.0.1:8080’dir.
- Ad alanı yapılandırması için “varsayılan”ı seçin.
- Çıktı formatı için “tablo” stilini seçebilir veya “yaml” çıktı formatını kullanabilirsiniz.
- Son olarak, Sensu Backend’iniz için yönetici kullanıcısını ve şifresini girin.
Artık “sensuctl” temel yapılandırmasını tamamladınız ve Sensu Arka Uç API sunucusuna bağlandınız.
![](/wp-content/uploads/2023/06/image-4.png)
Konfigürasyonunuzu kontrol etmek için aşağıdaki “sensuctl” komutunu çalıştırın. “sensuctl” için ayrıntılı API yapılandırmalarını görmelisiniz.
sensuctl config view
![](/wp-content/uploads/2023/06/image-5.png)
Ek olarak, “sensuctl”, kabuğunuz için bir otomatik tamamlama da sağlar. Bash kullanıyorsanız, “bash-completion” paketini kurmanız ve “~/.bashrc” yapılandırma dosyasına bazı yapılandırmalar eklemeniz gerekir.
“bash-completion” paketini kurmak için aşağıdaki apt komutunu çalıştırın.
sudo apt install bash-completion
Şimdi aşağıdaki komutu kullanarak “~/.bashrc” yapılandırmasını düzenleyin.
sudo nano ~/.bashrc
Aşağıdaki yapılandırmayı dosyaya ekleyin.
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
source <(sensuctl completion bash)
İşiniz bittiğinde, dosyayı kaydedin ve kapatın.
Ardından, aşağıdaki komutu kullanarak kabuğunuzun geçerli oturumunu yeniden yükleyin.
source ~/.bashrc
Son olarak, “sensuctl” komutunu girin ve mevcut tüm komut seçeneklerini almak için SEKME düğmesine basın. “sensuctl” komutunun mevcut tüm seçeneklerini almalısınız.
sensuctl TAB
![](/wp-content/uploads/2023/06/image-6.png)
Sensu Agent’ı Yükleme
Sensu kullanarak ana bilgisayarı veya makineyi izlemek için, tüm ana bilgisayarlarınıza Sensu Agent paketini yüklemeniz gerekir. Sensu Agent, neredeyse Linux dağıtımları ve Windows için kullanılabilir.
Sensu Agent’ı bir Linux sistemine kurmak için Sensu deposunun eklendiğinden emin olun.
Debian/Ubuntu tabanlı sistemde, Sensu Agent paketini kurmak için aşağıdaki apt komutunu çalıştırın. Şimdi kurulum başlayacak.
sudo apt install sensu-go-agent
Yükleme tamamlandıktan sonra, Sensu Agent yapılandırmasını “/etc/sensu/agent.yml” konumuna indirin. Ardından, aşağıdaki komutu kullanarak “/etc/sensu/agent.yml” yapılandırmasını düzenleyin.
sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml
sudo nano /etc/sensu/agent.yml
Aşağıdaki yapılandırmaların yorumlarını kaldırın. buradaki “ad”ı sistem ana bilgisayar adına ve “arka uç-url”yi Sensu Arka Uç sunucusunun IP adresiyle değiştirdiğinizden emin olun.
Bu örnekte, “linux-host1” ana bilgisayar adına sahip ve “varsayılan” ad alanında bulunan bir Debian makinesi ekleyeceğiz. Buradaki Sensu Arka Uç sunucusu “192.168.5.100” ve Sensu Arka Uç’un varsayılan WebSocket API bağlantı noktası “8081”.
name: "linux-host1"
namespace: "default"
...
backend-url:
- "ws://192.168.5.100:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"
Bitirdiğinizde, dosyayı kaydedin ve kapatın.
Ardından, Sensu Agent hizmetini başlatmak ve sistem önyüklemesinde otomatik olarak çalışmasını sağlamak için aşağıdaki komutu çalıştırın.
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agent
Şimdi Sensu Agent hizmetini kontrol etmek ve doğrulamak için aşağıdaki komutu çalıştırın. Sensu Agent’ın çalıştığını ve etkinleştirildiğini görmelisiniz.
sudo systemctl status sensu-agent
Ardından, web tarayıcınıza geri dönün ve “varsayılan” namespace seçin. Ve “linux-host1” adlı yeni varlık sunucusunun kullanılabilir olduğunu görmelisiniz.
Aşağıdaki gibi “sensuctl” komutunu kullanarak terminal komut satırından da kontrol edebilirsiniz. Sensu Monitoring Solution’a eklenen “linux-host1” aracısını görmelisiniz.
sensuctl entity list --format tabular
![](/wp-content/uploads/2023/06/image-7.png)
Kontrollerle Sunucu Kaynaklarını İzleyin
Sensu Aracısı, aracı düğümü veya hedef sunucu için WebSocket API aracılığıyla Sensu Arka Uca bir yol sağlamak için çalışır. CPU kullanımı, bant genişliği kullanımı ve Disk kullanımı gibi sunucu kaynaklarını izlemek için “Abonelik” oluşturmanız ve bunun üzerinde bir “Kontrol” oluşturmanız gerekir. Ardından, Sensu Agent’a veya hedef sunucuya birden çok “Abonelik” ekleyebilirsiniz.
Sensu kullanarak sunucu kaynaklarını izlemek için aşağıdaki adımları uygulamanız gerekir:
- Abonelik Oluşturma
- Sensu Çalışma Zamanı Varlıklarını Kaydedin
- Sistem kaynaklarını kontrol etmek için Checks komutunu tanımlayın
Daha ileri gitmeden önce, “linux-host1” varlığına “system” adlı yeni bir abonelik oluşturmak için aşağıdaki “sensuctl” komutunu çalıştırın.
sensuctl entity update linux-host1
Sizden aşağıdaki sorular istenecektir:
- ‘Varlık Sınıfı’ için varsayılan “agent” olarak bırakın ve ENTER’a basın.
- “Abonelikler” için aboneliğin adını “sistem” olarak girin ve ENTER’a basın.
![](/wp-content/uploads/2023/06/image-8.png)
Sensu’da, “Kontroller” temelde sadece sunucu kaynaklarını izlemek için kullanılabilecek bir komutu tanımladı. “Kontroller”, tüm izleme ihtiyaçlarınız için Sensu “Varlıklar” ve “Abonelikler” üzerinde tanımlayabileceğiniz komut satırıdır. “Kontroller” oluşturmak için, “sensuctl” komutu aracılığıyla dinamik çalışma zamanı varlıklarını ayarlayacaksınız. Tüm Sensu “Varlıkları” https://bonsai.sensu.io/ adresinde bulunabilir.
Şimdi CPU kullanımını izlemek için Sensu “Varlıklarını” oluşturmak ve kaydetmek için aşağıdaki “sensuctl” komutunu çalıştırın. “eklenen varlık: sensu/check-cpu-usage:0.2.2” gibi bir çıktı mesajı görmelisiniz. Bu örnekte, varlığın varsayılan adını da “-r” seçeneğiyle “check-cpu-usage” olarak yeniden adlandırdık.
sensuctl asset add sensu/check-cpu-usage:0.2.2 -r check-cpu-usage
![](/wp-content/uploads/2023/06/image-9.png)
Şimdi Sensu varlıklarının listesini kontrol etmek için aşağıdaki komutu çalıştırın. Sensu’da “check-cpu-usage” varlığının mevcut olduğunu görmelisiniz.
sensuctl asset list
![](/wp-content/uploads/2023/06/image-10.png)
Ardından, CPU kullanımını izlemek için “Kontroller” komutunu oluşturmak için aşağıdaki komutu çalıştırın. Bu örnekte, “sistem” aboneliğinde ve “check-cpu-usage” varlığına dayalı olarak kullanılabilecek “check_cpu” adlı yeni bir kontrol komutu oluşturacaksınız. Buradaki parametreyi “–command” seçeneğinde de değiştirebilirsiniz. Ve “Oluşturuldu” gibi bir çıktı mesajı almalısınız.
sensuctl check create check_cpu \
--command 'check-cpu-usage -w 75 -c 90' \
--interval 60 \
--subscriptions system \
--runtime-assets check-cpu-usage
“check_cpu”yu kontrol etmek ve doğrulamak için aşağıdaki “sensuctl” komutunu çalıştırın. Az önce oluşturduğunuz “check_cpu”nun “Check” ayrıntılarını görmelisiniz.
sensuctl check info check_cpu --format yaml
![](/wp-content/uploads/2023/06/image-11.png)
Artık aşağıdaki komutu kullanarak “check_cpu” olay izlemesini doğrulayabilirsiniz. “linux-host1” için CPU kullanımı izlemenin yapılandırıldığını ve tamamlandığını görmelisiniz.
sensuctl event list --format tabular
![](/wp-content/uploads/2023/06/image-12.png)
Şimdi Sensu yönetim panosuna gidin ve “varsayılan” ad alanını seçin. “Entity” menüsünden “linux-host1” ajanının Sensu izleme Sistemine eklenmesini sağlamalısınız.
![](/wp-content/uploads/2023/06/image-13.png)
Şimdi “linux-host1” aracısının ayrıntılarını tıklarsanız, az önce oluşturduğunuz “Checks” “check_cpu” izlemesini göreceksiniz.
![](/wp-content/uploads/2023/06/image-14.png)
Ardından, izleme sisteminiz için daha fazla “Kontrol” ekleyebilir ve oluşturabilirsiniz.
Yazının orijinalini buradan okuyabilirsiniz.
![](/wp-content/uploads/2022/03/Huseyin-guc.jpeg)
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.