//------------------------------------------------------------------------------
// IAM 설정
// Elasticsearch 에서 사용할 유저를 생성
//------------------------------------------------------------------------------
생성시 Access type 을 Programmatic access 선택. 나머지는 그냥 next
Access key ID : -
Secret access key : -
//------------------------------------------------------------------------------
// Elasticsearch 설정
// (http://mykumi.tistory.com/entry/AWS-ElasticSearchKibanaFluentd-1-AWS-ElasticSearch-생성?category=503302)
//------------------------------------------------------------------------------
Configure cluster
기본값으로
Set up access
Network configuration : Public access
Kibana authentication : 체크안함
Access policy
- Allow or deny access to one or more AWS accounts or IAM users 선택
위에서 생성한 유저의 arn 입력 (fluentd에서 접근하기 위해서)
- Allow access to the domain from specific IPs 선택
접근할 ip 입력 (kibana 접근을 위해서)
- 위의 2개를 합셔처 정책을 edit 해야 함.
//------------------------------------------------------------------------------
// Fluentd 설치 (오픈소스)
// // http://mykumi.tistory.com/entry/AWS-ElasticSearchKibanaFluentd-통계-2-Fluentd?category=503302
//------------------------------------------------------------------------------
Fluentd 설치전 확인사항
-ntp 설치 확인 (우리 서버에는 이미 설치되어 있음)
ps -ef | grep ntpd
-프로세스의 자원한도 증가 (우리 서버에는 이미 설정되어 있음)
ulimit -n
65535 이상 이어야 함
-네트웍커널 파라메터 최적화 (이건 잘 몰라서 적용안함)
-루비설치여부 확인
ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]
http://www.fluentd.org/ 다운로드.
(우리 52.194.115.16 서버에 설치함. 이게 로그들을 모아놓은 서버임)
(td-agent 는 Fluentd를 쉽게 설치하고 사용하기 위한 래퍼프로그램)
(centOS 설치 가이드 : https://docs.fluentd.org/v1.0/articles/install-by-rpm)
centOS에 설치
curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh
Complete!
Installation completed. Happy Logging!
elasticsearch plugin 설치
sudo /usr/sbin/td-agent-gem install fluent-plugin-aws-elasticsearch-service
149 gems installed
뭔가 많이 설치된다.
td-agent 설정파일
/etc/td-agent/td-agent.conf
td-agent 로그파일
/var/log/td-agent/td-agent.log
(이 파일에는 아무 내용이 없어야 정상이다)
보내는서버 td-agent 설정 (로드밸런싱에 속한 ec2들)
#------------------------------------------------------------------------------- # 입력 : 라라벨로그파일 # path : 검사할 파일 # pos_file : 검사할 파일의 위치를 기록하는거 같음. #------------------------------------------------------------------------------- <source> @type tail path /home/www/xxx/current/storage/logs/laravel-%Y-%m-%d.log pos_file /var/log/td-agent/laravel.log.pos format none tag 태그이름1 </source> |
#------------------------------------------------------------------------------- |
#------------------------------------------------------------------------------- |
#------------------------------------------------------------------------------- |
받는서버 td-agent 설정 (라라벨 로그를 받아서 한곳에 저장함)
#------------------------------------------------------------------------------- # 입력 : 다른 서버에 설치된 fluentd 에서 입력을 받음 #------------------------------------------------------------------------------- <source> @type forward port 24224 </source> |
#------------------------------------------------------------------------------- # 출력 : elb에 속한 api 에서 들어온 데이타를 출력함 #------------------------------------------------------------------------------- <match 태그이름1> @type file path /var/log/td-agent/laravel.elb.api/laravel.elb.api append true <buffer> @type file path /var/log/td-agent/buffer #flush_mode interval flush_mode immediate flush_at_shutdown true </buffer> <format> @type single_value add_newline true message_key message </format> </match> |
//------------------------------------------------------------------------------
// td-agent 명령어
//------------------------------------------------------------------------------
sudo service td-agent start
sudo service td-agent stop
sudo service td-agent restart
sudo service td-agent status
sudo /etc/init.d/td-agent start
sudo /etc/init.d/td-agent stop
sudo /etc/init.d/td-agent restart
sudo /etc/init.d/td-agent status
//------------------------------------------------------------------------------
// nginx 로그를 모아놓은 es에서 Kibana 활용을 잘 하면 됨
//------------------------------------------------------------------------------
'잡다한 자료' 카테고리의 다른 글
GitHub. Two-Factor Auth. SourceTree. ssh 연결 (0) | 2020.12.22 |
---|---|
aws. CloudWatch -> Lambda -> api 호출 (0) | 2020.06.23 |
aws. rds read replica. 로드밸런싱 (0) | 2018.06.12 |
aws. sns. 푸쉬발송 (0) | 2018.02.19 |
맥. 독의 사파리 아이콘이 이상한걸로 변경되었을때. (2) | 2017.11.13 |