はじめに
この投稿は、IBM Cloud Paks Advent Calendar 2021 Advent Calendar 2021 の 17日目の投稿になります。
IBM Cloud Pak for Watson AIOpsの関連製品であるIBM Observability by Instana は、まだまだ、日本語の導入TipsがGoogleで検索しても皆無なので、 ハマりがちなTipsの1つを投稿します。
IBM Observability by Instanaとは
Instanaは、APM(アプリケーション・パフォーマンス・モニタリング)分野の製品です。監視対象にAgentを入れて、Agentを取得したデータをバックエンドのサーバに転送し、観測・分析を行う仕組みになってます。
InstanaのDoc アーキテクチャーの概要 より
Instanaでは、バックエンドサーバに SaaSとオンプレミスの2つの環境を提供しています。この投稿では、オンプレミス版のInstanaサーバをインストールした時に、" unauthorized: authentication required"と コンテナイメージをpullできなくて、インストールができなくて困った時のTipsです。
なお、Instanaのインストール手順は、下記URLのInstanaのドキュメントで提供されています。
https://www.instana.com/docs/ja-JA/self_hosted_instana/installation/
事象
instana init
コマンドして、始まるインタラクシェルで必要な情報を入力した後に、始まるインストールの途中で、導入する際に、 can not pull image 省略 unauthorized: authentication required
エラーで インストールが止まってしまう。
# instana init
Setup host environment ✓
? [Please choose Instana installation type] single
? [Insert your agent key (optional). If none is specified, one is generated which does not allow downloads.] aaabbbcccddd
? [Insert your download key or official agent key (optional).] aaabbbcccddd
? [Insert your sales key] xxxyyyzzz
〜〜〜省略〜〜〜〜
? [Path to your private key file?]
Handle certificates ✓
Ensure images ✗
can not pull image containers.instana.io/instana/release/product/cockroachdb:21.1.7 Error response from daemon: Get https://containers.instana.io/v2/instana/release/product/cockroachdb/manifests/21.1.7: unauthorized: authentication required
解決方法
- Agent Keyが 有効であるか確認する。
-
instana init
を実行したフォルダに生成されるsettings.hcl
ファイルに記載されているAgent Keyが正しく入力されているか確認する。
- Instana の構成 (settings.hcl) 例
https://www.instana.com/docs/ja-JA/self_hosted_instana/configuration
type = "single"
profile = "normal"
tenant = "<Your-tenancy-identifier>"
unit = "<Your-backend-identifier>"
agent_key = "<Your-agent-key>"
sales_key = "<Your-sales-key>"
host_name = "<The-FQDN-of-the-machine-the-backend-is-installed-on>"
token_secret = "<max_12_digits>"
cert {
crt = "<Path-to-your-signed-certificate>"
key = "<Path-to-your-private-key-file>"
}
〜〜〜〜〜〜〜〜省略〜〜〜〜〜〜〜〜〜〜〜〜
docker_repository {
base_url = "containers.instana.io"
username = "_"
password = "<Your-agent-key> "
}
今回、ハマったのは、 Agent Keyは問題なく、
実は、instana init
コマンドを実行した後に始まる、インタラクティブシェルで Agent Keyを入力するために、コピペした際に
password = "<Your-agent-key>空白"
の様に空白が紛れ込んでいたのが原因で、この値を使って、pullで認証できないってエラーになってました。 余計な空白は削ってくれないんですね。
最後に
特に導入時にコピペをやってると、余計な文字が含まれがちです。
その時に、 "unauthorized: authentication required" ってエラーが出ちゃうと、 まさか、空白が原因だって気がつかなくて、 ライセンスの問題なのか、それとも導入が悪いのか色々調べ尽くして、時間が費やされてしまいます。
いつか、どなたかが困った時に Googleで検索した時にヒットしてお役に立つことでしょう。