在 Docker 上配置 Instana 后端
您可以在 Docker 上配置 Instana 后台。
为 settings.hcl 文件创建模板
settings.hcl 文件是在安装过程中生成的。 此文件具有所有配置,例如,下载密钥,销售密钥, Instana 相关配置 (例如,概要文件,租户名称,单元名称和环境主机名)。 安装 Instana 后端需要这些配置。 您可以配置此文件,然后 Instana-console 使用此文件来安装 Self-Hosted Classic Edition (Docker)。
如果要安装 Instana ,那么需要安装 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"
}
...
特殊情况多主机
对于多主机设置,不会在 Instana 后端主机上自动创建 ClickHouse 凭证,因为它们必须与 ClickHouse 主机中的值匹配。
将 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
}
启用BeeInstanaMetric 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 |
图表粒度仅根据所选时间范围的持续时间确定。 这意味着更改度量数据保留时间不会影响 Instana 仪表板中显示的度量数据的粒度。 这些度量值保留时间属性仅供参考,不得更改。
为应用前景和最终用户监控保留数据
应用程序透视图 和 最终用户监视 都共享以下数据保留时间参数:
retention {
app_data_short_term = 7
}
| 保留 | 描述 | Type |
|---|---|---|
app_data_short_term |
保留天数。 | int |
更改 app_data_short_term 字段只会影响新的 应用程序透视图 数据。
只有大于或等于 7 天的值才有效。 小于 7 的值会导致整个系统发生故障。
请参阅以下示例:
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"
}
用于网络钩子或邮件集成的自定义证书
如果 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
$JAVA_HOME/lib/security/cacerts复制当前 JVM 密钥库。通过使用带有以下命令的 JVM 密钥工具,将定制证书导入到此密钥库中:
$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>"