監視が簡単に:Checkmkの使用を開始する方法
公開: 2021-11-24ITインフラストラクチャの監視は複雑ですが、Checkmkのようなツールを使用すると簡単になります。
多くの組織は、製品のパフォーマンスを向上させるために、テクノロジースタックにクラウドネイティブテクノロジーを追加しています。 同時に、多くの場合、独自のネットワークとオンプレミスインフラストラクチャを実行し続けます。 オペレーティングシステム、ストレージ、サーバー、クラウド環境などのさまざまなコンポーネントに対して毎秒生成される膨大な数のメトリックのため、ハイブリッドインフラストラクチャへのこのシフトは、監視で対処する必要があります。これらはすべて、アプリケーションをピーク時に実行するために重要です。パフォーマンス。
これらのメトリックは、DevOpsチームがインフラストラクチャの状態を理解するための重要なシグナルです。 これが、組織がメトリック、視覚化、および分析を使用して本番環境の問題を迅速に特定するのに役立つ監視ソリューションを必要とする理由です。 Checkmkは、最も人気があり便利なインフラストラクチャ監視ツールの1つです。 この記事では、Checkmkがその評判に値する理由と、Checkmkを使って最初の一歩を踏み出す方法について説明します。
Checkmkとは何ですか?
Checkmkは、最新のIT環境のあらゆる側面の機能を常にチェックしており、ハイブリッドインフラストラクチャに特に適しています。 一方では、Checkmkは柔軟性があり、コンテナ、クラウドアセット、およびスイッチやサーバーなどのオンプレミスシステムをサポートします。 一方、Checkmkには、多くのIT専門知識やその他のインテリジェントな機能に基づく自動アラートが付属しているため、監視を開始して管理するのは非常に簡単です。これにより、時間を大幅に節約できます。
Checkmkを無料で使用する場合は、2つのオプションがあります。1つは、完全にオープンソースで制限なしに無料で使用できるCheckmkRawEditionを使用することです。 次に、CheckmkEnterpriseEditionsのすべての追加機能を備えたCheckmkEnterpriseTrial Editionがありますが、30日後、ホストの数は25に制限されます。
Checkmkはどのように問題を解決しますか?
Checkmkは、アプリケーション、サーバー、データベース、ネットワーク、コンテナー、ストレージなどを監視できます。 2,000を超える監視プラグインの膨大なリストを提供します。 これらのプラグインを使用します。 Checkmkを拡張して、市場で入手可能なさまざまなベンダーの特定のテクノロジーを監視できます。 いくつかの人気のあるCheckmkプラグインは、Docker、Kubernetes、Cisco、Nginx、VMware、Linux、Windows、AWS、Dell用です。 2,000以上のプラグインを備えたCheckmkは、現在利用可能な非常に有望なインフラストラクチャ監視ソリューションとして際立っています。
また、どの監視ソリューションでも、メトリックを読み取り、スマートなアラートと通知を設定できる速度と正確さが重要です。 Checkmkのソリューションは、これらすべての基準を満たしています。 自動検出機能により、Checkmkはサービスとデバイスの90%以上を識別できます。 現在、ほとんどの企業はスケーラビリティと自動化を必要としています。 Checkmkを使用すると、監視容量を数百のホストから数千のホストに簡単に拡張でき、自動化に利用できるエージェントを活用できます。
DockerコンテナにCheckmkをインストールします
この記事では、Ubuntu20.04で実行されているLinuxサーバーのDockerコンテナーにCheckmkRawEditionをインストールします。 Dockerhubから、CheckmkDockerコンテナをダウンロードできます。 これまでに約500万回以上のプルがあり、Checkmkがどれほど人気があり広く使用されているかがわかります。
最新のCheckmkバージョンのDockerイメージを取得し、コマンドdockercontainerrunを使用してコンテナー内で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
コンテナの名前は「monitoring」になり、Webサーバーはポート5000をリッスンし、ノードのポート8080で開きます。 コンテナは一時ファイルシステムとローカルタイムゾーンを使用します。
[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
コマンドdocker images
を実行すると、Dockerイメージがダウンロードされたかどうかを確認できます。
[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
コマンドdocker ps
を実行して、Checkmkコンテナーが実行されているかどうかを確認します。
[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
Checkmk Webインターフェイスのログイン詳細を取得するには、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
Checkmk Dockerコンテナーは、デフォルトでhttps:// localhost:8080 / cmk/check_mkで実行されます。 上記のコマンドの出力は、ユーザー名がcmkadminで、パスワードが私の場合はClFxBPreであることを示しています。 Webブラウザーでアドレスを開き、資格情報を使用してログインします。

ログインすると、これが表示される「メインダッシュボード」です。 まだホストを追加していないため、空です。
Checkmkを使用してDockerを監視する
通常、DockerコンテナをホストしているマシンにCheckmkエージェントをインストールしてから、Docker用のCheckmkプラグインを使用してすべてのコンテナを監視します。 このプラグイン(mk_docker.py)は、DockerのPython-APIを使用してDockerコンテナーを追跡し、それらのリアルタイムのステータスとパフォーマンスを完全に可視化します。 Checkmkを使用したDockerモニタリングの詳細については、CheckmkWebサイトを参照してください。
Docker環境では、実行中のDockerコンテナーはCheckmk Dockerコンテナーのみであるため、Dockerコンテナーで実行されているCheckmkエージェントを使用するだけで、DockerホストにCheckmkをインストールしません。 エージェントはCheckmkコンテナにプリインストールされているため、Checkmkコンテナをホストとして追加するだけです。
ターミナルでifconfig
を使用して、Dockerサービスが実行されているIPアドレスを取得しましょう。
[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
私の場合、Dockerサービスは172.17.0.1
で実行されています。 次のステップは、DockerサービスをCheckmkのホストとして追加して、監視できるようにすることです。
- Checkmkに移動し、[設定]->[ホスト]をクリックします。
- 「ホストの追加」をクリックします。
- 次に、ホスト名とIPアドレスを入力し、[保存してサービス構成に移動]をクリックします。
- これを行うと、Checkmkはサービス検出を自動的に開始します。
下にスクロールして、Dockerホストで実行されている監視サービスを確認します。 現在、サービスが監視されていないことがわかります。 すべてを監視したい場合、最も簡単な解決策は「すべて修正」をクリックすることです。 監視するサービスを構成する場合は、これも詳細に行うことができます。 サービスを監視する場合は、 +記号をクリックします。
監視するサービスを選択すると、[監視対象サービス]タブに表示されます。 監視している各サービスのすべてのステータスの詳細が表示されます。 あなたがクリックした場合? 署名すると、そのサービスは未決定のサービスリストに移動します。 X記号をクリックすると、サービスは[無効なサービス]タブに移動します。
4つのサービスを無効にしたので、[サービスの無効化]タブで確認できます。
サービスの追加が完了したら、本番環境に移行する前に変更をアクティブ化する必要があります。
- 右上隅にある黄色の感嘆符(!)が付いた強調表示されたフィールドをクリックして、保留中の変更を確認します。
- 選択したサイトで[アクティブ化]をクリックします。
Checkmkを使用してDockerサービスを正常に監視しました。
結論
これで、インフラストラクチャ監視ツールであるCheckmkについて説明しました。 これは非常に使いやすいツールであり、実稼働環境の監視を試みる必要があります。 CheckmkFreeEditionを試して監視を開始することをお勧めします。