Pemantauan menjadi mudah: Cara memulai dengan Checkmk

Diterbitkan: 2021-11-24

Pemantauan Infrastruktur TI itu rumit, tetapi alat seperti Checkmk membuatnya lebih mudah.

Banyak organisasi telah menambahkan teknologi cloud-native ke tumpukan teknologi mereka untuk meningkatkan kinerja produk mereka. Pada saat yang sama, mereka sering terus menjalankan jaringan dan infrastruktur lokal mereka sendiri. Pergeseran ke infrastruktur hybrid ini perlu ditangani dalam pemantauan karena banyaknya metrik yang dihasilkan setiap detik untuk berbagai komponen seperti sistem operasi, penyimpanan, server, lingkungan cloud, dll. Semuanya penting untuk memastikan aplikasi berjalan di puncak pertunjukan.

Metrik ini merupakan sinyal penting bagi tim DevOps untuk memahami kesehatan infrastruktur mereka. Inilah sebabnya mengapa organisasi memerlukan solusi pemantauan untuk membantu mereka dengan cepat mengidentifikasi masalah dalam produksi dengan metrik, visualisasi, dan analitik. Checkmk adalah salah satu alat pemantauan infrastruktur yang paling populer dan bermanfaat. Pada artikel ini, saya akan memberi tahu Anda mengapa Checkmk layak mendapatkan reputasi yang baik dan bagaimana Anda dapat mengambil langkah pertama dengannya.

Apa itu Checkmk?

Checkmk terus-menerus memeriksa fungsi setiap aspek lingkungan TI modern dan sangat cocok untuk infrastruktur hybrid. Di satu sisi, Checkmk fleksibel dan mendukung container, aset cloud, dan sistem lokal seperti sakelar dan server. Di sisi lain, sangat mudah untuk memulai dan mengelola pemantauan Anda, karena Checkmk dilengkapi dengan peringatan otomatis berdasarkan banyak keahlian TI dan fitur cerdas lainnya yang akan menghemat banyak waktu Anda.

Jika Anda ingin menggunakan Checkmk secara gratis, Anda memiliki dua opsi: Pertama, Anda dapat menggunakan Checkmk Raw Edition, yang sepenuhnya open-source dan gratis untuk digunakan tanpa batasan apa pun. Kedua, ada Checkmk Enterprise Trial Edition yang memiliki semua fitur tambahan dari Checkmk Enterprise Editions, tetapi setelah 30 hari jumlah host akan dibatasi menjadi 25.

Bagaimana cara Checkmk menyelesaikan masalah?

Checkmk dapat memantau aplikasi, server, database, jaringan, wadah, penyimpanan, dan yang lainnya. Ini menyediakan daftar besar lebih dari 2.000 plug-in pemantauan. Dengan plugin ini. Checkmk dapat diperluas untuk memantau teknologi spesifik dari vendor berbeda yang tersedia di pasar. Beberapa plugin Checkmk yang populer adalah untuk Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Dengan 2.000+ plug-in, Checkmk menonjol sebagai solusi pemantauan infrastruktur yang sangat menjanjikan yang tersedia saat ini.

Selain itu, untuk solusi pemantauan apa pun, sangat penting seberapa cepat dan benar mereka dapat membaca metrik dan menyiapkan peringatan dan pemberitahuan cerdas. Solusi Checkmk memenuhi semua kriteria ini. Dengan fitur penemuan otomatis, Checkmk dapat mengidentifikasi lebih dari 90% layanan dan perangkat. Sekarang, sebagian besar bisnis memerlukan skalabilitas dan otomatisasi. Anda dapat menskalakan kapasitas pemantauan dari ratusan host hingga ribuan host dengan mudah di Checkmk dan memanfaatkan agennya yang tersedia untuk otomatisasi.

Instal Checkmk di wadah Docker

Pada artikel ini, saya akan menginstal Checkmk Raw Edition dalam wadah Docker di server Linux yang berjalan di Ubuntu 20.04. Dari Dockerhub, Anda dapat mengunduh wadah Checkmk Docker. Ini memiliki hampir 5 juta+ tarikan sejauh ini, yang menunjukkan seberapa populer dan banyak digunakan Checkmk.

checkmk dockerhub

