我有一个InfluxDB查询返回的以下对象,并且我希望能够检查任何导数是否等于或大于100,如果是,则进行处理。
我一直在尝试使用select来检查该字段,但是我实际上并不真正理解如何使用这样的数据结构。我将如何遍历返回的对象中的每个派生值?
在枚举文档中,我并没有真正看到与我的案例类似的示例。 https://ruby-doc.org/core-2.4.0/Enumerable.html
[{
"name" => "powerdns_value",
"tags" => nil,
"values" => [
{ "time" => "2017-03-21T14:20:00Z", "derivative" => 1},
{ "time" => "2017-03-21T14:30:00Z", "derivative" => 900},
{ "time" => "2017-03-21T14:40:00Z", "derivative" => 0},
{ "time" => "2017-03-21T15:20:00Z", "derivative" => 0}
]
}]
Run Code Online (Sandbox Code Playgroud) 我有一个字典,其中包含字符串作为键和列表作为值。
我想删除包含字符串“food”、“staging”、“msatl”和“azeus”的所有列表元素。我已经有了下面的代码,但是我很难将 filterIP 中的逻辑应用到我拥有的其余字符串中。
def filterIP(fullList):
regexIP = re.compile(r'\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$')
return filter(lambda i: not regexIP.search(i), fullList)
groups = {key : [domain.replace('fake.com', 'env.fake.com')
for domain in filterIP(list(set(items)))]
for (key, items) in groups.iteritems() }
for key, value in groups.iteritems():
value.sort()
meta = { "_meta" : { "hostvars" : hostvars } }
groups.update(meta)
print(self.json_format_dict(groups, pretty=True))
Run Code Online (Sandbox Code Playgroud)
电流输出示例
"role_thumper": [
"thumper-msatl1-prod-1.env.fake.com",
"thumper-msatl1-prod-2.env.fake.com",
"thumper-rwva1-prod-1.env.fake.com",
"thumper-rwva1-prod-2.env.fake.com",
"thumper-rwva1-prod-3.env.fake.com",
"thumper-rwva1-prod-4.env.fake.com",
"thumper-rwva1-prod-5.env.fake.com",
"thumper-rwva1-prod-6.env.fake.com",
"thumper-staging-1.env.fake.com"
],
"role_thumper_mongo": [
"thumper-mongo-staging-1.env.fake.com",
"thumper-mongo-staging-2.env.fake.com",
"thumpermongo-rwva1-staging-1.env.fake.com",
"thumpermongo-rwva1-staging-2.env.fake.com"
],
"role_thumper_mongo_arb": [
"thumper-mongo-arb-staging-1.env.fake.com",
"thumpermongo-arb-rwva1-staging-1.env.fake.com"
],
Run Code Online (Sandbox Code Playgroud) 正如标题所说,当我希望能够将在一个主机组下注册的变量传递到另一个主机组时,但我不知道该怎么做,并且在变量文档http:下找不到任何相关内容: //docs.ansible.com/ansible/playbooks_variables.html
这是我想要看到的简化示例。我有一个剧本,可以调用许多不同的组并检查符号链接指向的位置。我希望能够在播放结束时将所有符号链接目标报告给控制台。
问题是注册值仅在定义它的主机组下有效。是否有导出这些变量的正确方法?
---
- hosts: max_logger
tasks:
- shell: ls -la /home/ubuntu/apps/max-logger/active | awk -F':' '{print $NF}'
register: max_logger_old_active
- hosts: max_data
tasks:
- shell: ls -la /home/ubuntu/apps/max-data/active | awk -F':' '{print $NF}'
register: max_data_old_active
- hosts: "localhost"
tasks:
- debug: >
msg="The old max_logger build is {{ max_logger_old_active.stdout }}
The old max_data build is {{ max_data_old_active.stdout }}"
Run Code Online (Sandbox Code Playgroud) 我不是程序员,但我发现自己写了一些简单的红宝石,并且不确定一些事情.
我有以下功能
def resolve_name(ns_name)
ip = Resolv.getaddress(ns_name)
return ip
end
Run Code Online (Sandbox Code Playgroud)
和数组
array = ['ns-1.me.com', 'ns-2.me.com']
Run Code Online (Sandbox Code Playgroud)
我想要做的是将数组中的每个元素传递给要评估的函数,并吐出......某事.可能是变量.一旦我有解析的IP,我将把它们传递给erb模板.当可能有1到4个可能的结果时,还不太确定如何处理.
我想要做的是我需要做的是将each.do和类型转换为字符串到我的函数中,但是我无法弄清楚如何实际做到这一点或正确地说出我的问题谷歌告诉我.
irb(main):010:0> resolved = resolve_name(array)
TypeError: no implicit conversion of Array into String
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我不是程序员,但发现自己写了一些简单的Ruby.我需要用一个IP地址列表填充一个数组,10.13.203.3,10.13.204.3等.
我知道我可以将范围扩展为这样的数组,但是如何将其转换为我的IP地址模式?
a =* (3..10)
#=> [3, 4, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)
我以为我需要进行字符串插值,并以某种方式将其反馈到不同的数组中.但我真的不确定,也绝不能正确使用谷歌搜索,因为这感觉像是一件普通的事情.
如文档所述,我已经使用以下抓取配置在 kubernetes 上运行了 prometheus。.pem 文件位于 prometheus 容器内磁盘上的位置。
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#
scrape_configs:
- job_name: etcd
static_configs:
- targets: ['10.0.0.222:2379','10.0.0.221:2379','10.0.0.220:2379']
tls_config:
# CA certificate to validate API server certificate with.
ca_file: /prometheus/ca.pem
cert_file: /prometheus/cert.pem
key_file: /prometheus/key.pem
Run Code Online (Sandbox Code Playgroud)
我将 etcd 视为普罗米修斯中的目标,但是它返回的垃圾。
https://i.imgur.com/rdRI4V7.png
我可以通过像这样传入客户端证书信息来访问执行本地卷曲的指标端点。
我究竟做错了什么?
sudo curl --cacert /etc/ssl/etcd/ssl/ca.pem https://127.0.0.1:2379/metrics -L --cert /etc/ssl/etcd/ssl/node-kubemaster-rwva1-prod-2.pem --key /etc/ssl/etcd/ssl/node-kubemaster-rwva1-prod-2-key.pem^C
Run Code Online (Sandbox Code Playgroud) arrays ×3
ruby ×3
ansible ×1
chef-infra ×1
deployment ×1
etcd ×1
hash ×1
kubernetes ×1
prometheus ×1
python ×1