本文主要扩展SLS-Kibana Helm Chart在多云场景下的安装方法。在微软Azure云平台上,可通过Helm工具部署名为sls-kibana的Helm Chart(部署包),以此在Azure环境中运行日志分析与可视化系统(包含Kibana及相关组件)。本文向您介绍在Azure上构建日志分析系统的操作步骤。
操作步骤
如果您是阿里云ACK环境,请参考对接Kibana。
创建并编辑
values.yaml
文件,内容如下,请根据实际情况修改。kibana: serviceType: ClusterIP # 对应service中的Type,可设ClusterIP,LoadBalancer # serviceAnnotation: # 对应service中annotation # service.beta.kubernetes.io/azure-load-balancer-internal: 'true' # service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "xxx-subnet" ingressClass: nginx # 根据实际安装的ingress controller修改, 如果为空表示不使用ingress ingressDomain: #可以为空,如果需要通过域名访问kibana,可以设置该值 ingressPath: /kibana/ # 必填,访问时的子路径 # 如果ingressDomain非空, 那么ingressPath支持设置为/ #i18nLocale: en # 设置Kibana的语言,默认为英文,如果需要中文可以设置值为zh-CN elasticsearch: password: aStrongPass # 请根据实际情况修改es的密码,同时也是kibana的访问密码,对应账号为elastic diskStorageSize: 16Gi diskStorageClassName: managed-csi # 设置storageClass名称 repository: region: cn-hangzhou # 镜像所在区域,中国固定设置为cn-hangzhou 海外固定设置为ap-southeast-1;会使用公网拉取镜像 sls: - project: k8s-log-c5****** # sls的project endpoint: cn-huhehaote.log.aliyuncs.com # sls project对应的endpoint accessKeyId: 具有sls访问权限的accessKeyId accessKeySecret: 具有sls访问权限的accessKeySecret # alias: etl-logs # 可选,如果觉得project名在kibana中显示太长,可以设置别名 # kibanaSpace: default # 可选,指定index pattern创建在哪个space下; 不存在则自动创建 # logstoreFilters: "*" # 可选,过滤哪些logstore自动创建index pattern创建,多个pattern用逗号分隔,比如 "access*,error*",注意加上双引号。 # 如果有第二个继续按上面的格式添加 #- project: etl-dev2 # sls的project # endpoint: cn-huhehaote.log.aliyuncs.com # sls project对应的endpoint # accessKeyId: 具有sls访问权限的accessKeyId # accessKeySecret: 具有sls访问权限的accessKeySecret # alias: etl-logs2 # 可选,如果觉得project名在kibana中显示太长,可以设置别名 # kibanaSpace: default # 可选,指定index pattern创建在哪个space下; 不存在则自动创建 # logstoreFilters: "*" # 可选,过滤哪些logstore自动创建index pattern创建,多个pattern用逗号分隔,比如 "access*,error*",注意加上双引号 #kproxy: # maxAllowTimeRangeSeconds: 900 # 限制允许查询的时间范围,默认不限制
参数说明
说明
kibana.ingressClass
根据实际安装的ingress controller修改,查看组件的步骤请参见管理组件。
ALB Ingress Controller:设置为alb
MSE Ingress Controller:设置为mse
Nginx Ingress Controller:设置为nginx
kibana.ingressDomain
可以为空,如果需要通过域名访问kibana,需要设置该值。
repository.region
镜像所在区域,中国固定设置为
cn-hangzhou
,海外固定设置为ap-southeast-1
,会使用公网拉取镜像。kibana.ingressPath
访问时的子路径。如果ingressDomain非空,那么ingressPath支持设置为
/
。elasticsearch.password
请根据实际情况修改Elasticsearch的密码,同时也是Kibana的访问密码,Elasticsearch账号为
elastic
。sls.project
日志服务的Project名称,请参见管理Project。
sls.endpoint
Project的访问域名,请参见管理Project。
sls.accessKeyId
前提条件中创建的RAM用户的AK。RAM用户需要具备Logstore的查询权限,请参见RAM授权。
sls.accessKeySecret
前提条件中创建的RAM用户的SK。RAM用户需要具备Logstore的查询权限,请参见RAM授权。
sls.alias
可选,如果Project名在Kibana中显示太长,可以设置别名。
sls.kibanaSpace
可选,指定索引模式(index pattern)创建在哪个space下, 不存在则自动创建。
sls.logstoreFilters
可选,过滤哪些logstore自动创建index pattern,多个index pattern用逗号分隔,比如
"access*,error*"
,注意加上双引号。创建命名空间(Namespace)。
kubectl create namespace sls-kibana
执行安装命令。
helm install sls-kibana \ https://sls-kproxy.oss-cn-hangzhou.aliyuncs.com/sls-kibana-1.5.5.tgz \ -f values.yaml --namespace sls-kibana
常见问题
如何卸载helm?
helm uninstall sls-kibana --namespace sls-kibana
Kibana中如何显示高精度时间?
确保SLS中的时间使用高精度时间采集或上报,通过配置 纳秒精度时间戳 ,支持纳秒级精度时间戳。
在确保高精度时间采集后,需在字段索引中添加类型为
long
的__time_ns_part__
纳秒字段索引。由于Kibana的部分查询可能被转换为SQL执行,因此需要在SQL结果中包含高精度时间。
如何升级Helm Chart?
Helm Chart升级和install类似,把install命令换成upgrade即可。values.yaml可以复用之前install时的文件。
helm upgrade sls-kibana https://sls-kproxy.oss-cn-hangzhou.aliyuncs.com/sls-kibana-1.5.5.tgz -f values.yaml --namespace sls-kibana