CP日志服务端数据接入流程

业务场景

使用阿里云的 sls 日志服务,客户端采用 logtail 采集

结构图如下

logtail1

注意事项

日志根目录定了,配置采集工具采集这个日志根目录后,后续不能修改这个根目录,不然会漏采集日志数据。

如果真的需要修改,需要跟益世界同步后确认方案后再修改。

另外为了采集性能,logtail 采集工具配置 CPU 限制最高是 2 核,内存限制最高是 4G。所以日志服服务器的配置要高于这个配置。

接入流程

1. 确认日志根目录

CP 需要先提供日志服务器的日志根目录给到益世界,并且说明是国内游戏项目还是海外游戏项目,比如:/data/logs/,这个是示例目录,根据实际提供。

2. 提供自定义标识

益世界拿到 cp 提供的日志根目录后,然后在阿里云 sls 配置 logtail 采集的目录为 cp 提供的那个日志根目录,并且会提供一个自定义的标识(会根据项目命名,英文字符格式),比如:dhxxxx。益世界会把这个标识提供给 cp。

3. cp 日志服务器安装 logtail 采集工具

确保日志服服务器已经安装了 wget 工具并且能联网。

复制下面的安装脚本到服务器随意命名脚本的名字(不能命名为 logtail.sh,不然可能会安装失败),比如 a.sh

运行 a.sh,会提示输入用户自定义标识,请输入上面第二步益世界提供的用户自定义标识回车即可,会自动安装完并且自动启动采集工具。

logtail2

脚本不用修改,直接使用。

  • 国内游戏项目安装脚本
#!/bin/bash
#安装客户端
echo "中国大陆区域日志采集一键安装脚本。"
read -p "请输入用户自定义标识:" yonghubiaoshi

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

cp /usr/local/ilogtail/ilogtail_config.json /usr/local/ilogtail/ilogtail_config.json.bak
>/usr/local/ilogtail/ilogtail_config.json
cat <<EOD >>/usr/local/ilogtail/ilogtail_config.json
{
    "config_server_address" : "http://logtail.cn-shenzhen.log.aliyuncs.com",
    "data_server_list" :
    [
        {
            "cluster" : "cn-shenzhen",
            "endpoint" : "cn-shenzhen.log.aliyuncs.com"
        }
    ],
    "cpu_usage_limit" : 2,
    "mem_usage_limit" : 4096,
    "max_bytes_per_sec" : 209715200,
    "bytes_per_sec" : 1048576,
    "buffer_file_num" : 25,
    "buffer_file_size" : 20971520,
    "buffer_map_num" : 5,
    "process_thread_count" : 32,
    "send_request_concurrency" : 200,
    "streamlog_open" : false,
    "streamlog_pool_size_in_mb" : 50,
    "streamlog_rcv_size_each_call" : 1024,
    "streamlog_formats":[],
    "streamlog_tcp_port" : 11111,
    "polling_ignore_file_modify_timeout": 1200
}
EOD

mkdir -p /etc/ilogtail/users/
touch /etc/ilogtail/users/1160268481061577

echo ${yonghubiaoshi} >> /etc/ilogtail/user_defined_id

#重启
/etc/init.d/ilogtaild stop
/etc/init.d/ilogtaild start
  • 海外游戏项目安装脚本(除了欧洲)
#!/bin/bash
#安装客户端
echo "海外非欧洲区域日志采集一键安装脚本。"
read -p "请输入用户自定义标识:" yonghubiaoshi

wget http://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install ap-southeast-1-internet

cp /usr/local/ilogtail/ilogtail_config.json /usr/local/ilogtail/ilogtail_config.json.bak

>/usr/local/ilogtail/ilogtail_config.json

cat <<EOD >>/usr/local/ilogtail/ilogtail_config.json
{
    "config_server_address" : "http://logtail.ap-southeast-1.log.aliyuncs.com",
    "data_server_list" :
    [
        {
            "cluster" : "ap-southeast-1",
            "endpoint" : "ap-southeast-1.log.aliyuncs.com"
        }
    ],
    "cpu_usage_limit" : 2,
    "mem_usage_limit" : 4096,
    "max_bytes_per_sec" : 20971520,
    "bytes_per_sec" : 1048576,
    "buffer_file_num" : 25,
    "buffer_file_size" : 20971520,
    "buffer_map_num" : 5,
    "streamlog_open" : false,
    "streamlog_pool_size_in_mb" : 50,
    "streamlog_rcv_size_each_call" : 1024,
    "streamlog_formats":[],
    "streamlog_tcp_port" : 11111,
    "polling_ignore_file_modify_timeout": 1200
}
EOD

