阿里云sls日志服务使用
使用
- 开启sls服务,需要充值
- 创建project
- 创建logstore
- 给sls服务创建一个RAM账号,并分配权限
- 给账号创建accessKeySecret秘钥
- 对logstore下日志的字段创建索引(创建索引的字段才能搜索)
- 通过阿里提供的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中
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。
查看所有数据加工规则
通过logtail进行日志采集
实现日志的实时采集一般有2种方式:
- 直接上传:在应用程序(或依赖的框架)中将日志直接上传到服务端。例如各种日志上传的SDK、Log4j的appender、docker driver等
- 通过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组件