3
1

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.

Instanaのバックエンドサーバのインストール (Ubuntu 20.x版)

Last updated at Posted at 2021-12-24

#はじめに

IBM Cloudのベアメタルサーバ(VMWare)上のUbuntuにInstanaのバックエンドサーバを導入した時のメモになります。 実際に構築する際にどんな感じかイメージするのにご活用ください。

IBM Observability by Instanaとは

Instanaは、APM(アプリケーション・パフォーマンス・モニタリング)分野の製品です。監視対象にAgentを入れて、Agentを取得したデータをバックエンドのサーバに転送し、観測・分析を行う仕組みになってます。
InstanaのDoc アーキテクチャーの概要 より

Instanaでは、バックエンドサーバに SaaSとオンプレミスの2つの環境を提供しています。この投稿では、オンプレミス版のInstanaサーバのインストールした時の手順メモになります。

なお、Instanaのインストール手順は、下記URLのInstanaのドキュメントで提供されています。
https://www.instana.com/docs/ja-JA/self_hosted_instana/installation/

#前提条件

  • Instanaの公式ドキュメントは下記になります。

コンテナー・ベースのインストール
https://www.instana.com/docs/ja-JA/self_hosted_instana/installation/

上記ドキュメントの最小要件に

Instana のインストール先のマシンには、16 基の CPU と 64 GB の使用可能メモリーが必要です

と書かれていましたが、今回は、検証目的なので、以下のスペックとライセンスなど用意しました。オーバーコミットでも検証目的なら。監視対象も少ないので動きました。

  • Ubuntu20.xシステム
  • 12コアのCPU
  • 48GBのメモリ
  • Instanaエージェントキー : Instanaライセンスから取得
  • Instanaセールスキー : Instanaライセンスから取得
  • (FQDN): なくても導入はできます。

解放が必要なポート番号などネットワーク要件は、 ネットワーク・セキュリティーに関する注記を一読ください。

# この記事でのカバーする範囲

  • Dockerのインストール
  • Instanaバックエンドサーバーのパッケージインストール
  • Instanaバックエンドサーバーのインストール

手順

Ubuntuのaptパッケージを最新の状態にする

sudo apt-get update

Dockerの導入

(参考)Dockerの公式ドキュメント:Install Docker Engine on Ubuntu

リポジトリを設定する

  • HTTPS経由でリポジトリに接続できるようにパッケージ追加
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • Dockerの公式GPGキーを追加します。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • リポジトリの追加
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 導入するDockerEngineのバージョン確認
 apt-cache madison docker-ce
 docker-ce | 5:20.10.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
  • Instanaサーバがサポートする Dockerのバージョン
    20.10+
    19.03+
    18.03+
    1.13

(注意)Docker CEのライセンス状況が、ご利用される環境によって異なります。
事前に、ご確認ください。

  • docker-ce 19.03のインストール
sudo apt-get install docker-ce=5:19.03.15~3-0~ubuntu-focal docker-ce-cli=5:19.03.15~3-0~ubuntu-focal containerd.io

  • Dockerの動作確認
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete 
Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

メールサーバの導入

Instanaサーバ構築後、アカウント作成等にInstanaサーバからメールを送信します。ですので、メールサーバが必須になります。

参考までに、以下のサイトを参考に構築しました。 SendGridの活用なども良いでしょう。

Mail サーバー : Postfix インストール
https://www.server-world.info/query?os=Ubuntu_20.04&p=mail&f=1
Mail サーバー : Dovecot インストール
https://www.server-world.info/query?os=Ubuntu_20.04&p=mail&f=2

Instanaパッケージ導入

sudo sh -c "echo \"deb [arch=amd64] https://self-hosted.instana.io/apt generic main\" > /etc/apt/sources.list.d/instana-product.list"
sudo sh -c "wget -qO - \"https://self-hosted.instana.io/signing_key.gpg\" | apt-key add -"
sudo apt-get update
sudo apt-get install instana-console

 SSLサーバ証明書の準備 (Lets' Encripyt編)

Instana BackendサーバのFQDNで使用するSSLサーバ証明書を 今回はLets' Encripytで作成します。

$ sudo apt update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
Hit:2 http://archive.ubuntu.com/ubuntu focal InRelease                                                     
Hit:3 https://self-hosted.instana.io/apt generic InRelease                                                
Get:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Fetched 336 kB in 2s (158 kB/s)   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
2 packages can be upgraded. Run 'apt list --upgradable' to see them.

$ sudo apt install snapd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
snapd is already the newest version (2.51.1+20.04ubuntu2).
snapd set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

$ sudo snap install core; sudo snap refresh core
core 16-2.52.1 from Canonical✓ installed
snap "core" has no updates available

$ sudo apt-get remove certbot
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'certbot' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

$ sudo snap install --classic certbot
certbot 1.21.0 from Certbot Project (certbot-eff✓) installed

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

$ sudo certbot certonly --standalone
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): dai@localhost

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: yes
There seem to be problems with that address. Enter email address (used for
urgent renewal and security notices)