Ambil image Docker dengan versi Checkmk terbaru dan jalankan di dalam container dengan menggunakan perintah docker container run .

 docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest

Nama wadah akan 'memantau', server web akan mendengarkan port 5000 dan terbuka di port 8080 dari node. Wadah akan menggunakan sistem file sementara dan zona waktu lokal.

 [email protected]:~$ sudo docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v/omd/sites --name monitoring -v/etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest Unable to find image 'checkmk/check-mk-raw:2.0.0-latest' locally 2.0.0-latest: Pulling from checkmk/check-mk-raw 33847f680f63: Pull complete 474905f2790b: Pull complete 1804f0e63047: Pull complete f36fe6334464: Pull complete 03c68dfa69cf: Pull complete b60cfdb78e96: Pull complete Digest: sha256:7788fa2e31c7270be201d75285c13ccc7a74f67f991872ea63ba0cfa6708cac6 Status: Downloaded newer image for checkmk/check-mk-raw:2.0.0-latest 9729e323a840a08b0e758cfa9e6dbf76ba5dab4b2ecc4eea5174b8ee1a5cfbcf

Anda dapat memeriksa apakah image Docker telah diunduh dengan menjalankan perintah docker images .

 [email protected]:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE bitnami/node-exporter latest ba0f519ca49b 34 hours ago 104MB checkmk/check-mk-raw 2.0.0-latest 097319702432 13 days ago 1.03GB hello-world latest feb5d9fea6a5 7 weeks ago 13.3kB

Jalankan perintah docker ps untuk melihat apakah wadah Checkmk sedang berjalan.

 [email protected]:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9729e323a840 checkmk/check-mk-raw:2.0.0-latest "/docker-entrypoint.…" About a minute ago Up 59 seconds (health: starting) 6557/tcp, 0.0.0.0:8080->5000/tcp, :::8080->5000/tcp monitoring 3d3a95ed3c25 bitnami/node-exporter:latest "/opt/bitnami/node-e…" 25 hours ago Up 25 hours 9100/tcp node-exporter

Untuk mendapatkan detail login untuk antarmuka web Checkmk, cetak log kontainer Checkmk.

 [email protected]:~$ sudo docker container logs 9729e323a840 ### CREATING SITE 'cmk' Adding /opt/omd/sites/cmk/tmp to /etc/fstab. Going to set TMPFS to off. Temporary filesystem already mounted Updating core configuration... Generating configuration for core (type nagios)...Precompiling host checks...OK OK Executing post-create script "01_create-sample-config.py"...OK Created new site cmk with version 2.0.0p15.cre. The site can be started with omd start cmk. The default web UI is available at http://9729e323a840/cmk/ The admin user for the web applications is cmkadmin with password: ClFxBPre For command line administration of the site, log in with 'omd su cmk'. After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'. ### STARTING XINETD [ ok ] Starting internet superserver: xinetd. ### STARTING SITE Temporary filesystem already mounted Starting mkeventd...OK Starting rrdcached...OK Starting npcd...OK Starting nagios...OK Starting apache...OK Starting redis...OK Initializing Crontab...OK ### STARTING CRON ### CONTAINER STARTED

Wadah Checkmk Docker akan berjalan secara default di https://localhost:8080/cmk/check_mk . Output dari perintah di atas memberi tahu Anda bahwa nama pengguna adalah cmkadmin dan kata sandi, dalam kasus saya kata sandinya adalah ClFxBPre. Buka alamat di browser web dan gunakan kredensial Anda untuk masuk.

cek mk login

Setelah Anda masuk, ini adalah 'Dasbor utama' yang akan muncul. Itu kosong karena Anda belum menambahkan host apa pun.

dasbor checkmk

Monitor Docker Menggunakan Checkmk

Biasanya, Anda akan menginstal agen Checkmk di mesin Anda yang menghosting container Docker Anda dan kemudian menggunakan plug-in Checkmk untuk Docker untuk memantau semua container. Plug-in ini (mk_docker.py) menggunakan Python-API Docker untuk melacak container Docker dan mendapatkan visibilitas penuh ke dalam status dan kinerja real-time mereka. Anda dapat membaca detail lebih lanjut tentang pemantauan Docker dengan Checkmk di situs web Checkmk.

