使用Ansible创建Influxdb用户

时间:2017-07-05 11:46:22

标签: ansible influxdb

如何使用ansible模块在Influxdb中创建用户?

influxdb ansible docs中,我找不到如何创建用户。

我正在尝试通过Influxdb API创建它,但没有取得成功。

  - name: create user in influxdb
    uri:
      url: "http://localhost:8086/query"
      method: POST
      body: "--data-urlencode 'q=CREATE USER myuser WITH PASSWORD 'mypass' WITH ALL PRIVILEGES'"
      body_format: raw

回应是,

fatal: [192.168.122.62]: FAILED! => {"changed": false, "connection": "close", "content": "{\"error\":\"missing required parameter \\\"q\\\"\"}\n", "content_length": "45", "content_type": "application/json", "date": "Wed, 05 Jul 2017 12:08:26 GMT", "failed": true, "json": {"error": "missing required parameter \"q\""}, "msg": "Status code was not [200]: HTTP Error 400: Bad Request", "redirected": false, "request_id": "a6c36bfd-617a-11e7-800c-000000000000", "status": 400, "url": "http://localhost:8086/query", "x_influxdb_version": "1.2.2"}

4 个答案:

答案 0 :(得分:1)

我有一个带引号的噩梦......但这个对我有用:

vm.chartOptions = {
    chart : {
        height : 250,
        type : "pieChart",
        donut : true,
        showLegend : false,
        //The rest of the configuration
};

答案 1 :(得分:0)

您可以使用command模块轻松创建用户。

- name: Create InfluxDB user
  command: "influx -execute \"CREATE USER {{item.user}} WITH PASSWORD 
           '{{item.pass}}' WITH ALL PRIVILEGES\""
  with_items:
    - { user: 'admin', pass: 'admin' }

这比使用REST api要高效得多。

答案 2 :(得分:0)

此代码应该按预期工作:

- name: create user in influxdb
  uri:
    url: "http://localhost:8086/query"
    method: POST
    body: "q=CREATE USER myuser WITH PASSWORD 'mypass' WITH ALL PRIVILEGES"

答案 3 :(得分:0)

如果有人也对此感到疑惑-请记住,Ansible的社区模块已经可以满足您的所有需求,而不必使用原始/命令模块