지금 fluentd를 처음 보았다 Apache + Elasticsearch + Kibana 뭐가 맛있어? , 그 5
이제 fluentd 처음 보는 5 (완결편)
우여곡절 했습니다만, 드디어 「 벌써 몇 번 달인거야? 」정도 같은 레벨로 인스톨 할 수 있었습니다. 더 이상 설치한 버전이 버그 있던 덕분? 에서 공부 다양했습니다. 이것으로 드디어 스타트 라인에 세웠습니다 w. 그리고, 본제 「Apache + fluentd + Elasticsearch + Kibana」라고 하는 것으로(정말로 몇번 달여?) 완결편입니다.
fluentd + Elasticsearch + Kibana로 데이터 집계 서버 만들기
File descriptor, Kernel 파라미터 설정
vm 을 2 개 준비합니다. 이것은 단순히 서비스 측과 해석 측과 인스턴스를 분리해 명확하게 하고 싶은 만큼(취미적인 문제)이므로 적절히 읽어 봐 주어도 상당합니다. 하지만 fluentd 는 파일 디스크립터를 상당히 사용하는 것 같기 때문에 디폴트 1024 보다 큰 값으로 해 둡니다.
$ sudo vi /etc/security/limits.conf
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
$ ulimit -n (システムを再起動)
$ sudo vi /etc/sysctl.conf
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
$ sysctl -w
fluentd 설치
다운 그레이드 한 td-agent 0.10.45를 넣는 이유는 최신 버전이 여전히 그렇기 때문에.
$ sudo su
# curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh
$ sudo yum remove td-agent-1.1.20-0.x86_64
$ sudo yum install td-agent-1.1.19-0.x86_64
$ td-agent --version
td-agent 0.10.45
그리고, yum 의 fastestmirror 를 도입하고 있거나 update 하면 절각 다운그레이드 한 것이 최신화되어 버리므로 /etc/yum.conf
에 이하를 추가한다.
exclude=td-*
수신측(컬렉터측) 설정
elasticsearch 플러그인 도입
수신측(컬렉터측)에 fluentd 의 elasticsearch 플러그인 를 도입, gem으로 넣을 때 libcurl-devel, gcc 가 필수입니다.
# yum install libcurl-devel gcc
# /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-elasticsearch
Elasticsearch 설치
외부 리포지토리 추가(EPEL)를 수행합니다. 또 Elasticsearch 에는 java 가 필요하므로 그것도 인스톨 합니다 (개인적으로는, java 넣는 것 굉장 싫지만 w). 그리고는 형태소 해석기의 Kuromoji 플러그인도 김에 설치해도 좋을지도 모릅니다.
# rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-1.1]
name=Elasticsearch repository for 1.1.x packages
baseurl=http://packages.elasticsearch.org/elasticsearch/1.1/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
# yum install elasticsearch java-1.7.0-openjdk
# chkconfig --add elasticsearch
# chkconfig elasticsearch on
# service elasticsearch start
그렇다면 동작을 확인합니다.
$ curl -X GET http://localhost:9200/
{
"status" : 200,
"name" : "Wilbur Day",
"version" : {
"number" : "1.1.2",
"build_hash" : "e511f7b28b77c4d99175905fac65bffbf4c80cf7",
"build_timestamp" : "2014-05-22T12:27:39Z",
"build_snapshot" : false,
"lucene_version" : "4.7"
},
"tagline" : "You Know, for Search"
}
Apache 설치
여기는 평소와 같이 한다. ServerName을 떠나면 경고가 아닐 수 있습니다. kibana를 시작하는 것만으로 nginx에서도 ok이므로 여기도 취미의 문제입니다.
# yum install httpd
# /etc/init.d/httpd start
# chkconfig httpd on
kibana 설치
3.1.0 최신판을 설치(2014/7/4 시점).
# curl -sL https://download.elasticsearch.org/kibana/kibana/kibana-3.1.0.tar.gz | sudo tar zxf - -C /var/www/html
# mv /var/www/html/kibana-3.1.0 /var/www/html/kibana
# /etc/init.d/httpd restart
액세스
http://localhost/kibana로 이동하여 kinaba의 초기 화면이 표시되는지 확인하십시오.
fluentd 정의
전송된 내용을 확인하는 의미로 type stdout
를 지정합니다. 운용 시작하기 전에는 /var/log/td-agent/td-agent.log
에 출력된 내용을 확인하고 미세 조정하면서 이해 및 정의하는 것이 좋습니다.
<source>
type forward
port 24224
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type elasticsearch
host elasticsearch IPアドレス
port 9200
type_name access_log_2
logstash_format true
logstash_prefix apache_access
logstash_dateformat %Y%m
</store>
</match>
송신측(에이전트측)
fluentd 정의
fluentd apache2 플러그인을 사용하여 디코딩 한 내용을 elasticsearch가 설치된 서버로 전송합니다. 여기서도 type stdout
를 지정합니다. 운용 시작하기 전에는 /var/log/td-agent/td-agent.log
를 보면서 설정하는 것이 가장 좋습니다.
<source>
type tail
path /var/log/httpd/access_log
tag apache.combined
pos_file /var/log/td-agent/httpd-access.log.pos
format apache2
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type forward
buffer_chunk_limit 256m
buffer_queue_limit 128
flush_interval 5s
<server>
host elasticsearch IPアドレス
port 24224
</server>
</store>
</match>
kibana
fluentd 설정, Elasticsearch에서 데이터가 모이면 마침내 데이터를 시각화할 준비가 됩니다. 덧붙여서 데이터가 축적되어 있지 않으면 kibana로 해석할 수 없다고 할까 재미없기 때문에 적당하게, wget라든지 curl로 서비스측을 두드려 두는 것,
kibana 사용법
반드시 환경 설정보다 어려울지도. 저도 공부중입니다.
fluentd + Elasticsearch + Kibana로 시작하는 로그 분석 (설정편)
다음 번
fluentd 를 다단 구성으로 하면서 중복 구성하거나 놀고, 원래 공부해 볼 생각
fluentd로 시작하는 로그 관리【포워드 설정 정리】
Reference
이 문제에 관하여(지금 fluentd를 처음 보았다 Apache + Elasticsearch + Kibana 뭐가 맛있어? , 그 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/murachi1208/items/73ca933fb3dc4457b224
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
vm 을 2 개 준비합니다. 이것은 단순히 서비스 측과 해석 측과 인스턴스를 분리해 명확하게 하고 싶은 만큼(취미적인 문제)이므로 적절히 읽어 봐 주어도 상당합니다. 하지만 fluentd 는 파일 디스크립터를 상당히 사용하는 것 같기 때문에 디폴트 1024 보다 큰 값으로 해 둡니다.
$ sudo vi /etc/security/limits.conf
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
$ ulimit -n (システムを再起動)
$ sudo vi /etc/sysctl.conf
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
$ sysctl -w
fluentd 설치
다운 그레이드 한 td-agent 0.10.45를 넣는 이유는 최신 버전이 여전히 그렇기 때문에.
$ sudo su
# curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh
$ sudo yum remove td-agent-1.1.20-0.x86_64
$ sudo yum install td-agent-1.1.19-0.x86_64
$ td-agent --version
td-agent 0.10.45
그리고, yum 의 fastestmirror 를 도입하고 있거나 update 하면 절각 다운그레이드 한 것이 최신화되어 버리므로 /etc/yum.conf
에 이하를 추가한다.
exclude=td-*
수신측(컬렉터측) 설정
elasticsearch 플러그인 도입
수신측(컬렉터측)에 fluentd 의 elasticsearch 플러그인 를 도입, gem으로 넣을 때 libcurl-devel, gcc 가 필수입니다.
# yum install libcurl-devel gcc
# /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-elasticsearch
Elasticsearch 설치
외부 리포지토리 추가(EPEL)를 수행합니다. 또 Elasticsearch 에는 java 가 필요하므로 그것도 인스톨 합니다 (개인적으로는, java 넣는 것 굉장 싫지만 w). 그리고는 형태소 해석기의 Kuromoji 플러그인도 김에 설치해도 좋을지도 모릅니다.
# rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-1.1]
name=Elasticsearch repository for 1.1.x packages
baseurl=http://packages.elasticsearch.org/elasticsearch/1.1/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
# yum install elasticsearch java-1.7.0-openjdk
# chkconfig --add elasticsearch
# chkconfig elasticsearch on
# service elasticsearch start
그렇다면 동작을 확인합니다.
$ curl -X GET http://localhost:9200/
{
"status" : 200,
"name" : "Wilbur Day",
"version" : {
"number" : "1.1.2",
"build_hash" : "e511f7b28b77c4d99175905fac65bffbf4c80cf7",
"build_timestamp" : "2014-05-22T12:27:39Z",
"build_snapshot" : false,
"lucene_version" : "4.7"
},
"tagline" : "You Know, for Search"
}
Apache 설치
여기는 평소와 같이 한다. ServerName을 떠나면 경고가 아닐 수 있습니다. kibana를 시작하는 것만으로 nginx에서도 ok이므로 여기도 취미의 문제입니다.
# yum install httpd
# /etc/init.d/httpd start
# chkconfig httpd on
kibana 설치
3.1.0 최신판을 설치(2014/7/4 시점).
# curl -sL https://download.elasticsearch.org/kibana/kibana/kibana-3.1.0.tar.gz | sudo tar zxf - -C /var/www/html
# mv /var/www/html/kibana-3.1.0 /var/www/html/kibana
# /etc/init.d/httpd restart
액세스
http://localhost/kibana로 이동하여 kinaba의 초기 화면이 표시되는지 확인하십시오.
fluentd 정의
전송된 내용을 확인하는 의미로 type stdout
를 지정합니다. 운용 시작하기 전에는 /var/log/td-agent/td-agent.log
에 출력된 내용을 확인하고 미세 조정하면서 이해 및 정의하는 것이 좋습니다.
<source>
type forward
port 24224
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type elasticsearch
host elasticsearch IPアドレス
port 9200
type_name access_log_2
logstash_format true
logstash_prefix apache_access
logstash_dateformat %Y%m
</store>
</match>
송신측(에이전트측)
fluentd 정의
fluentd apache2 플러그인을 사용하여 디코딩 한 내용을 elasticsearch가 설치된 서버로 전송합니다. 여기서도 type stdout
를 지정합니다. 운용 시작하기 전에는 /var/log/td-agent/td-agent.log
를 보면서 설정하는 것이 가장 좋습니다.
<source>
type tail
path /var/log/httpd/access_log
tag apache.combined
pos_file /var/log/td-agent/httpd-access.log.pos
format apache2
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type forward
buffer_chunk_limit 256m
buffer_queue_limit 128
flush_interval 5s
<server>
host elasticsearch IPアドレス
port 24224
</server>
</store>
</match>
kibana
fluentd 설정, Elasticsearch에서 데이터가 모이면 마침내 데이터를 시각화할 준비가 됩니다. 덧붙여서 데이터가 축적되어 있지 않으면 kibana로 해석할 수 없다고 할까 재미없기 때문에 적당하게, wget라든지 curl로 서비스측을 두드려 두는 것,
kibana 사용법
반드시 환경 설정보다 어려울지도. 저도 공부중입니다.
fluentd + Elasticsearch + Kibana로 시작하는 로그 분석 (설정편)
다음 번
fluentd 를 다단 구성으로 하면서 중복 구성하거나 놀고, 원래 공부해 볼 생각
fluentd로 시작하는 로그 관리【포워드 설정 정리】
Reference
이 문제에 관하여(지금 fluentd를 처음 보았다 Apache + Elasticsearch + Kibana 뭐가 맛있어? , 그 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/murachi1208/items/73ca933fb3dc4457b224
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo su
# curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh
$ sudo yum remove td-agent-1.1.20-0.x86_64
$ sudo yum install td-agent-1.1.19-0.x86_64
$ td-agent --version
td-agent 0.10.45
exclude=td-*
elasticsearch 플러그인 도입
수신측(컬렉터측)에 fluentd 의 elasticsearch 플러그인 를 도입, gem으로 넣을 때 libcurl-devel, gcc 가 필수입니다.
# yum install libcurl-devel gcc
# /usr/lib64/fluent/ruby/bin/gem install fluent-plugin-elasticsearch
Elasticsearch 설치
외부 리포지토리 추가(EPEL)를 수행합니다. 또 Elasticsearch 에는 java 가 필요하므로 그것도 인스톨 합니다 (개인적으로는, java 넣는 것 굉장 싫지만 w). 그리고는 형태소 해석기의 Kuromoji 플러그인도 김에 설치해도 좋을지도 모릅니다.
# rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch
# vi /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-1.1]
name=Elasticsearch repository for 1.1.x packages
baseurl=http://packages.elasticsearch.org/elasticsearch/1.1/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
# yum install elasticsearch java-1.7.0-openjdk
# chkconfig --add elasticsearch
# chkconfig elasticsearch on
# service elasticsearch start
그렇다면 동작을 확인합니다.
$ curl -X GET http://localhost:9200/
{
"status" : 200,
"name" : "Wilbur Day",
"version" : {
"number" : "1.1.2",
"build_hash" : "e511f7b28b77c4d99175905fac65bffbf4c80cf7",
"build_timestamp" : "2014-05-22T12:27:39Z",
"build_snapshot" : false,
"lucene_version" : "4.7"
},
"tagline" : "You Know, for Search"
}
Apache 설치
여기는 평소와 같이 한다. ServerName을 떠나면 경고가 아닐 수 있습니다. kibana를 시작하는 것만으로 nginx에서도 ok이므로 여기도 취미의 문제입니다.
# yum install httpd
# /etc/init.d/httpd start
# chkconfig httpd on
kibana 설치
3.1.0 최신판을 설치(2014/7/4 시점).
# curl -sL https://download.elasticsearch.org/kibana/kibana/kibana-3.1.0.tar.gz | sudo tar zxf - -C /var/www/html
# mv /var/www/html/kibana-3.1.0 /var/www/html/kibana
# /etc/init.d/httpd restart
액세스
http://localhost/kibana로 이동하여 kinaba의 초기 화면이 표시되는지 확인하십시오.
fluentd 정의
전송된 내용을 확인하는 의미로
type stdout
를 지정합니다. 운용 시작하기 전에는 /var/log/td-agent/td-agent.log
에 출력된 내용을 확인하고 미세 조정하면서 이해 및 정의하는 것이 좋습니다.<source>
type forward
port 24224
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type elasticsearch
host elasticsearch IPアドレス
port 9200
type_name access_log_2
logstash_format true
logstash_prefix apache_access
logstash_dateformat %Y%m
</store>
</match>
송신측(에이전트측)
fluentd 정의
fluentd apache2 플러그인을 사용하여 디코딩 한 내용을 elasticsearch가 설치된 서버로 전송합니다. 여기서도 type stdout
를 지정합니다. 운용 시작하기 전에는 /var/log/td-agent/td-agent.log
를 보면서 설정하는 것이 가장 좋습니다.
<source>
type tail
path /var/log/httpd/access_log
tag apache.combined
pos_file /var/log/td-agent/httpd-access.log.pos
format apache2
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type forward
buffer_chunk_limit 256m
buffer_queue_limit 128
flush_interval 5s
<server>
host elasticsearch IPアドレス
port 24224
</server>
</store>
</match>
kibana
fluentd 설정, Elasticsearch에서 데이터가 모이면 마침내 데이터를 시각화할 준비가 됩니다. 덧붙여서 데이터가 축적되어 있지 않으면 kibana로 해석할 수 없다고 할까 재미없기 때문에 적당하게, wget라든지 curl로 서비스측을 두드려 두는 것,
kibana 사용법
반드시 환경 설정보다 어려울지도. 저도 공부중입니다.
fluentd + Elasticsearch + Kibana로 시작하는 로그 분석 (설정편)
다음 번
fluentd 를 다단 구성으로 하면서 중복 구성하거나 놀고, 원래 공부해 볼 생각
fluentd로 시작하는 로그 관리【포워드 설정 정리】
Reference
이 문제에 관하여(지금 fluentd를 처음 보았다 Apache + Elasticsearch + Kibana 뭐가 맛있어? , 그 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/murachi1208/items/73ca933fb3dc4457b224
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<source>
type tail
path /var/log/httpd/access_log
tag apache.combined
pos_file /var/log/td-agent/httpd-access.log.pos
format apache2
</source>
<match apache.**>
type copy
<store>
type stdout
</store>
<store>
type forward
buffer_chunk_limit 256m
buffer_queue_limit 128
flush_interval 5s
<server>
host elasticsearch IPアドレス
port 24224
</server>
</store>
</match>
fluentd 설정, Elasticsearch에서 데이터가 모이면 마침내 데이터를 시각화할 준비가 됩니다. 덧붙여서 데이터가 축적되어 있지 않으면 kibana로 해석할 수 없다고 할까 재미없기 때문에 적당하게, wget라든지 curl로 서비스측을 두드려 두는 것,
kibana 사용법
반드시 환경 설정보다 어려울지도. 저도 공부중입니다.
fluentd + Elasticsearch + Kibana로 시작하는 로그 분석 (설정편)
다음 번
fluentd 를 다단 구성으로 하면서 중복 구성하거나 놀고, 원래 공부해 볼 생각
fluentd로 시작하는 로그 관리【포워드 설정 정리】
Reference
이 문제에 관하여(지금 fluentd를 처음 보았다 Apache + Elasticsearch + Kibana 뭐가 맛있어? , 그 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/murachi1208/items/73ca933fb3dc4457b224
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(지금 fluentd를 처음 보았다 Apache + Elasticsearch + Kibana 뭐가 맛있어? , 그 5), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/murachi1208/items/73ca933fb3dc4457b224텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)