阿里云sls日志服务使用

发布时间 2023-08-29 21:47:03作者: strongmore

使用

  1. 开启sls服务,需要充值
  2. 创建project
  3. 创建logstore
  4. 给sls服务创建一个RAM账号,并分配权限
  5. 给账号创建accessKeySecret秘钥
  6. 对logstore下日志的字段创建索引(创建索引的字段才能搜索)
  7. 通过阿里提供的sdk向logstore发送日志
<dependency>
  <groupId>com.aliyun.openservices</groupId>
  <artifactId>aliyun-log-producer</artifactId>
  <version>0.3.9</version>
</dependency>
<dependency>
  <groupId>com.aliyun.openservices</groupId>
  <artifactId>aliyun-log</artifactId>
  <version>0.6.57</version>
</dependency>

数据加工

将制定的logstore的日志数据分发到其他logstore中

image

e_set("tags", "target-first001")
e_if(op_eq(v("tags"), "target-first001"), e_output("target-products-service"))

对当前logstore设置tags为target-first001,将所有tags为target-first001的日志记录复制一份到目标名称为target-products-service的所有logstore。

image

查看所有数据加工规则

通过logtail进行日志采集

实现日志的实时采集一般有2种方式:

  1. 直接上传:在应用程序(或依赖的框架)中将日志直接上传到服务端。例如各种日志上传的SDK、Log4j的appender、docker driver等
  2. 通过Agent采集:应用本身只产生日志,由Agent作为代理采集到服务端。例如将日志打到磁盘、syslog转发、从中间框架(docker engine、mysql、应用自带的monitor模块)中抽取等

logtail就是阿里提供的一种agent,类似的还有Logstash、Fluentd、Beats系列(FileBeats、MetricBeats、Packetbeat、Winlogbeat、Auditbeat、Heartbeat)等。

安装logtail

阿里云文档

wget http://logtail-release-cn-guangzhou.oss-cn-guangzhou.aliyuncs.com/linux64/logtail.sh -O logtail.sh; 
chmod 755 logtail.sh; 
./logtail.sh install cn-guangzhou-internet

cn-guangzhou为阿里云的${your_region_name}。

配置用户标识

echo $ALIBABA_CLOUD_ACCOUNT_ID

通过此命令在阿里云-云命令行获取账号ID

touch /etc/ilogtail/users/${account_id}

创建账号ID同名文件

创建IP地址机器组

cat /usr/local/ilogtail/app_info.json

获取IP地址,默认是内网的IP,需要修改为公网的。

创建logtail采集配置,并应用到机器组

配置采集路径

/root/logtail_logs/**/*.log

logtail总结起来就是从指定路径下读取日志文件并保存到指定logstore中。

阿里云kubernetes中的logtail组件

logtail-ds组件