背景
SLS通过上面的方案来支持Kibana访问logstore数据,由于kibana的元数据还依赖es存储。
这个es存储量比较小,为了维护方便,也是可以使用阿里云云上的小规格es来做kibana元数据存储。
下面是介绍具体的操作方案。
资源申请
创建一个vpc
进入阿里云vpc 在对应region创建一个vpc
https://vpc.console.aliyun.com/
申请es
https://elasticsearch.console.aliyun.com/
进入es的控制台,在对应region申请es,选择内核增强版
具体规格如下
注意点:
- vpc要选择前面创建好的
申请ecs
https://ecs.console.aliyun.com/
进入ecs控制台申请ecs
注意点:
- vpc要选择前面创建好的
- 镜像可以使用Aliyun Cloud Linux
- 如果需要通过公网+访问控制的方式访问Kibaba的话,建议勾选“分配公网 IPv4 地址”
部署安装
依赖安装
使用docker
sudo yum install -y docker sudo yum install -y docker-compose
如果没有docker,也可以使用podman
sudo yum -y install podman podman-docker sudo yum -y install podman-compose
部署流程
创建一个目录sls,进入到sls下,创建一个文件docker-compose.yml,内容如下
version: '3' services: kproxy: image: sls-registry.cn-hangzhou.cr.aliyuncs.com/kproxy/kproxy:2.0.6 environment: - ES_ENDPOINT=云上es的vpc链接地址:9200 # 根据实际情况修改 - SLS_ENDPOINT=https://etl-hangzhou-c.cn-hangzhou.log.aliyuncs.com/es/ # 根据实际情况修改,SLS_ENDPOINT为 https://${project}.${endpoint}/es/ - SLS_PROJECT=etl-hangzhou-c # 根据实际情况修改写sls的project - SLS_ACCESS_KEY_ID=ALIYUN_ACCESS_KEY_ID # 根据实际情况修改 - SLS_ACCESS_KEY_SECRET=ALIYUN_ACCESS_KEY_SECRET # 根据实际情况修改 networks: - esnet kibana: image: kibana:7.16.2 depends_on: - kproxy environment: - ELASTICSEARCH_HOSTS=http://kproxy:9201 - ELASTICSEARCH_USERNAME=elastic - ELASTICSEARCH_PASSWORD=ES_PASSWORD #根据实际情况修改 - XPACK_MONITORING_UI_CONTAINER_ELASTICSEARCH_ENABLED=true - KIBANA_INDEX=.sls_kibana2 - TASK_MANAGER_INDEX=.sls_kibana_task_manager2 - EVENT_LOG_INDEX=.sls_kibana-eventlog2 - ALERTING_PLUGIN_INDEX=.sls_kibana_alert_index2 ports: - "5601:5601" networks: - esnet networks: esnet: ipam: driver: default
启动
docker-compose up -d
或者
podman-compose up -d
用docker命令检查容器是否正常启动
docker ps
设置访问ACL
为了访问的安全性,设置访问来源地址,通过ecs的实例页面,找到ecs对应的安全组配置入口
进入安全组配置页面后,点击手工添加一个端口访问规则, 在授权对象选择对应的网络地址(可以跟网络工程师确认一下公司的出口ip段)
访问ecs公网地址
http://ecs的公网地址:5601
输入es的账号密码即可访问
通过Kibana访问SLS
在Kibana上配置sls的logstore
首页进入Stack Management
点左侧Index Pattern, 然后点 “create an index pattern against hidden or system indices.”
Name填写为 project名字.logstore名字
点击创建Index Pattern即可,创建完成后,即可在Kibana上访问sls的logstore了
访问SLS Logstore
点击左侧Discover后,选择sls的index即可访问