本文以NGINX为例说明如何将企业内网服务器日志采集到日志服务。

前提条件

已创建Project和Logstore。更多信息,请参见创建Project创建Logstore

背景信息

如果您的多台服务器部署在企业内网且没有公网访问权限,但需要采集日志到日志服务进行查询与分析,您可以将一台具有公网访问权限的企业内网服务器配置成网关机,通过该网关机将企业内网服务器日志采集至日志服务。

您可以选择任意一款反向代理服务器来配置网关机。NGINX是一款开源的高性能HTTP和反向代理服务器。更多信息,请参见NGINX

步骤一:配置网关机

使用NGINX将一台具有公网访问权限的企业内网服务器配置成网关机的操作步骤如下:

  1. 登录要配置成网关机的服务器。
  2. 安装NGINX。
    具体操作,请参见安装NGINX
  3. nginx.conf文件中添加以下配置。
    upstream logtail{
      server ${project}.${region-endpoint}:80;
      check interval=1000 rise=2 fall=1 timeout=1000;
    }
    
    upstream logtail_443{
      server ${project}.${region-endpoint}:443;
      check interval=1000 rise=2 fall=1 timeout=1000;
    }
    
    server {
      listen 80;
      server_name ${domain};
      access_log /var/log/nginx/${domain}_access.log main;
      error_log /var/log/nginx/${domain}_error.log debug;
      charset utf-8;
    
    
      location / {
    
        proxy_set_header  Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass http://logtail;
        break;
      }
    }
    
    server {
      listen 443;
      server_name ${domain};
      access_log /var/log/nginx/${domain}_access.log main;
      error_log /var/log/nginx/${domain}_error.log debug;
      charset utf-8;
    
    
      location / {
    
        proxy_set_header  Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_pass https://logtail_443;
        break;
      }
    }
    变量 描述 示例
    ${project} 日志服务Project名称。 test-project
    ${region-endpoint} 日志服务Project访问域名。支持公网和阿里云内网(经典网络、VPC)。更多信息,请参见服务入口 cn-hangzhou.log.aliyuncs.com
    ${domain} 网关机域名。您可以自定义该域名。 logtail.com

步骤二:绑定网关机

配置网关机后,将网关机与多台企业内网服务器绑定的操作步骤如下:

  1. 登录某台企业内网服务器。
  2. 安装Logtail。
  3. hosts文件中添加网关机IP地址和网关机域名。
    ${ip} ${domain}
    变量 描述 示例
    ${ip} 网关机IP地址。 192.168.XX.XX
    ${domain} 网关机域名。您可以自定义该域名。 logtail.com
  4. ilogtail_config.json文件中将config_server_address修改为网关机域名。
    {
        "config_server_address" : "http://${domain}",
        "data_server_list" :
        [
            {
                "cluster" : "cn-hangzhou",
                "endpoint" : "cn-hangzhou.log.aliyuncs.com"
            }
        ],
        "cpu_usage_limit" : 0.4,
        "mem_usage_limit" : 384,
        "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
    }
  5. 为其他企业内网服务器,重复执行步骤1~步骤4将其与网关机绑定。

常见问题

我完成了网关机和企业内网服务器的配置,机器组心跳也显示OK,但为什么无法采集数据?

您可以提交工单联系技术支持人员获取帮助。