td-agent在Amazon Linux 2上不起作用

时间:2018-08-06 07:32:30

标签: apache systemd fluentd amazon-linux td-agent

我想知道如何让td-agent读取Amazon linux2上的Apache日志文件。 看来td-agent没有读取日志文件的权限,但我无法解决此问题。 我使用流浪汉将Amazon linux2安装到virtualbox中。

参考 https://app.vagrantup.com/aibax/boxes/amazonlinux2 https://docs.fluentd.org/v1.0/articles/install-by-rpm#systemd

版本

  • 虚拟盒:5.2.16 r123759
  • 无业游民:无业游民2.1.2

1使用ansible安装apache和td-agent。

# ansible/playbook.yml
# install apache
- name: install httpd (apache)
  become: yes
  yum:
    name: httpd
    state: present 

# install td-agent
 - name: install td-agent
    raw: "curl -L https://toolbelt.treasuredata.com/sh/install-amazon2- td-agent3.sh | sh"

- name: upload etc/td-agent/td-agent.conf
  become: yes
  copy: src=../etc/td-agent/td-agent.conf
        dest=/etc/td-agent/td-agent.conf
        directory_mode=yes

-

# /etc/td-agent/td-agent.conf
<source>
 type tail
 format apache
 path /var/log/httpd/access_log
 tag apache.access_log
 pos_file /var/log/td-agent/access_log.pos
</source>

<source>
 type tail
 format apache
 path /var/log/httpd/error_log
 tag apache.error_log
 pos_file /var/log/td-agent/error_log.pos
</source>

<match apache.**>
 type forward
 <server>
  name jobq01
  host 52.68.22.100
  port 24224
 </server>
</match>
  1. 运行apache

    $ sudo systemctl start httpd

  2. 确认apache适用于chrome。

  3. 运行td-agent并确认

-

$ sudo systemctl start td-agent.service
$ sudo systemctl status td-agent.service
● td-agent.service - td-agent: Fluentd based data collector for Treasure Data
   Loaded: loaded (/usr/lib/systemd/system/td-agent.service; disabled; vendor preset: disabled)
   Active: active (running) since 月 2018-08-06 05:24:22 UTC; 1min 1s ago
     Docs: https://docs.treasuredata.com/articles/td-agent
  Process: 5532 ExecStart=/opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid $TD_AGENT_OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 5537 (fluentd)
   CGroup: /system.slice/td-agent.service
           └─5537 /opt/td-agent/embedded/bin/ruby /opt/td-agent/embedded/bin/fluentd --log /var/log/td-agent/td-agent.log --daemon /var/run/td-agent/td-agent.pid

 8月 06 05:24:21 localhost systemd[1]: Starting td-agent: Fluentd based data collector for Treasure Data...
 8月 06 05:24:22 localhost systemd[1]: Started td-agent: Fluentd based data collector for Treasure Data.

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题

下面文件中的用户和组应修改为root。

/lib/systemd/system/td-agent.service