我在我的地方有一个数据中心设置。所以基本上我正在创建一个logstash conf文件,它将使用filter参数包含数据中心名称
for eg:-
10.21.53.x :- APP1 {10.21.53. belongs to APP1 datacenter and so on}
10.92.252.x :- APP2
10.23.252.x :- APP3
I am trying to write an erb template where
>>if the ip address matches "10.21.53.x" the variable should be set as APP1
>>if the ip address matches "10.92.252.x" the variable should be set as APP2
>>if the ip address matches "10.23.252.x" the variable should be set as APP3
答案 0 :(得分:0)
我使用了拆分的概念,似乎有效。
>>> a
'192.168.23.23'
>>> a
'192.168.23.23'
>>> a.split()
['192.168.23.23']
>>> a.split(".")
['192', '168', '23', '23']
>>> a.split(".")[0]
'192'
>>> a.split(".")[1]
'168'
>>> if a.split(".")[1] == 168:
... print "hey"
...
>>> if a.split(".")[1] == '168':
... print "hey"
...
hey
再次使用join来比较ip的所有三个八位字节
>>> ".".join(a.split(".")[:3])
'192.168.23'
使用此代码在chef-shell中编写并相应地进行测试
节点["网络"] ["接口"] [" eth1"] ["地址"]。选择{|地址,数据|数据["家庭"] ==" inet" } .keys.join.split("")[0,3]。加入("&#34)