作为系统管理员,您的任务是始终监控 ABBYY Vantage,对其进行管理,发现文档处理过程中可能发生的任何错误,并查明这些错误的原因。
您可以通过以下方式监控 ABBYY Vantage:
- Vantage 日志文件
- 内置 Skill Monitor 服务,该服务收集现有 Vantage Skill 的统计信息,并提供有关已完成和正在进行的事务(Transaction)的详细信息。该服务还可让您获取技术支持所需的事务事件信息。
- 第三方服务,可用于监控 Vantage 的内部流程、监控特定工作流、分析收集的数据以进一步微调和优化文档处理,并收集和分析日志。
在联系技术支持时,除了提供有关错误的信息之外,您还可以通过以下操作提供产品及其组件的版本信息:
- 在左侧窗格中单击 Help,然后单击 About,并选择 Version details。
- 复制这些详细信息。
在 Vantage 中处理文档时生成的日志文件,会本地保存在安装产品的服务器上。
日志的存储方式如下:运行在所有 Kubernetes 节点上的 Fluent Bit 代理会收集容器日志并将其发送到 Fluentd 聚合服务。默认情况下,所有日志都会作为归档文件存储在持久卷上,并可通过 NFS 访问。管理员还可以选择将日志发送到 Elasticsearch 集群。
要访问诊断日志:
- 如果您使用的是外部 NFS 服务器或其他外部存储,请直接跳到步骤 3。
- 对于使用集群内 NFS 服务器进行安装(无高可用性 配置的默认设置),请获取 NFS 服务器的 IP 地址:
kubectl -n nfs get po -lapp.kubernetes.io/name=nfs-kernel-server -o jsonpath='{ .items[*].status.hostIP }'
- 访问共享:
- 对于 NFS:
- Linux:
mount –t nfs <nfs server ip>:/ /opt/mount
- Windows:安装 ClientForNFS,打开文件资源管理器,然后转到
\\<nfs server ip>
- 对于其他类型的外部存储: 请联系系统管理员以获取访问指引。
- 转到
\\<nfs server ip>\<sharename>\<env>\abbyy-monitoring\fluentd-pvc 目录。
要向 ABBYY 客户支持团队提供 Vantage 日志:
- 导航到日志文件夹。日志存储在与 Kubernetes 集群命名空间同名的子文件夹中。Vantage 日志位于
abbyy-vantage 文件夹中。
- 复制与问题发生时间段相对应的文件。日志以 gzip 格式压缩,文件名采用
Y-M-DD-H 格式(例如:2022-12-09-0800.log.gz)。
- 将这些文件发送给 ABBYY 技术支持。
Elasticsearch 和 Kibana 是用于搜索、分析和可视化日志的工具。Elasticsearch 和 Kibana 不会随 ABBYY Vantage 一同安装,必须单独安装和配置。无论产品是否已安装,都可以进行此操作。您也可以使用任何现有的安装。
要安装 Elasticsearch 和 Kibana:
- 克隆存储库:
git clone https://github.com/elastic/cloud-on-k8s.git
cd cloud-on-k8s
git checkout 2.5
cd deploy/eck-operator
- 安装用于部署资源的 Operator:
helm -n elastic upgrade -i eck-operator . --create-namespace
- 创建名为
elastic.yaml 的文件,内容如下:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: elasticsearch
namespace: elastic
spec:
version: 8.5.1
nodeSets:
- config:
indices.fielddata.cache.size: 38%
xpack.ml.enabled: false
xpack.security.enabled: true
count: 1
name: default
podTemplate:
spec:
containers:
- name: elasticsearch
resources:
limits:
memory: 1Gi
cpu: '1'
requests:
cpu: '1'
memory: 1Gi
initContainers:
- command:
- sh
- '-c'
- sysctl -w vm.max_map_count=262144
name: sysctl
securityContext:
privileged: true
runAsUser: 0
nodeSelector:
kubernetes.io/os: linux
volumeClaimTemplates:
- metadata:
name: elasticsearch-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 128Gi
- 创建一个名为
kibana.yaml 的文件,内容如下:
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
namespace: elastic
spec:
version: 8.5.1
count: 1
elasticsearchRef:
name: elasticsearch
podTemplate:
spec:
containers:
- name: kibana
env:
- name: NODE_OPTIONS
value: "--max-old-space-size=2048"
resources:
requests:
memory: 512Mi
cpu: 0.5
limits:
memory: 1Gi
cpu: 1
nodeSelector:
kubernetes.io/os: linux
- 执行以下命令安装 Elasticsearch:
kubectl -n elastic apply -f elastic.yaml
查看部署状态:
kubectl -n elastic get statefulset
- 运行以下命令安装 Kibana:
kubectl -n elastic apply -f kibana.yaml
查看部署状态:
kubectl -n elastic get deployment
- 获取 Elasticsearch 用户密码:
kubectl -n elastic get secret elasticsearch-es-elastic-user -o go-template='{{.data.elastic | base64decode }}'
- 将以下参数添加到您的
env_specific.yaml 文件中:
logging:
enabled: true
elasticsearch:
enabled: true
host: elasticsearch-es-http.elastic.svc.cluster.local
username: elastic
password: elastic_user_password
scheme: https
- 如果在产品安装完成后再安装 Kibana,请更新您的
env_specific.yaml 文件并运行下列命令:
ansible-playbook -i inventories/k8s playbooks/6-DeployMonitoring-k8s.yml
Grafana(与 Prometheus 配合使用)是一种用于数据可视化、监控和分析的工具。Grafana 不会随 ABBYY Vantage 一同自动安装,必须单独安装和配置。您也可以使用任何已有的 Grafana 安装。
Grafana 必须安装在集群中,因为 Prometheus 仅在集群内可用。
要安装 Grafana:
- 创建一个名为
grafana.yaml 的文件。
- 将以下代码复制并粘贴到该文件中,然后保存:
persistence:
enabled: false
rbac:
create: true
namespaced: false
serviceAccount:
create: true
podLabels:
app.kubernetes.io/component: grafana
nodeSelector:
kubernetes.io/os: linux
adminUser: admin
adminPassword: password
plugins:
- grafana-piechart-panel
- flant-statusmap-panel
grafana.ini:
server:
root_url: "%(protocol)s://%(domain)s:%(http_port)s/grafana/"
enable_gzip: "true"
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: abbyy-nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
tls:
- secretName: platform-wildcard
hosts:
- {{ env }}.{{ domain }}
hosts:
- {{ env }}.{{ domain }}
path: "/grafana(/|$)(.*)"
sidecar:
dashboards:
enabled: true
label: grafana_dashboard
datasources:
datasources.yaml:
apiVersion: 1
datasources:
- name: Prometheus
editable: true
isDefault: true
jsonData:
timeInterval: 5s
tlsSkipVerify: true
type: prometheus
url: 'http://prometheus-scaling.abbyy-monitoring.svc.cluster.local:9090'
- editable: true
isDefault: true
jsonData:
timeInterval: 5s
tlsSkipVerify: true
name: Victoria
type: prometheus
url: 'http://victoria-metrics-abbyy.abbyy-monitoring.svc.cluster.local:8428'
将 host 参数的值替换为您的 Vantage 集群域名,并修改初始管理员密码。
- 运行以下命令:
helm repo add grafana https://grafana.github.io/helm-charts
helm -n abbyy-monitoring upgrade -i grafana grafana/grafana -f grafana.yaml