首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为nagiosXI之外的服务创建不可接受的角色

为nagiosXI之外的服务创建不可接受的角色
EN

Stack Overflow用户
提问于 2018-05-14 10:32:08
回答 1查看 296关注 0票数 0

我试图用下面的CURL命令向NagiosXI添加一个服务。

代码语言:javascript
复制
curl -k -XPOST "https://16.231.22.60/nagiosxi/api/v1/config/service?apikey=qfOQpKFORCNo7HPunDUsSjW7f2rNNmrdVv3kvYpmQcNdSS2grV2jeXKsgbv3QgfL&pretty=1" -d "host_name=***{{ item }}***&***service_description=Service status for: sshd***&use=xiwizard_ncpa_service&check_command=check_xi_ncpa\! -t 5nidNag -P 5693 -M services -q service=sshd,status=running&check_interval=5&retry_interval=1"

在上面的命令中,只更改主机名和服务描述描述。我用项目模块调用主机名。并手动添加服务描述。如果我需要添加50个服务,我需要编写此命令50次。

我计划用ansible的角色来写它。有人能帮我解决这个问题吗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-15 10:27:19

你可以这样做:

代码语言:javascript
复制
---
- name: Nagios Config
  gather_facts: False
  hosts: localhost

  vars: 

    servers: 
      - 10.100.10.5
      - 10.100.10.6
      - 10.100.10.7

    services: 
      - ssh
      - https
      - smtp

  tasks:

    - name: Add Nagios services
      debug:
        msg: "curl -host {{item.0}} with service {{ item.1 }}"
      with_nested:
        - "{{ servers }}"
        - "{{ services }}"

获得以下输出:

代码语言:javascript
复制
TASK [Add Nagios services] ********************************************************************************************************
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.5 with service ssh"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.5 with service https"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.5 with service smtp"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.6 with service ssh"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.6 with service https"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.6 with service smtp"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.7 with service ssh"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.7 with service https"
}
ok: [localhost] => (item=None) => {
    "msg": "curl -host 10.100.10.7 with service smtp"
}

如果uri模块不符合您的要求,可以使用shell模块。为了回答这个问题,我对debug进行了反思。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50328219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档