Fluentd + Newrelic
728x90

오늘은 Fluentd를 사용해서 Newrelic에다가 log를 쌓는 것을 적용했다.

 

회사에서 이번에 Fluentd와 Newrelic을 이용해서 로그 수집을 하라고 하여 실제 QA 서버를 하나 복사한 것을 받아서 새로운 host로 회사 프로젝트 구조와 똑같이 했다.

 

환경 : Linux(CentOS 6.10 amazon linux 2)

Fluentd 설치

fluentd에 관한 설치에 대해서는 fluentd 공식 홈페이지에 나와있으니 자기 자신의 버전에 맞게 설치하면 된다.

참조 : https://docs.fluentd.org/installation/install-by-rpm

 

Install by RPM Package (Red Hat Linux) - Fluentd

Step 3: Post Sample Logs via HTTP

docs.fluentd.org

 

command

$ curl -L https://toolbelt.treasuredata.com/sh/install-amazon2-td-agent4.sh | sh
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
104   838  104   838    0     0   1196      0 --:--:-- --:--:-- --:--:--  1682
==============================
 td-agent Installation Script
==============================
This script requires superuser access to install rpm packages.
You will be prompted for your password by sudo.
[sudo] password for happytuk:
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * epel: archivefedora.mirror.angkasa.id
treasuredata                                                                                                                                              | 3.0 kB     00:00
treasuredata/primary_db                                                                                                                                   |  21 kB     00:00

