0

我想知道如何让 td-agent 读取 Amazon linux2 上的 apache 日志文件。似乎 td-agent 没有读取日志文件的权限,但我无法解决此问题。我使用 vagrant 将 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. 运行阿帕奇

    $ sudo systemctl 启动 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.
4

1 回答 1

0

我自己解决了这个问题

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

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

于 2018-08-07T02:43:32.193 回答