[Oracle Cloud] Fluentd를 사용하여 Object Storage에 데이터를 출력해 보았습니다.

3105 단어 oraclecloudoci

소개



Fluentd는 OSS에서 개발된 매우 유연한 데이터 수집 소프트웨어입니다. 다양한 소스의 데이터를 다양한 목적지로 출력할 수 있습니다. CNCF에서 호스팅되기 때문에 데이터 수집 소프트웨어는 사실상 표준 제품입니다. 데이터의 수신(input)과 데이터의 출력(output)을 플러그인으로서 실장되고 있습니다. OSS 및 플러그인 방식이므로 파일, 표준 출력, 데이터베이스, Public Cloud 서비스 등 다양한 용도에 대응하고 있습니다. 또, 대응하고 있지 않는 것이 있으면 자작하는 것도 가능합니다.

이 기사에서는 Fluentd의 S3 플러그인을 사용하여 OCI의 Object Storage에 데이터를 출력하는 config를 소개합니다.

사전 준비



Object Storage는 S3 호환 API를 제공합니다. S3 플러그인에서는 이것을 이용하여 연결합니다. 다음 기사를 참조하여 Customer Secret Key 및 Endpoint를 확인합니다.

htps : // 이 m / 너무 돈 t / 있어 ms / b20293627d5c9973 9#

Fluentd 설치



다음 문서를보고 설치합니다.

config



패키지 관리자에서 설치했으므로 vim에서 config를 편집합니다.
vim /etc/td-agent/td-agent.conf

다음 config를 입력합니다. 사전 준비로 확인한 내용을 파라미터 등을 넣어 갑니다.
  • aws_key_id : key
  • aws_sec_key : secret
  • s3_bucket : Bucket 이름
  • s3_region : Region Identifier
  • s3_endpoint : S3 호환 API의 endpoint
  • ssl_verify_peer : false 를 지정
  • force_path_style : true 를 지정
  • <source>
     @type forward
    </source>
    
    <match debug.**>
      @type copy
      <store>
        @type stdout
      </store>
      <store>
        @type s3
        aws_key_id "your key"
        aws_sec_key "your secret"
        s3_bucket testsugi
        s3_region <region>
        s3_endpoint https://<namespace>.compat.objectstorage.<region>.oraclecloud.com
        check_apikey_on_start false
        ssl_verify_peer false
        force_path_style true
        <buffer>
          @type file
          path /var/log/td-agent/buffer/oci.buffer
          chunk_limit_size 8m
          queue_limit_length 256
          flush_at_shutdown true
          flush_interval 1s
          retry_wait 30s
          retry_max_times 9
        </buffer>
      </store>
    </match>
    

    Fluentd를 다시 시작합니다.
    systemctl restart td-agent
    

    다음 명령을 실행하면 Fluentd에 데이터가 큐됩니다.
    echo '{"I say":"hello"}' | /opt/td-agent/embedded/bin/fluent-cat debug.ok
    

    td-agent.log를 확인하면 끝에 stdout으로 문자열이 표시됩니다.
    root@stepbox:~# tail /var/log/td-agent/td-agent.log
    2020-03-20 00:46:03.443149932 +0000 debug.ok: {"I say":"hello"}
    

    다시 Fluentd를 다시 시작하면 버퍼가 플러시되고 Object Storage로 데이터가 출력됩니다.
    systemctl restart td-agent
    

    OCI Console에서 확인



    Object Storage에 업로드 된 gz 파일을 다운로드하여 내용을 확인하면 데이터가 올바르게 작성됩니다.



    참고 URL

    좋은 웹페이지 즐겨찾기