WALinuxAgent.noarch                                                                  2.2.45-1.el6                                                                    openlogic
adcli.x86_64                                                                         0.8.1-3.el6_10                                                                  updates
autofs.x86_64                                                                        1:5.0.5-140.el6_10.1                                                            updates
bind-libs.x86_64                                                                     32:9.8.2-0.68.rc1.el6_10.8                                                      updates
bind-utils.x86_64                                                                    32:9.8.2-0.68.rc1.el6_10.8                                                      updates
binutils.x86_64                                                                      2.20.51.0.2-5.48.el6_10.1                                                       updates
ca-certificates.noarch                                                               2020.2.41-65.1.el6_10                                                           updates
cups.x86_64                                                                          1:1.4.2-81.el6_10                                                               updates
cups-libs.x86_64                                                                     1:1.4.2-81.el6_10                                                               updates
curl.x86_64                                                                          7.19.7-54.el6_10                                                                updates
dbus.x86_64                                                                          1:1.2.24-11.el6_10                                                              updates
dbus-libs.x86_64                                                                     1:1.2.24-11.el6_10                                                              updates
freetype.x86_64                                                                      2.3.11-19.el6_10                                                                updates
ghostscript.x86_64                                                                   8.70-24.el6_10.2                                                                updates
java-1.7.0-openjdk.x86_64                                                            1:1.7.0.261-2.6.22.1.el6_10                                                     updates
java-1.7.0-openjdk-demo.x86_64                                                       1:1.7.0.261-2.6.22.1.el6_10                                                     updates
java-1.7.0-openjdk-devel.x86_64                                                      1:1.7.0.261-2.6.22.1.el6_10                                                     updates
java-1.7.0-openjdk-javadoc.noarch                                                    1:1.7.0.261-2.6.22.1.el6_10                                                     updates
java-1.7.0-openjdk-src.x86_64                                                        1:1.7.0.261-2.6.22.1.el6_10                                                     updates
kernel.x86_64                                                                        2.6.32-754.35.1.el6                                                             updates
kernel-firmware.noarch                                                               2.6.32-754.35.1.el6                                                             updates
kernel-headers.x86_64                                                                2.6.32-754.35.1.el6                                                             updates
libX11.x86_64                                                                        1.6.4-4.el6_10                                                                  updates
libX11-common.noarch                                                                 1.6.4-4.el6_10                                                                  updates
libcurl.x86_64                                                                       7.19.7-54.el6_10                                                                updates
libcurl-devel.x86_64                                                                 7.19.7-54.el6_10                                                                updates
libgudev1.x86_64                                                                     147-2.74.el6_10                                                                 updates
libipa_hbac.x86_64                                                                   1.13.3-60.el6_10.2                                                              updates
libssh2.x86_64                                                                       1.4.2-3.el6_10.1                                                                updates
libsss_idmap.x86_64                                                                  1.13.3-60.el6_10.2                                                              updates
libudev.x86_64                                                                       147-2.74.el6_10                                                                 updates
microcode_ctl.x86_64                                                                 2:1.17-33.31.el6_10                                                             updates
nfs-utils.x86_64                                                                     1:1.2.3-78.el6_10.2                                                             updates
ntp.x86_64                                                                           4.2.6p5-15.el6.centos                                                           updates
ntpdate.x86_64                                                                       4.2.6p5-15.el6.centos                                                           updates
openssh.x86_64                                                                       5.3p1-124.el6_10                                                                updates
openssh-clients.x86_64                                                               5.3p1-124.el6_10                                                                updates
openssh-server.x86_64                                                                5.3p1-124.el6_10                                                                updates
openssl.x86_64                                                                       1.0.1e-58.el6_10                                                                updates
openssl-devel.x86_64                                                                 1.0.1e-58.el6_10                                                                updates
perf.x86_64                                                                          2.6.32-754.35.1.el6                                                             updates
polkit.x86_64                                                                        0.96-11.el6_10.1                                                                updates
poppler.x86_64                                                                       0.12.4-12.el6_10.1                                                              updates
poppler-utils.x86_64                                                                 0.12.4-12.el6_10.1                                                              updates
python.x86_64                                                                        2.6.6-68.el6_10                                                                 updates
python-libipa_hbac.x86_64                                                            1.13.3-60.el6_10.2                                                              updates
python-libs.x86_64                                                                   2.6.6-68.el6_10                                                                 updates
python-paramiko.noarch                                                               1.7.5-5.el6_10                                                                  updates
python-sss-murmur.x86_64                                                             1.13.3-60.el6_10.2                                                              updates
python-sssdconfig.noarch                                                             1.13.3-60.el6_10.2                                                              updates
samba-client.x86_64                                                                  3.6.23-53.el6_10                                                                updates
samba-common.x86_64                                                                  3.6.23-53.el6_10                                                                updates
samba-winbind.x86_64                                                                 3.6.23-53.el6_10                                                                updates
samba-winbind-clients.x86_64                                                         3.6.23-53.el6_10                                                                updates
sos.noarch                                                                           3.2-63.el6.centos.4                                                             updates
sssd.x86_64                                                                          1.13.3-60.el6_10.2                                                              updates
sssd-ad.x86_64                                                                       1.13.3-60.el6_10.2                                                              updates
sssd-client.x86_64                                                                   1.13.3-60.el6_10.2                                                              updates
sssd-common.x86_64                                                                   1.13.3-60.el6_10.2                                                              updates
sssd-common-pac.x86_64                                                               1.13.3-60.el6_10.2                                                              updates
sssd-ipa.x86_64                                                                      1.13.3-60.el6_10.2                                                              updates
sssd-krb5.x86_64                                                                     1.13.3-60.el6_10.2                                                              updates
sssd-krb5-common.x86_64                                                              1.13.3-60.el6_10.2                                                              updates
sssd-ldap.x86_64                                                                     1.13.3-60.el6_10.2                                                              updates
sssd-proxy.x86_64                                                                    1.13.3-60.el6_10.2                                                              updates
sudo.x86_64                                                                          1.8.6p3-29.el6_10.3                                                             updates
td-agent.x86_64                                                                      4.3.0-1.amzn2                                                                   treasuredata
telnet.x86_64                                                                        1:0.17-49.el6_10                                                                updates
tomcat-el-2.2-api.noarch                                                             7.0.106-1.el6                                                                   epel
tomcat-jsp-2.2-api.noarch                                                            7.0.106-1.el6                                                                   epel
tomcat-lib.noarch                                                                    7.0.106-1.el6                                                                   epel
tomcat-servlet-3.0-api.noarch                                                        7.0.106-1.el6                                                                   epel
tzdata.noarch                                                                        2020d-1.el6                                                                     updates
udev.x86_64                                                                          147-2.74.el6_10                                                                 updates
vim-common.x86_64                                                                    2:7.4.629-5.el6_10.2                                                            updates
vim-enhanced.x86_64                                                                  2:7.4.629-5.el6_10.2                                                            updates
vim-filesystem.x86_64                                                                2:7.4.629-5.el6_10.2                                                            updates
vim-minimal.x86_64                                                                   2:7.4.629-5.el6_10.2                                                            updates
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel: archivefedora.mirror.angkasa.id
Resolving Dependencies
--> Running transaction check
---> Package td-agent.x86_64 0:3.8.0-0.el6 will be updated
---> Package td-agent.x86_64 0:4.3.0-1.amzn2 will be an update
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: systemd for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: systemd for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.25)(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libncurses.so.6()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libsasl2.so.3()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libtinfo.so.6()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Running transaction check
---> Package libyaml.x86_64 0:0.1.3-4.el6_6 will be installed
---> Package td-agent.x86_64 0:4.3.0-1.amzn2 will be an update
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.2)(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: systemd for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: systemd for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libc.so.6(GLIBC_2.25)(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libncurses.so.6()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libsasl2.so.3()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Processing Dependency: libtinfo.so.6()(64bit) for package: td-agent-4.3.0-1.amzn2.x86_64
--> Finished Dependency Resolution
Error: Package: td-agent-4.3.0-1.amzn2.x86_64 (treasuredata)
           Requires: libtinfo.so.6()(64bit)
Error: Package: td-agent-4.3.0-1.amzn2.x86_64 (treasuredata)
           Requires: systemd
Error: Package: td-agent-4.3.0-1.amzn2.x86_64 (treasuredata)
           Requires: libcrypto.so.10(OPENSSL_1.0.2)(64bit)
Error: Package: td-agent-4.3.0-1.amzn2.x86_64 (treasuredata)
           Requires: libsasl2.so.3()(64bit)
Error: Package: td-agent-4.3.0-1.amzn2.x86_64 (treasuredata)
           Requires: libc.so.6(GLIBC_2.25)(64bit)
Error: Package: td-agent-4.3.0-1.amzn2.x86_64 (treasuredata)
           Requires: libncurses.so.6()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Installation completed. Happy Logging!

start & stop & status command

[asdf@asdf /]$ cd /etc/ini.d
[asdf@asdf init.d]$ sudo ./td-agent start
[sudo] password for <> : 
td-agent td-agent:                                [ OK ]
[asdfa@asdf init.d]$ sudo ./td-agent start 
td-agent is running                             [ OK ]

설치 완료

이제 Newrelic 이라는 녀석을 사용해야 되는데 그럴려면 plugin을 받아야 한다.

 

command

[asdf@asddf /]$ sudo td-agent-gem install fluent-plugin-newrelic

이제 Fluentd에서 Newrelic을 사용할 준비는 끝났다.

이제 Newrelic 공식 홈페이지로 가서 회원가입을 한다.

Newrelic은 유료이긴 하지만 무료 기간이 있기 때문에 공부 목적으로 회원가입을 해서 설정을 해도 된다.

무료 버전 기간이 지나도 유료로 자동전환이 되지 않으므로 걱정하지 말자.

이제 회원가입을 하면 New Relic One으로 옮겨지는데 여기서 봐야 할 것은 여기이다.

API Keys를 클릭 하여 들어가면

Name 부분에 INGEST - LICENSE 라는 녀석이 라이선스 키 이므로 동그라미 친 부분을 클릭하여 Copy Key를 눌러 라이선스 키를 복사해둔다.

 

이제 Linux로 돌아와서 conf 파일을 수정해주면 된다.

$ sudo vi /etc/td-agent/td-agent.conf
<source>
  @type tail
  @log_level warn
  <parse>
    @type none
  </parse>
  path /<pathName>/%Y-%m-%d.txt
  pos_file /tmp/td-agent/log_file.pos
  tag tag.A
</source>

<source>
  @type tail
  @log_level warn
  <parse>
    @type none
  </parse>
  path /<pathName>/%Y-%m-%d.txt
  pos_file /tmp/td-agent/log_file2.pos
  tag tag.B
</source>


<source>
 @type tail
 @log_level warn
 <parse>
  @type none
 </parse>
 path /<pathName>/%Y-%m-%d.txt
 pos_file /tmp/td-agent/log_file3.pos
 tag <tagName3>
</source>


<match tag.*>
  @type newrelic
  license_key <라이선스 키>
  base_uri https://log-api.newrelic.com/log/v1
</match>

<match tagName3>
 @type newrelic
 license_key <라이선스 키>
 base_uri https://log-api.newrelic.com/log/v1
</match>

회사에서는 로그를 좀 많이 남겨서 로그가 들어가 있는 폴더들이 많다 그래서 3개 정도로 일단 뽑아서 놔뒀다.

 

저 tag.A, tag.B는 두개가 연관 있는 로그여서 그룹으로 묶어 줬다.

 

이렇게 한 다음 test를 위한 명령어를 날려준다.

$ echo "이것은 로그이다 그러니까 newrelic으로 들어가라" | sudo tee -a /<pathName>/<test message 넣고 싶은 log파일 이름>.txt
$ echo "이것은 로그이asdfasdfasdf다 그러니까 newrelic으로 들어가라" | sudo tee -a /<pathName>/<test message 넣고 싶은 log파일 이름>.txt

그리고 다시 New Relic 으로 돌아와서 Logs를 보면 ?

넣었던 로그가 들어온 것을 확인 할 수 있다.

 

끝!

728x90

'Fluentd > 적용' 카테고리의 다른 글

Fluentd + Azure Loganalytics  (0) 2022.07.25
Fluentd Installation ( ruby gem )  (0) 2022.07.25
Fluentd access log 500 에러만 남기기  (0) 2022.06.23
Fluentd + MongoDB  (0) 2022.05.10
Fluentd Test  (0) 2022.05.06