在 Docker 上配置 Instana 后端
您可以在 Docker 上配置 Instana 后端。
为 settings.hcl 文件创建模板
settings.hcl 文件是在安装过程中生成的。 该文件包含所有配置,例如下载密钥、销售密钥,以及与 Instana 相关的配置,如配置文件、租户名称、单位名称和环境的主机名。 安装 Instana 后端需要这些配置。 您可以配置此文件,然后 Instana-console 使用该文件来安装自托管经典版( Docker )。
settings.hcl 文件。如果需要,请通过运行以下命令创建具有缺省 (空) 值的 settings.hcl 文件:
instana settings template
缺省配置
安装期间将填充以下参数的值:
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>"
}
如果要更改参数,请运行 vi settings.hcl 命令。 要将新配置设置应用到您的经典版 ,请运行 instana update 该命令。
数据目录
Instana 默认采用以下目录结构:
dir {
metrics = "/mnt/metrics"
traces = "/mnt/traces"
data = "/mnt/data"
logs = "/var/log/instana"
}
| 目录 | 描述 | Type |
|---|---|---|
| 度量 | Cassandra 在此父目录中创建其数据目录。 在具有专用磁盘 (/mnt/metrics) 的高 IO 设备上安装目录。 |
字符串 |
| 跟踪 | ClickHouse 在此父目录中创建其数据目录。 在具有专用磁盘 (/mnt/traces) 的高 IO 设备上安装目录。 |
字符串 |
| 数据 | Instana 以及第三方组件将数据存储在此父目录中。 | 字符串 |
| 日志 | Instana 堆栈中的所有组件都会在此父目录中创建日志文件。 | 字符串 |
数据存储凭据
所有数据存储器都需要认证。 可选: 配置凭证。 初始生成未指定的凭证并将其添加到 settings.hcl 文件。 您可以通过在 settings.hcl 文件中更新密码来更改密码。
要应用更改,请运行以下命令:
instana update
...
datastore "cassandra" {
user = "cassandra"
password = "SECURE_PASS"
}
datastore "elasticsearch" {
user = "elastic"
password = "SECURE_PASS"
}
datastore "kafka" {
user = "kafka"
password = "SECURE_PASS"
}
datastore "clickhouse" {
user = "clickhouse"
password = "SECURE_PASS"
}
datastore "postgres" {
user = "postgres"
password = "SECURE_PASS"
}
datastore "aggregator" {
user = "aggregator"
password = "SECURE_PASS"
}
...
特例:多主机
将 ClickHouse 主机的 ClickHouse 凭据块复制到 Instana 主机的文件 settings.hcl 中。
数据保留
基础设施和平台监控的数据保留
安装期间将计算以下数据保留时间参数。 值为零表示系统不会除去此时间范围的累积。 对于规模较小的汇总,若设置为零值,可能会导致磁盘迅速填满。
retention {
metric_roll_up_5 = 86400
metric_roll_up_60 = 2678400
metric_roll_up_300 = 8035200
metric_roll_up_3600 = 34214400
}
启用 BeeInstana Metric Pipeline (公共预览) 时,可以为存储在 BeeInstana 数据存储器中的度量配置保留时间。 请参阅以下示例:
env_var "FLAGS_retention_10s"{
value="86400"
}
env_var "FLAGS_retention_60s"{
value="2678400"
}
env_var "FLAGS_retention_300s"{
value="8035200"
}
env_var "FLAGS_retention_3600s"{
value="34214400"
}
| 保留 | 描述 | Type |
|---|---|---|
metric_roll_up_5 |
提供1秒和5秒汇总数据的时长(以秒为单位) | int |
metric_roll_up_60 |
提供1分钟汇总数据的时长(以秒为单位) | int |
metric_roll_up_300 |
提供5分钟汇总数据的时长(以秒为单位) | int |
metric_roll_up_3600 |
提供1小时汇总数据的时长(以秒为单位) | int |
FLAGS_retention_10s |
存储在 BeeInstana 中的10秒度量数据保留的时间(以秒为单位) | int |
FLAGS_retention_60s |
存储在 BeeInstana 中的60秒指标数据保留的时间(以秒为单位) | int |
FLAGS_retention_300s |
存储在 BeeInstana 中的5分钟指标数据保留的时间(以秒为单位) | int |
FLAGS_retention_3600s |
BeeInstana 中存储的 1 小时度量数据保留的时间(以秒为单位) | int |
应用程序视图和终端用户监控的数据保留
应用程序视图和终端用户监控均采用以下数据保留参数:
retention {
app_data_short_term = 7
}
| 保留 | 描述 | Type |
|---|---|---|
app_data_short_term |
保留天数。 | int |
更改 app_data_short_term 字段只会影响新的 应用程序透视图 数据。
请参阅以下示例:
app_data_short_term从 7 天更改为 14 天: 如果旧数据早于 7 天,那么将删除旧数据; 如果新数据早于 14 天,那么将删除新数据。app_data_short_term从 14 天更改为 7 天: 如果旧数据超过 14 天,那么将删除旧数据; 如果新数据超过 7 天,那么将删除新数据。
更改该字 app_data_short_term 段会对新旧终端用户监控数据立即生效。
请参阅以下示例:
app_data_short_term从 7 天更改为 14 天: 如果新旧数据存在 14 天,那么将删除新旧数据。app_data_short_term从 14 天更改为 7 天: 如果旧数据为 7 天,那么将删除旧数据和新数据。
在保留期结束后,数据的子集将保留 13 个月。
设置
Docker 仓库设置
请参阅以下设置:
docker_repository {
base_url = "my.mirror.internal/v2/artifact-public.instana.io"
username = "user"
password = "pass"
}
| 参数 | 描述 | Type |
|---|---|---|
base_url |
镜像存储库的基本 URL,具体取决于您的标记。 | 字符串 |
username |
存储库服务器的用户名。 | 字符串 |
password |
存储库服务器的密码。 | 字符串 |
最终用户监控 (EUM) 设置
请参阅以下设置:
eum {
tracking_base_url = "https://mobile.acmecorp.com/eum/"
}
| 参数 | 描述 | Type |
|---|---|---|
tracking_base_url |
URL 用于发布最终用户监控摄取端点的。 此配置对数据采集或处理没有任何影响。 而是用于在 Instana 用户界面中提供正确的 JavaScript 和移动应用程序代理程序安装指示信息。 如需了解更多信息,请参阅专门的《 配置最终用户监控 》文档。 | 字符串 |
通知服务器设置
请参阅以下设置:
email {
smtp {
from = "notif@acmecorp.com"
host = "relay-1.acme.internal"
port = 25
user = "ops-notif@acmecorp.com"
password = "yUnoEm41l"
use_ssl = true
start_tls = false
}
}
| 参数 | 描述 | Type |
|---|---|---|
from |
来自通知电子邮件的发件人的电子邮件地址。 | 字符串 |
host |
发送通知电子邮件的 SMTP 服务器地址或主机名。 | 字符串 |
port |
发送通知电子邮件的 SMTP 服务器的端口。 | int |
user |
发送通知电子邮件的 SMTP 服务器的用户名。 | 字符串 |
password |
发送通知电子邮件的 SMTP 服务器的密码。 | 字符串 |
use_ssl |
该值表示发送通知邮件的 SMTP 服务器是否使用 SSL 加密。 | 布尔值 |
start_tls |
该值表示发送通知邮件的 SMTP 服务器在建立连接后是否会升级到 TLS。 | 布尔值 |
OAuth 设置
请参阅以下设置:
o_auth {
client_id = "123456-1n574n4adgjlmnop.apps.googleusercontent.com"
client_secret = "XNLV-fpf_deadBeEf1234"
}
| 参数 | 描述 | Type |
|---|---|---|
client_id |
Google oauth 凭证的客户机标识。 | 字符串 |
client_secret |
Google oauth 凭证的客户机密钥密码。 | 字符串 |
代理设置
请参阅以下设置:
proxy {
host = "10.9.4.13"
port = 8080
user = "anonymous"
password = "P4ssword1234"
non_proxyHosts = ["google.com"]
}
| 参数 | 描述 | Type |
|---|---|---|
host |
如果后端服务器使用代理服务器与因特网通信,请输入代理地址或主机名。 | 字符串 |
port |
代理服务器要与之交谈的端口。 | int |
user |
代理服务器的用户名。 | 字符串 |
password |
代理服务器的密码。 | 字符串 |
non_proxyHosts |
绕过特定主机代理的设置。 要使用多个域名,请用逗号分隔,例如,["google.com","example.com"]. | 字符串 |
启用 HSTS
要在全局范围内启用 HTTP 严格传输安全 ( HSTS ),请在 文件 settings.hcl 根目录下添加以下标记:
hsts_enabled = true
生成 REST API 客户端
本地开放式 API 规范的 URL 地址为 https://{onpremhost}/docs/openapi (自本地版本 170 起)。 有关如何配置 REST API 客户端的更多信息,请参阅 Web REST API 文档。
替换现有证书
要将现有证书替换为其他证书,请使用以下命令更新 settings.hcl 文件中证书文件的路径:
cert {
...
}
然后,通过运行以下命令来更新系统:
instana update -f /path/to/settings.hcl
cert {
crt = "/mnt/cert/tls.crt"
key = "/mnt/cert/tls.key"
}
Webhook 或邮件集成的自定义证书
如果 Instana 无法验证您的 SMTP 服务器提供的证书,您可能会看到以下 TLS 错误:
ERROR c.i.email.service.client.JavaMail - Mail could not be send due to an error
javax.mail.MessagingException: Could not convert socket to TLS
要配置您的 Instana 安装,使其能够使用自定义证书成功将数据发送至Webhook,请提供一个包含您的JVM证书的自定义 Java™ 密钥库(jssecacerts)。
请按照以下步骤配置您的 Instana 安装:
从 JVM 中复制当前的 JVM
$JAVA_HOME/lib/security/cacerts密钥库。请使用 JVM 的keytool工具,通过以下命令将您的自定义证书导入此密钥库:
$JAVA_HOME/bin/keytool -importcert -file custom-crt.crt -alias instana.com -keystore cacerts -storepass changeit通过在
settings.hcl文件的根目录中设置custom_keystore配置密钥,添加密钥库的绝对路径。custom_keystore="<path_to_javakeystore>"