# Sorry if its repeated question about parsing logs from diffrent directories and diffrent indexes

**URL:** <https://discuss.elastic.co/t/sorry-if-its-repeated-question-about-parsing-logs-from-diffrent-directories-and-diffrent-indexes/84940>\
**Category:** Logstash\
**Created:** [May 8, 2017, 1:43pm UTC](https://discuss.elastic.co/t/sorry-if-its-repeated-question-about-parsing-logs-from-diffrent-directories-and-diffrent-indexes/84940 "2017-05-08T13:43:05Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rajsolanki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rajsolanki/32/86859_2.png) [@rajsolanki](https://discuss.elastic.co/u/rajsolanki)\
**Post date:** [May 8, 2017, 1:43pm UTC](https://discuss.elastic.co/t/sorry-if-its-repeated-question-about-parsing-logs-from-diffrent-directories-and-diffrent-indexes/84940/1 "2017-05-08T13:43:05Z")

</div>

Hi

on my web server I have following configuration for access log

location : /var/log/customerA/access.log  
location : /var/log/customerB/access.log  
location : /var/log/customerC/access.log

So i think i need only one log stash agent(install) and config file like following ?

input {  
file{  
path =\>"/var/log/customerA/_.log"  
start\_position =\> "beginning"  
}  
file{  
path =\>"/var/log/customerB/_.log"  
start\_position =\> "beginning"  
}  
file{  
path =\>"/var/log/customerC/_.log"  
start\_position =\> "beginning"  
}  
}  
filter{  
if [path]== "/var/log/customerA/_.log"  
{  
my grok patterns

```
}

```

else if [path] == "/var/log/customerB/\*.log"  
{  
my grok patterns  
}

else if [path] == "/var/log/customerC/\*.log"  
{  
my grok patterns  
}

output {  
if [path] == "/var/log/customerA/_.log"  
{  
elasticsearch {  
hosts =\> "[http://localhost:9200](http://localhost:9200)"  
index =\> "customerA\_index"  
}  
}  
else if [path] == "/var/log/customerB/_.log"  
{  
elasticsearch{  
hosts =\> "[http://localhost:9200](http://localhost:9200)"  
index =\> "customerB\_index"  
}  
}  
else if [path] == "/var/log/customerB/\*.log"  
{  
elasticsearch{  
hosts =\> "[http://localhost:9200](http://localhost:9200)"  
index =\> "customerC\_index"  
}  
}  
stdout {  
codec =\> dots {}

}  
}

---

<div class="post-metadata">

**Author:** ![paz](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/paz/32/28003_2.png) [@paz](https://discuss.elastic.co/u/paz)\
**Post date:** [May 8, 2017, 2:33pm UTC](https://discuss.elastic.co/t/sorry-if-its-repeated-question-about-parsing-logs-from-diffrent-directories-and-diffrent-indexes/84940/2 "2017-05-08T14:33:12Z")

</div>

It should work, without a problem. In order to maintain some parts easier if the different customers increase, you could use a template for the output, like so:

`input {
	file {
		path => "/var/log/customerA/*.log"
		start_position => "beginning"
        add_field => {
            "customer" => "customerA"
        }
	}
	file {
		path => "/var/log/customerB/*.log"
		start_position => "beginning"
        add_field => {
            "customer" => "customerB"
        }
	}
	file {
		path => "/var/log/customerC/*.log"
		start_position => "beginning"
        add_field => {
            "customer" => "customerC"
        }
	}
}
filter {
    if [customer] == "customerA" {
        my grok patterns
    }
    else if [customer] == "customerB" {
        my grok patterns
    }
    else if [customer] == "customerC" {
        my grok patterns
    }
}
output {
    elasticsearch {
        hosts => "http://localhost:9200"
        index => "%{customer}_index"
    }
    stdout {
        codec => dots {}
    }
}
`

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [May 8, 2017, 3:07pm UTC](https://discuss.elastic.co/t/sorry-if-its-repeated-question-about-parsing-logs-from-diffrent-directories-and-diffrent-indexes/84940/3 "2017-05-08T15:07:59Z")

</div>

> if [path] == "/var/log/customerA/\*.log"{

Well, this won't work since the `path` field will contain the actual path to the log file.

I suggest you set a separate field (called e.g. "customer") in each file input plugin and use that field here.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [June 5, 2017, 3:20pm UTC](https://discuss.elastic.co/t/sorry-if-its-repeated-question-about-parsing-logs-from-diffrent-directories-and-diffrent-indexes/84940/4 "2017-06-05T15:20:27Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