If you really want to skip this, you can run the client with
--register-unsafely-without-email but you will then be unable to receive notice
about impending expiration or revocation of your certificates or problems with
your Certbot installation that will lead to failure to renew.

 (Enter 'c' to cancel): 
Invalid email address: .
Enter email address (used for urgent renewal and security notices)


If you really want to skip this, you can run the client with
--register-unsafely-without-email but you will then be unable to receive notice
about impending expiration or revocation of your certificates or problems with
your Certbot installation that will lead to failure to renew.

 (Enter 'c' to cancel): c
Unable to register an account with ACME server
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

$ sudo certbot certonly --standalone --register-unsafely-without-email
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y
Account registered.
Please enter the domain name(s) you would like on your certificate (comma and/or
space separated) (Enter 'c' to cancel): "<Your FQDN>"
Requesting a certificate for "<Your FQDN>"

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/"<Your FQDN>"/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/"<Your FQDN>"/privkey.pem
This certificate expires on 2022-03-04.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Instana インストール

  • rootでの作業
instana init

docker login containers.instana.io -u _ -p "<Your-agent-key>"
docker pull containers.instana.io/instana/release/agent/dynamic:latest
docker pull containers.instana.io/instana/release/agent/static:latest

root@instana:~# instana init
Setup host environment ✓
? [Please choose Instana installation type] single
? [What is your tenant name?] "テナント名"
? [What is your unit name?] "ユニット名"
? [Insert your agent key (optional). If none is specified, one is generated which does not allow downloads.] "<Your-agent-key>"
? [Insert your download key or official agent key (optional).] "<Your-agent-key>"
? [Insert your sales key] "<Your Sales Key>"
? [Insert the FQDN of the host] "<Your FQDN>"
? [Where should your data be stored?] /mnt/data
? [Where should your trace data be stored?] /mnt/traces
? [Where should your metric data be stored?] /mnt/metrics
? [Where should your logs be stored?] /var/log/instana
? [Path to your signed certificate file?] /etc/letsencrypt/live/"<Your FQDN>"/fullchain.pem
? [Path to your private key file?] /etc/letsencrypt/live/"<your-FQDN>/privkey.pem
Handle certificates ✓
Ensure images ✓
Ensure images ✓
Clean docker containers ✓
Check data directories ✓
Create configurations ✓
Run data stores ✓
Migrate data stores ✓
Run components ✓
Check components ✓
Setup environment urls ✓
Run nginx ✓
Initialize tenant unit ✓

Welcome to the World of Automatic Infrastructure and Application Monitoring

https://"<your FQDN>"
E-Mail: admin@instana.local
Password: "<サーバが発行したパスワード>"

これで、Instanaサーバのインストールは終わりです。
https://""と E-Mailと Passwordを利用してInstanaにログインできるようになります。

Instanaサーバの導入途中に 「unauthorized: authentication required」というエラーで導入が止まってしまう場合は、下記、Qiita投稿を確認してください。

ライセンスのアクティベーション

instanaサーバ終了後、ライセンスのアクティベーションを行う必要があります。

# instana license import
Import license ✓
License is successfully imported
# instana license verify
Verifying local license status ✓

Nr: 1
Valid from: 2021-03-22 00:00:00 +0000 UTC
Valid till: 2121-12-01 23:59:59.999 +0000 UTC

最後に

これで、Instanaのバックエンドサーバの構築は終了し、
FQDNをブラウザで開くことで、Instanaを利用できるようになりました。

次は、Instanaの監視対象へのエージェントのインストールをすると、Instanaで監視ができるようになります。
エージェントのインストールは、下記ドキュメントを参照ください。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?