1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【IBM Cloud】IBM Cloud Monitoring with Sysdigを使って、LinuxのVirtual Server Instanceの監視を行なってみた

Last updated at Posted at 2024-03-12

はじめに

今回はIBM CloudのモニタリングサービスであるIBM Cloud Monitoring with Sysdig(IBM Cloud Monitoring)をプロビジョニングし、立ち上げたVirtual Server Instance(VSI)をLinuxエージェントにて監視する流れを整理したいと思います。
今回の内容にはIBM Cloudのアカウント(無料利用可能)が前提となっています。

IBM Cloud Monitoringのプロビジョニング

まず監視に使用するIBM Cloud Monitoringをプロビジョニングします。
IBM Cloudコンソールに入り、左上のナビゲーション・メニューをクリックし、可観測性モニタリングに入ります。
スクリーンショット 2024-02-19 14.41.46.png
スクリーンショット 2024-02-19 14.42.00.png

インスタンスを作成するため、右上の作成をクリックします。
スクリーンショット 2024-02-19 14.42.12.png

インスタンス作成画面にて、インスタンスのロケーションやプランを選択します。
今回ロケーションは「Tokyo」を選び、プランは「段階課金制」にしていますが、今回の検証にはLiteプランでも可能ですので、適切に設定してください。
下にスクロールすると、インスタンス名やリソース・グループを指定する欄が表示されます。こちらも自由に設定してください。
全ての設定が完了したら右側の作成にてインスタンスをプロビジョニングします。
スクリーンショット 2024-02-19 14.42.34.png
スクリーンショット 2024-02-19 14.56.36.png

インスタンスが作成されると以下の概要画面が表示されます(プロビジョニングは数秒~数分で完了します)。
スクリーンショット 2024-02-19 14.42.58.png

VSIのプロビジョニング

次は監視を行う対象のVSIを立ち上げます。
今回はVirtual Server for VPCを作成しましたが、同じくVPC環境を利用する場合はこちらを参考にVPCやサブネット、SSHなどの設定を行なってください。

IBM Cloudコンソール画面からナビゲーション・メニューVPCインフラストラクチャ仮想サーバー・インスタンスをクリックします。
スクリーンショット 2024-02-19 15.07.41.png

インスタンス作成のため、右側の作成をクリックします。
スクリーンショット 2024-02-19 15.08.21.png

インスタンスの設定を行います。
今回ロケーションは上記同様に「東京」にしています。
スクリーンショット 2024-02-19 15.09.21.png

また、OSとスペックを選択します。今回私はCentOSを選んでおり、スペックは最小構成を選びました。
また、前提条件として作成したSSH鍵も選択します。
スクリーンショット 2024-02-19 15.09.31.png

同様に前提条件として作成したVPCやサブネットを選択します。
全ての設定が完了したら、右側の仮想サーバーの作成をクリックします。
スクリーンショット 2024-02-19 15.10.36.png

サーバーが立ち上がると以下のような概要画面が表示されます。
下にスクロールしネットワーク・インターフェース欄の鉛筆マークをクリックし、浮動 IP(Floating IP)を取得します。
スクリーンショット 2024-02-19 15.30.12.png
スクリーンショット 2024-02-19 15.30.21.png

Linux エージェントのデプロイ

ターミナルを開き、IBM Cloudにログインします。ログインはCLIを使用したワンタイム・パスコードを利用すると便利です。
右上のプロフィールアイコンをクリックし、CLIとAPIにログインをクリックしますと、以下のログインCLIが表示されます。
IBM Cloud CLIをコピーしコマンド入力にてログインを行います。
また、リージョンも4.jp-tokを選択します。
スクリーンショット 2023-01-27 14.52.45.png
スクリーンショット 2023-01-27 14.52.54.png

ログイン結果
API エンドポイント: https://cloud.ibm.com
認証中です...
OK

ターゲットのアカウント XXX (xxxxxxxxxx) <-> xxxxxx