Karena di lingkungan Docker saya hanya ada satu wadah Docker yang berjalan, wadah Checkmk Docker saya, saya hanya akan menggunakan agen Checkmk yang berjalan di wadah Docker dan tidak akan menginstal Checkmk di Host Docker saya. Agen sudah diinstal sebelumnya di wadah Checkmk, jadi, saya hanya perlu menambahkan wadah Checkmk saya sebagai Host.

Mari dapatkan alamat IP yang menjalankan layanan Docker dengan menggunakan ifconfig di terminal.

 [email protected]:~$ ifconfig docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 inet6 fe80::42:59ff:fe8a:8ba8 prefixlen 64 scopeid 0x20<link> ether 02:42:59:8a:8b:a8 txqueuelen 0 (Ethernet) RX packets 5559 bytes 7230215 (7.2 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4164 bytes 614703 (614.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::144a:4682:35e7:bb2 prefixlen 64 scopeid 0x20<link> ether 08:00:27:91:82:82 txqueuelen 1000 (Ethernet) RX packets 699491 bytes 1044235622 (1.0 GB) RX errors 0 dropped 7 overruns 0 frame 0 TX packets 101260 bytes 7555470 (7.5 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 20655 bytes 8446042 (8.4 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 20655 bytes 8446042 (8.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 veth44ba5ce: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::145f:1fff:fee9:a7b0 prefixlen 64 scopeid 0x20<link> ether 16:5f:1f:e9:a7:b0 txqueuelen 0 (Ethernet) RX packets 5559 bytes 7308041 (7.3 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4173 bytes 616263 (616.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vetha82ee43: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::585c:6fff:fe0a:a79b prefixlen 64 scopeid 0x20<link> ether 5a:5c:6f:0a:a7:9b txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 92 bytes 9799 (9.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Dalam kasus saya, layanan Docker berjalan pada 172.17.0.1 . Langkah selanjutnya adalah menambahkan layanan Docker sebagai host di Checkmk agar dapat dipantau.

  • Pergi ke Checkmk dan klik Setup -> Hosts.

checkmk host

  • Klik pada "Tambahkan tuan rumah."

checkmk tambahkan host

  • Sekarang berikan nama host dan alamat IP dan klik 'Simpan & buka konfigurasi layanan'.

checkmk host buruh pelabuhan

  • Setelah Anda melakukannya, Checkmk akan memulai penemuan layanan secara otomatis.

layanan buruh pelabuhan checkmk

Gulir ke bawah untuk melihat layanan pemantauan berjalan di bawah host Docker. Anda dapat melihat layanan tidak dipantau saat ini. Jika Anda ingin memantau semuanya, solusi termudah adalah mengklik 'Perbaiki semua'. Jika Anda ingin mengonfigurasi layanan mana yang harus dipantau, Anda juga dapat melakukannya secara detail. Klik tanda + jika Anda ingin memantau suatu layanan.

daftar layanan buruh pelabuhan checkmk

Setelah Anda memilih layanan yang ingin Anda pantau, layanan tersebut akan muncul di tab 'Layanan yang dipantau'. Anda akan mendapatkan semua detail status untuk setiap layanan yang Anda pantau. Jika Anda mengklik ? tanda, layanan itu akan pindah ke daftar layanan yang belum diputuskan. Jika Anda mengklik tanda X , layanan akan pindah ke tab 'Layanan yang dinonaktifkan'.

layanan terpantau checkmk

Saya telah menonaktifkan empat layanan, jadi saya dapat melihatnya di tab layanan nonaktifkan.

layanan yang dinonaktifkan checkmk

Ketika Anda selesai menambahkan layanan, Anda perlu mengaktifkan perubahan sebelum masuk ke produksi.

  • Klik pada bidang yang disorot dengan tanda seru kuning (!) di sudut kanan atas untuk melihat perubahan yang tertunda.
  • Klik Aktifkan di situs yang dipilih .

Anda telah berhasil memantau layanan Docker menggunakan Checkmk!

Kesimpulan

Jadi itu saja tentang Checkmk, alat pemantauan infrastruktur. Ini adalah alat yang sangat mudah digunakan yang harus Anda coba untuk memantau lingkungan produksi Anda. Saya sarankan mencoba Checkmk Free Edition untuk memulai pemantauan Anda.