DCA 客户端¶
DCA(Datakit Control App)主要用于管理 Datakit,如 Datakit 列表查看、配置文件管理、Pipeline 管理以及帮助文档的查看等功能。
DCA 基本网络拓扑结构如下:
flowchart LR;
dca(DCA);
dk1(Datakit);
dk2(Datakit);
dk3(Datakit);
guance(观测云);
dca_web(Web);
%%%
subgraph "局域网/Cluster"
direction BT
dca_web --> |更新 Datakit 配置|dca;
dca --> dk1;
dca --> dk2;
dca --> dk3;
end
dk1 -.-> |上报数据|guance;
dk2 -.-> |上报数据|guance;
dk3 -.-> |上报数据|guance;
dca -.-> |登录/认证|guance;
guance -.-> |Datakit 列表| dca
开启 DCA 服务¶
在安装命令前添加以下环境变量:
DK_DCA_ENABLE
: 是否开启,开启设置为on
DK_DCA_WHITE_LIST
: 访问服务白名单,支持 IP 地址或 CIDR 格式地址,多个地址请以逗号分割。
示例:
DK_DCA_ENABLE=on DK_DCA_WHITE_LIST="192.168.1.101,10.100.68.101/24" DK_DATAWAY=https://openway.guance.com?token=<TOKEN> bash -c "$(curl -L https://static.guance.com/datakit/install.sh)"
安装成功后,DCA 服务将启动,默认端口是 9531。如需修改监听地址和端口,可设置环境变量 DK_DCA_LISTEN
,如 DK_DCA_LISTEN=192.168.1.101:9531
。
修改配置文件 datakit.conf:
[dca]
# 开启
enable = true
# 监听地址和端口
listen = "0.0.0.0:9531"
# 白名单,支持指定 IP 地址或者 CIDR 格式网络地址
white_list = ["0.0.0.0/0", "192.168.1.0/24"]
配置好后,重启 DataKit 即可。
参见这里
Attention
开启 DCA 服务,必须要配置白名单,如果需要允许所有地址访问,可在安装过程中设置 DK_DCA_WHITE_LIST=0.0.0.0/0
,或者在 datakit.conf 中配置 white_list
,如:
DCA web 服务¶
Attention
不同版本的 DataKit 接口可能存在差异,为了更好地使用 DCA,建议升级 DataKit 为最新版本。另外,Web 版的 DCA 跟桌面版之间还存在一些功能的缺失,后面会慢慢增补进来,并逐步弃用现在的桌面版。
DCA web 是 DCA 客户端的 web 版本,它通过部署一个后端服务来提供 DataKit 的接口代理,并提供前端 Web 页面来实现对 DataKit 的访问。
Docker 安装,可参考文档。
- 下载镜像
运行容器之前,首先通过 docker pull
下载 DCA 镜像。
- 运行容器
通过 docker run
命令来创建和启动 DCA 容器,容器默认暴露访问端口是 80。
- 测试
容器运行成功后,可以通过浏览器进行访问:http://localhost:8000
创建 dca.yaml
文件,内容如下:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: utils-dca
name: dca
namespace: datakit
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: utils-dca
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: utils-dca
spec:
affinity: {}
containers:
- env:
- name: DCA_CONSOLE_API_URL
# 杭州 https://console-api.guance.com
# 宁夏 https://aws-console-api.guance.com
# 广州 https://cn4-console-api.guance.com
# 俄勒冈 https://us1-console-api.guance.com
value: https://console-api.guance.com
- name: DCA_CONSOLE_WEB_URL
value: https://console.guance.com
- name: DCA_LOG_ENABLE_STDOUT
value: 'true'
image: pubrepo.guance.com/tools/dca:0.0.9
imagePullPolicy: Always
name: dca
ports:
- containerPort: 80
name: http
protocol: TCP
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 250m
memory: 100Mi
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
name: dca
namespace: datakit
spec:
ports:
- name: web
port: 80
protocol: TCP
targetPort: 80
selector:
app: utils-dca
sessionAffinity: None
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: dca
namespace: datakit
spec:
rules:
- host: dca.xxxx.com
http:
paths:
- backend:
service:
name: dca
port:
number: 80
path: /
pathType: Prefix
# tls:
# - hosts:
# - dca.xxxx.com
# secretName: xxxx
应用 dca.yaml
文件到 Kubernetes 集群中
环境变量配置¶
默认情况下,DCA 会采用系统默认的配置,如果需要自定义配置,可以通过注入环境变量方式来进行修改。目前支持以下环境变量:
环境变量名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
DCA_CONSOLE_API_URL |
string | https://console-api.guance.com |
观测云 console API 地址 |
DCA_CONSOLE_WEB_URL |
string | https://console.guance.com |
观测云平台地址 |
DCA_CONSOLE_PROXY |
string | 无 | 观测云 API 代理,不代理 DataKit 接口 |
DCA_LOG_LEVEL |
string | INFO | 日志等级,取值为 NONE/DEBUG/INFO/WARN/ERROR,如果不需要记录日志,可设置为 NONE |
DCA_LOG_ENABLE_STDOUT |
bool | false | 日志会输出至文件中,位于 /usr/src/dca/logs 下。如果需要将日志写到 stdout ,可以设置为 true |
示例:
docker run -d --name dca -p 8000:80 -e DCA_LOG_ENABLE_STDOUT=true -e DCA_LOG_LEVEL=WARN pubrepo.guance.com/tools/dca
登录 DCA¶
DCA 开启和安装以后,您可在浏览器输入地址 localhost:8000
进行访问。首次访问时,页面将导向一个登录跳转中转页面。点击页面下方「立即前往」按钮后,您将被引导至观测云平台。接下来,按照页面上的说明指引,配置 DCA 的地址。一旦配置完成,您便能够直接通过观测云平台实现无需登录即可访问 DCA 平台的功能。
查看 DataKit 列表¶
登录到 DCA 后,可在左上角选择工作空间管理其对应 DataKit 及采集器,支持通过搜索关键字快速筛选需要查看和管理的主机名称。
通过 DCA 远程管理的主机分成三种状态:
- online:说明数据上报正常,可通过 DCA 查看 DataKit 的运行情况和配置采集器;
- unknown:说明远程管理配置未开启;
- offline:说明主机已经超过 10 分钟未上报数据。
默认情况下,只能查看当前工作空间里的 DataKit 相关信息,如果需要对 DataKit 进行管理,如 DataKit 升级、采集器、Pipeline 的 新建、删除、修改等,则需要赋予当前帐号DCA 配置管理权限,具体设置可参考角色管理。
查看 DataKit 运行情况¶
登录到 DCA 后,选择工作空间,即可查看该工作空间下所有已经安装 DataKit 的主机名和 IP 信息。点击 DataKit 主机,即可远程连接到 DataKit ,查看该主机上 DataKit 的运行情况,包括版本、运行时间、发布日期、采集器运行情况等,以及可以对 DataKit 进行重新加载操作。
采集器配置管理¶
远程连接到 DataKit 以后,点击「采集器配置」,即可查看已经配置的采集器列表和 Sample 列表(当前 DataKit 支持配置的所有 Sample 文件)。
- 已配置列表:可查看,编辑和删除其下所有的 conf 文件。
- Sample 列表:可查看和编辑其下所有的 sample 文件。
- 帮助:可查看对应的采集器帮助文档
Pipelines 管理¶
远程连接到 DataKit 以后,点击「Pipelines」,即可查看,编辑和测试 DataKit 默认自带的 Pipeline 文件。关于 Pipeline 可参考文档 文本数据处理 。
查看黑名单¶
远程连接到 DataKit 以后,点击「黑名单」,即可查看在观测云工作配置的黑名单,如下图所示 source = default and (status in [unknown])
即为配置的黑名单条件。
注意:通过观测云创建的黑名单文件统一保存在路径:/usr/local/datakit/data/.pull
。
查看日志¶
远程连接到 DataKit 以后,点击「日志」,即可实时查看 DataKit 的日志,并且可以导出相应的日志到本地。