リージョンを選択します (または Enter キーを押してスキップします):
1. au-syd
2. in-che
3. jp-osa
4. jp-tok
5. kr-seo
6. eu-de
7. eu-es
8. eu-gb
9. ca-tor
10. us-south
11. us-south-test
12. us-east
13. br-sao


数値を入力してください> 4
ターゲットのリージョン jp-tok

API エンドポイント:      https://cloud.ibm.com
Region:              jp-tok
ユーザー:              xxxxxx@ibm.com
アカウント:             XXX (xxxxxxxxxx) <-> xxxxxx
リソース・グループ:       リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください
CF API エンドポイント:   
組織:                    
スペース:  

先ほど取得したFloting IPを使ってpingを飛ばし、サーバーが問題なく稼働しているか確認します。

ping
ping xxx.xxx.xxx.xxx
ping結果
PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx): 56 data bytes
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=0 ttl=49 time=23.752 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=1 ttl=49 time=9.283 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=2 ttl=49 time=18.704 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=3 ttl=49 time=12.145 ms
64 bytes from xxx.xxx.xxx.xxx: icmp_seq=4 ttl=49 time=9.096 ms

sshを使ってサーバーにアクセスします。

ssh root@xxx.xxx.xxx.xxx

上記で作成したIBM Cloud Monitoringのインスタンスを開き、メニューからモニタリング・ソースに入ります。
スクリーンショット 2024-02-19 18.43.56.png

Linuxカテゴリーを選択し、記載されているコマンドを入力していきます。
FireShot Capture 059 - Monitoring Sources - IBM Cloud - cloud.ibm.com (1).png

コンソール記載の手順の場合、カーネル・ヘッダーがインストールされていないなどの要因でうまくインストールされない場合があります。その際にはコンソール記載の手順が前後する可能性があります。
そのため、検証される際には以下の手順の方がスムーズかと思います。

まず、モニタリング・エージェントをインストールするときには、エージェントでカーネル・ヘッダー・ファイルが使用されるため、まずはカーネル・ヘッダーをインストールする必要があります。
以下ディストリビューションに沿ったコマンドを入力します。

RHEL、CentOS、Fedora Linux などの場合
yum -y install kernel-devel-$(uname -r)
Debian、Ubuntu Linux などの場合
apt-get -y install linux-headers-$(uname -r)

その後、エージェントインストールのコマンドを入力します。
エンドポイントはプライベートかパブリックかによってコマンドが異なります。必要に応じて入力してください。
(今回はプライベートにしています。)

エージェントインストール
curl -sL https://ibm.biz/install-sysdig-agent | sudo bash -s -- --access_key MONITORING_ACCESS_KEY --collector COLLECTOR_ENDPOINT --collector_port 6443  --tags TAG_DATA --additional_conf 'sysdig_capture_enabled: false\nfeature:\n    mode: monitor_light'
エージェントインストールの結果
* Detecting operating system
Package dkms-3.0.12-1.el7.noarch already installed and latest version
* Installing Sysdig public key
* Installing Sysdig repository
* Installing kernel headers
Package kernel-devel-3.10.0-1160.102.1.el7.x86_64 already installed and latest version
* Installing Sysdig Agent
Creating symlink /var/lib/dkms/draios-agent/12.20.0/source -> /usr/src/draios-agent-12.20.0
Sign command: /lib/modules/3.10.0-1160.102.1.el7.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j2 KERNELRELEASE=3.10.0-1160.102.1.el7.x86_64 -C /lib/modules/3.10.0-1160.102.1.el7.x86_64/build M=/var/lib/dkms/draios-agent/12.20.0/build....
Signing module /var/lib/dkms/draios-agent/12.20.0/build/sysdigcloud-probe.ko
Cleaning build area...

sysdigcloud-probe.ko.xz:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.10.0-1160.102.1.el7.x86_64/extra/
Adding any weak-modules
depmod....
WARNING: Could not find cacert.pem file for python3 certifi package.
         Some appchecks might not work correctly. To correct this,
         run 'pip install certifi' and then re-run the installer.