#配置用户标识
mkdir -p /etc/ilogtail/users/
touch /etc/ilogtail/users/5804219407810224

#配置用户自定义标识
echo ${yonghubiaoshi} >> /etc/ilogtail/user_defined_id

#重启
/etc/init.d/ilogtaild stop
/etc/init.d/ilogtaild start
  • 欧洲地区游戏项目安装脚本
#!/bin/bash
#安装客户端
echo "欧洲区域日志采集一键安装脚本。"
read -p "请输入用户自定义标识:" yonghubiaoshi

wget http://logtail-release-eu-central-1.oss-eu-central-1.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install eu-central-1-internet

cp /usr/local/ilogtail/ilogtail_config.json /usr/local/ilogtail/ilogtail_config.json.bak

>/usr/local/ilogtail/ilogtail_config.json

cat <<EOD >>/usr/local/ilogtail/ilogtail_config.json
{
    "config_server_address" : "http://logtail.eu-central-1.log.aliyuncs.com",
    "data_server_list" :
    [
        {
            "cluster" : "eu-central-1",
            "endpoint" : "eu-central-1.log.aliyuncs.com"
        }
    ],
    "cpu_usage_limit" : 2,
    "mem_usage_limit" : 4096,
    "max_bytes_per_sec" : 20971520,
    "bytes_per_sec" : 1048576,
    "buffer_file_num" : 25,
    "buffer_file_size" : 20971520,
    "buffer_map_num" : 5,
    "streamlog_open" : false,
    "streamlog_pool_size_in_mb" : 50,
    "streamlog_rcv_size_each_call" : 1024,
    "streamlog_formats":[],
    "streamlog_tcp_port" : 11111,
    "polling_ignore_file_modify_timeout": 1200
}
EOD

#配置用户标识
mkdir -p /etc/ilogtail/users/
touch /etc/ilogtail/users/5804219407810224

#配置用户自定义标识
echo ${yonghubiaoshi} >> /etc/ilogtail/user_defined_id

#重启
/etc/init.d/ilogtaild stop
/etc/init.d/ilogtaild start

  • 美国地区游戏项目安装脚本
#!/bin/bash
#安装客户端
echo "美国区域日志采集一键安装脚本。"
read -p "请输入用户自定义标识:" yonghubiaoshi

wget http://logtail-release-us-west-1.oss-us-west-1.aliyuncs.com/linux64/logtail.sh -O logtail.sh; chmod 755 logtail.sh; ./logtail.sh install us-west-1-internet

cp /usr/local/ilogtail/ilogtail_config.json /usr/local/ilogtail/ilogtail_config.json.bak

>/usr/local/ilogtail/ilogtail_config.json

cat <<EOD >>/usr/local/ilogtail/ilogtail_config.json
{
    "config_server_address" : "http://logtail.us-west-1.log.aliyuncs.com",
    "data_server_list" :
    [
        {
            "cluster" : "us-west-1",
            "endpoint" : "us-west-1.log.aliyuncs.com"
        }
    ],
    "cpu_usage_limit" : 2,
    "mem_usage_limit" : 4096,
    "max_bytes_per_sec" : 20971520,
    "bytes_per_sec" : 1048576,
    "buffer_file_num" : 25,
    "buffer_file_size" : 20971520,
    "buffer_map_num" : 5,
    "streamlog_open" : false,
    "streamlog_pool_size_in_mb" : 50,
    "streamlog_rcv_size_each_call" : 1024,
    "streamlog_formats":[],
    "streamlog_tcp_port" : 11111,
    "polling_ignore_file_modify_timeout": 1200
}
EOD

#配置用户标识
mkdir -p /etc/ilogtail/users/
touch /etc/ilogtail/users/5804219407810224

#配置用户自定义标识
echo ${yonghubiaoshi} >> /etc/ilogtail/user_defined_id

#重启
/etc/init.d/ilogtaild stop
/etc/init.d/ilogtaild start

4. 检查

  • 检查进程 : 安装完要检查一下 logtail 采集工具,使用 ps 检测是否有 2 个 logtail 进程,2 个才是正常。
logtail3
  • 检查配置文件 : 检查/etc/ilogtail/user_defined_id 这个配置里面的内容是否是益世界提供的自定义标识。
logtail4

卸载 logtail 采集工具

一般情况不需要卸载,特殊情况需要卸载,可以按照如下步骤卸载 logtail 采集工具。

在原来跑安装脚本的目录下,会有个 logtail.sh 脚本,执行如下命令卸载:

#卸载程序
./logtail.sh uninstall

#情况配置文件
>/etc/ilogtail/user_defined_id