Datadog APM인스톨 (ruby on rails)
ruby dd-trace 인스톨
-
datadog agent 인스톨
-
datadog.yaml파일 수정
-
datadog-agent restart
-
ddtrace gem file 인스톨
-
intializers file 만들기
-
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
###################################################