使用阿里云可观测统一存储SLS

不管你的服务部署在阿里云还是使用混合云的架构,Loggie同样支持采集日志数据至阿里云可观测统一存储SLS。 而你只需要使用sls sink即可。

阿里云官方文档中关于Loggie的使用请参考:使用Loggie上传日志

准备:创建SLS Project

为了使用阿里云可观测统一存储SLS,我们需要先创建一个对应的Project。 如下所示,在SLS页面中,点击创建Project,填入project名称和对应的地域,创建完之后同步创建相应的Logstore。 sls-project

然后我们可以准备一下sls sink的配置,示例如下所示,具体可参考sls sink 配置参数

sls sink

  1. sink:
  2. type: sls
  3. name: demo
  4. endpoint: cn-hangzhou.log.aliyuncs.com
  5. accessKeyId: xxxx
  6. accessKeySecret: xxxx
  7. project: test
  8. logstore: test1
  9. topic: myservice

采集ECS上的日志

参考主机部署的方式,我们可以修改pipeline.yml,加上sls sink的配置即可。

Pipeline配置参考示例如下:

sls pipeline

  1. pipelines:
  2. - name: test
  3. sources:
  4. - type: file
  5. name: demo
  6. addonMeta: true
  7. paths:
  8. - /tmp/log/*.log
  9. sink:
  10. type: sls
  11. endpoint: cn-hangzhou.log.aliyuncs.com
  12. accessKeyId: ${accessKeyId}
  13. accessKeySecret: ${accessKeySecret}
  14. project: loggietest
  15. logstore: demo1
  16. topic: myservice

采集ACK Kubernetes集群的日志

和自建Kubernetes集群一样,Loggie同样可以部署在阿里云ACK的Kubernetes集群中。 我们可以根据ACK提供的kubeconfig文件,使用kubectl或者helm来部署。可参考Kubernetes部署

请注意:

  • 如果希望采集未挂载emptyDir/hostPath的Pod日志,请确保values.yaml里系统配置中discovery.kubernetes.rootFsCollectionEnabled设置为true。
  • 配置discovery.kubernetes.containerRuntime为匹配的Kubernetes集群的容器运行时,默认配置为containerd。

部署完之后,和常规的Kubernetes集群下的使用姿势类似,同样可以使用ClusterLogConfig/LogConfig/Interceptor/Sink CR的方式。

ACK提供了CRD的使用页面,我们可以直接在该页面中进行创建和修改。 sls-crd

采集某个服务的日志示例参考如下,只需使用sls sink即可。当然也可以使用单独创建一个sink CR存储sls sink配置,在LogConfig中通过sinkRef引用。

logconfig

  1. apiVersion: loggie.io/v1beta1
  2. kind: LogConfig
  3. metadata:
  4. name: tomcat
  5. namespace: default
  6. spec:
  7. selector:
  8. labelSelector:
  9. app: tomcat
  10. type: pod
  11. pipeline:
  12. sources: |
  13. - type: file
  14. name: stdout
  15. paths:
  16. - stdout
  17. - type: file
  18. name: access
  19. ignoreOlder: 3d
  20. paths:
  21. - /usr/local/tomcat/logs/*.log
  22. sink: |
  23. type: sls
  24. endpoint: cn-hangzhou.log.aliyuncs.com
  25. accessKeyId: ${accessKeyId}
  26. accessKeySecret: ${accessKeySecret}
  27. project: loggietest
  28. logstore: demo1
  29. topic: myservice

查看日志

我们可以在SLS具体的Project中查看采集的日志,如下图所示: sls-searchlog.png

具体的元信息的添加和日志字段修改,可参考日志切分处理以及日志增加元信息