# Redis input host array

**URL:** <https://discuss.elastic.co/t/redis-input-host-array/33248>\
**Category:** Logstash\
**Created:** [October 29, 2015, 1:26pm UTC](https://discuss.elastic.co/t/redis-input-host-array/33248 "2015-10-29T13:26:18Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tgdesrochers](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tgdesrochers/32/51322_2.png) [@tgdesrochers](https://discuss.elastic.co/u/tgdesrochers)\
**Post date:** [October 29, 2015, 1:26pm UTC](https://discuss.elastic.co/t/redis-input-host-array/33248/1 "2015-10-29T13:26:18Z")

</div>

Is there a reason the redis output can use an array but the redis input cannot.

I would like to use my domain name (a DNS entry for many IP's with the same domain name) in the redis input so that I can spin up new nodes as needed without changing any of my configurations. If I understand the current setup correctly I need to have an input statement that includes each redis nodes IP address on each of my indexers such as:

input {  
redis {  
host =\> ["x.x.x.x"]  
data\_type =\> "list"  
key =\> "bro"  
}  
redis {  
host =\> ["x.x.x.x"]  
data\_type =\> "list"  
key =\> "bro"  
}  
redis {  
host =\> ["x.x.x.x"]  
data\_type =\> "list"  
key =\> "bro"  
}  
redis {  
host =\> ["x.x.x.x"]  
data\_type =\> "list"  
key =\> "bro"  
}  
}

To help my current setup is I have multiple IDS sensors sending logs to a local redis queue on the sensor, that local queue sends data to a central redis queue with 8 redis nodes (each on their own vm's) I have 4 logstash indexers reading from that queue and sending into a multi node ES cluster. As stated earlier I think having the redis input able ro trad from an array or from a domain name that has multiple IP addresses would be helpful in a setup like mine because it would allow me to spin up a new node when needed and just add that nodes IP address to my DNS server and not have to change any config in my ELK stack.

Just a thought, and please if I have this information wrong correct me.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [October 30, 2015, 7:23am UTC](https://discuss.elastic.co/t/redis-input-host-array/33248/2 "2015-10-30T07:23:39Z")

</div>

Feel free to raise a feature request for this!

But I guess part of it is how do we know when to use the other IPs/hostnames? Do we take N from host A, then N from host B and so on? Do we move to host A after host B is no longer available for N seconds?

---

<div class="post-metadata">

**Author:** ![tgdesrochers](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tgdesrochers/32/51322_2.png) [@tgdesrochers](https://discuss.elastic.co/u/tgdesrochers)\
**Post date:** [October 30, 2015, 10:46am UTC](https://discuss.elastic.co/t/redis-input-host-array/33248/3 "2015-10-30T10:46:49Z")

</div>

Thanks raising this in the feature request thread

---

<div class="post-metadata">

**Author:** ![MarkGavalda](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/markgavalda/32/4764_2.png) [@MarkGavalda](https://discuss.elastic.co/u/MarkGavalda)\
**Post date:** [March 8, 2016, 3:28pm UTC](https://discuss.elastic.co/t/redis-input-host-array/33248/4 "2016-03-08T15:28:52Z")

</div>

It would be great if someone implemented this! We can work around it, sure, but it would be great to be able to define an array of servers Logstash could get the new data from.

---

<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:** [July 6, 2017, 5:07am UTC](https://discuss.elastic.co/t/redis-input-host-array/33248/5 "2017-07-06T05:07:58Z")

</div>