HMAC : (Module_Integrity) : Pass
SHA1 : (KAT_Digest) : Pass
SHA2 : (KAT_Digest) : Pass
SHA3 : (KAT_Digest) : Pass
TDES : (KAT_Cipher) : Pass
AES_GCM : (KAT_Cipher) : Pass
AES_ECB_Decrypt : (KAT_Cipher) : Pass
RSA : (KAT_Signature) : RNG : (Continuous_RNG_Test) : Pass
Pass
ECDSA : (PCT_Signature) : Pass
ECDSA : (PCT_Signature) : Pass
DSA : (PCT_Signature) : Pass
TLS13_KDF_EXTRACT : (KAT_KDF) : Pass
TLS13_KDF_EXPAND : (KAT_KDF) : Pass
TLS12_PRF : (KAT_KDF) : Pass
PBKDF2 : (KAT_KDF) : Pass
SSHKDF : (KAT_KDF) : Pass
KBKDF : (KAT_KDF) : Pass
HKDF : (KAT_KDF) : Pass
SSKDF : (KAT_KDF) : Pass
X963KDF : (KAT_KDF) : Pass
X942KDF : (KAT_KDF) : Pass
HASH : (DRBG) : Pass
CTR : (DRBG) : Pass
HMAC : (DRBG) : Pass
DH : (KAT_KA) : Pass
ECDH : (KAT_KA) : Pass
RSA_Encrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
RSA_Decrypt : (KAT_AsymmetricCipher) : Pass
	name:     	OpenSSL FIPS Provider
	version:  	3.0.8
	build:    	3.0.8
INSTALL PASSED
* Setting access key
* Setting collector endpoint
* Setting collector port
* Setting connection security
* Adding additional configuration to dragent.yaml
Restarting dragent (via systemctl):                        [  OK  ]

これでエージェントのインストールは完了です。

IBM Cloud Monitoringダッシュボードで確認

上端のダッシュボードを開くをクリックし、IBM Cloud Monitoringダッシュボードに入ります。
スクリーンショット 2024-02-19 18.57.34.png

Monitoringエージェントが導入され、監視できる項目がグループ化されていることがわかります。
主に監視できる項目は以下となります。

  1. statsd
  2. sysdig_agent
  3. sysdig_datastream
  4. sysdig_fs
  5. sysdig_host
  6. sysdig_license
  7. sysdig_program
  8. sysdig_ts

スクリーンショット 2024-02-19 18.59.22.png

各カテゴリーは以下のようなメトリックを確認することができます。

1. statsd
StatsDに関するメトリック
2. sysdig_agent
appcheck、Prometheus、StatsD統合から受信した時系列の合計数 等
3. sysdig_datastream
メトリック・ストリーミングを使用してエクスポートされた時系列の数 等
4. sysdig_fs
ファイルシステムの利用可能なスペース、ファイルシステムの空き領域の割合、ファイルシステムの使用済みスペース、使用中のすべてのファイルシステムの合計値 等
5. sysdig_host
コンテナやホストの数、CPU使用率、ファイルを開く際/アクセス時のエラーの数、1秒あたりのファイル読み取り操作の数、ファイルの読み取り時間、システムコールエラー数 等
6. sysdig_license
エージェント(ホストやworker node)から繋げている台数(デフォルト上限は1,000台)
7. sysdig_program
各プログラムの CPU コア使用率、使用されているファイル記述子の割合、ファイルを開く/アクセス時のエラー数、ファイルの書き込み時間、サーバー (アウトバウンド) 接続の数、受信ネットワークリクエストの数 等
8. sysdig_ts
20 分間隔でユーザーについて取り込まれた時系列の数、10 秒のウィンドウごとにユーザーについて取り込まれた時系列の数 等

スクリーンショット 2024-02-21 10.20.05.png

モニタリング・エージェントの削除

もしエージェントが不要になった場合、デプロイ時同様にコマンドを入力することで簡単に削除することができます。
なお、削除の際も同様にディストリビューションによってコマンドが異なります。

RHEL、CentOS、Fedora Linux などの場合
sudo yum erase draios-agent
Debian、Ubuntu Linux などの場合
sudo yum erase draios-agent
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?