ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Datadog APM인스톨 (ruby on rails)
    datadog 2020. 4. 24. 17:23

    ruby dd-trace 인스톨

    1. datadog agent 인스톨

    2. datadog.yaml파일 수정

    3. datadog-agent restart

    4. ddtrace gem file 인스톨

    5. intializers file 만들기

    6. unicorn restart

     

    ※amazonlinux1에서 인스톨했습니다.

    ※현재 대응하고 있는 ruby와 unicorn 버전은 다음에서 확인할 수 있습니다.

    https://docs.datadoghq.com/ja/tracing/setup/ruby/#compatibility

     

    Tracing Ruby Applications

    Datadogが大規模なクラウドのモニタリングサービスをリードします。

    docs.datadoghq.com


    datadog agent 인스톨

    # root 유저 
    $ sudo su 
    
    # datadog agent install
    $ DD_API_KEY={datadog api key} bash -c "$(curl -L https://raw.githubusercontent.com/DataDog/datadog-agent/master/cmd/agent/install_script.sh)" 
    
    #인스톨 확인
    $ ps aux | grep agent | grep datadog 

    datadog.yaml파일 수정

    다음 내용 추가

    $ sudo view /etc/datadog-agent/datadog.yaml 
    #############################
    api_key: XXXXXXXXXXXXXXXXXXXXXXX # datadog agent api key
    collect_ec2_tags: true           # ec2 tag 수집
    process_config:                  # 호스트의 CPU, 메모리, I/O, thread수 등 프로세스의 metric 수집
     enabled: true 
    apm_config:                      # apm관련 설정
     enabled: true                   # apm 수집 on
    #############################

    다른 플랫폼으로부터 trace data를 수신하는 경우에는

    apm_non_local_traffic: true

    을 추가합니다.


    datadog-agent restart

    datadog agent를 restart시킵니다.

     

    $ sudo stop datadog-agent
    $ sudo start datadog-agent 
    $ ps -ef | grep datadog-agent

    ddtrace gem file 인스톨

    Gemfile에 ddtrace 추가

    view {repository deploy path}/Gemfile 
    ################################################## 
    gem 'ddtrace' 
    ##################################################

    bundle install
    ※Gemfile.lock가 변경되지 않아 다음과 같이 option( --no-deployment)으로 실행

    bundle install --no-deployment

    initializer file作成

    {repository deploy path}/config/initalizers/에 datadog-tracer.rb 파일 작성

    vi {repository deploy path}/config/initializers/datadog-tracer.rb 
    ################################################### 
    require 'ddtrace' 
    Datadog.configure do |c| 
     c.use :rails, service_name: 'my app service name' 
    end 
    ###################################################

    tag env나 tag role로 설정해둔 환경변수로 service_name를 변경할 경우에는 다음과 같이 함

    만약 capistrano로 deploy할 경우에는 환경변수는 /etc/enviroment에 환경변수로 설정해야지 deploy할 때에 변수를 넘길 수 있음.

    export DD_SERVICE_NAME={Tag env}-{Tag role}

    환경변수 값을 datadog-tracer.rb 파일에서 사용할려고 할때에는 다음과 같이 바꾸어 준다.

    vi {repository deploy path}/config/initializers/datadog-tracer.rb 
    ################################################### 
    require 'ddtrace' 
    Datadog.configure do |c| 
     c.use :rails, service_name: "#{ENV['DD_SERVICE_NAME']}" 
    end 
    ###################################################

    unicorn restart

    반응형

    'datadog' 카테고리의 다른 글

    Datadog APM 인스톨(php)  (0) 2020.03.24

    댓글

Designed by Tistory.