Ashok Reddy
Ashok Reddy

Reputation: 1085

Unable to start filebeat.error missing fileld

Below is my filebeat.yml file , I am unable to start service getting error

filebeat.prospectors:
- input_type: log
** paths:**
** - /opt/apache-tomcat-7.0.82/logs/*.log**

document_type: apache-access
fields_under_root: true

output.logstash:
** hosts: '${host}'**

host is environment variable i did export host="10.2.3.1:5044"

Apr 10 06:59:35 node1 filebeat[401]: Exiting: error initializing publisher: missing field accessing 'output.logstash.hosts' (source:'/etc/filebeat/filebeat.yml')
Apr 10 06:59:35 node1 systemd[1]: filebeat.service: main process exited, code=exited, status=1/FAILURE
Apr 10 06:59:35 node1 systemd[1]: Unit filebeat.service entered failed state.
Apr 10 06:59:35 node1 systemd[1]: filebeat.service failed.
Apr 10 06:59:35 node1 systemd[1]: filebeat.service holdoff time over, scheduling restart.
Apr 10 06:59:35 node1 systemd[1]: start request repeated too quickly for filebeat.service
Apr 10 06:59:35 node1 systemd[1]: Failed to start filebeat.
Apr 10 06:59:35 node1 systemd[1]: Unit filebeat.service entered failed state.
Apr 10 06:59:35 node1 systemd[1]: filebeat.service failed.``

Upvotes: 1

Views: 7326

Answers (2)

Ashok Reddy
Ashok Reddy

Reputation: 1085

I found solution, That's the issue is Systemd does not pass environment variables. I started filebeat as ./filebeat -e -c filebeat.yml it worked for me

Upvotes: 2

MrSimple
MrSimple

Reputation: 599

By looking at this I see multiple syntax differences to your configuration. There are some examples at the bottom of the page even for hosts.

https://www.elastic.co/guide/en/beats/filebeat/1.2/using-environ-vars.html

Hope it helps.

Upvotes: 0

Related Questions