influxdb在服务器上面的配置

配置docker-compose.yml文件(~/influxv2/docker-compose.yml)

services:
  influxdb:
    image: influxdb:latest
    container_name: influxdb2
    volumes:
      - /home/bm/Data/influxdb/data:/var/lib/influxdb2:rw
#    env_file:
#      - .env
#    entrypoint: ["./entrypoint.sh"]
    ports:
      - 8086:8086
    restart: unless-stopped

  # Use the influx cli to set up an influxdb instance.
  influxdb_cli:
    links:
      - influxdb
    image: influxdb:latest
    volumes:
      # Mount for influxdb data directory and configuration
      - /home/bm/Data/influxdb/data:/var/lib/influxdb2:rw
      - ./ssl/influxdb-selfsigned.crt:/etc/ssl/influxdb-selfsigned.crt:rw
      - ./ssl/influxdb-selfsigned.key:/etc/ssl/influxdb-selfsigned.key:rw
    environment:
       # Use these same configurations parameters in your telegraf configuration, mytelegraf.conf.
      - DOCKER_INFLUXDB_INIT_MODE=setup
      - DOCKER_INFLUXDB_INIT_USERNAME=Jtext103
      - DOCKER_INFLUXDB_INIT_PASSWORD=Jtext103.
      - DOCKER_INFLUXDB_INIT_ORG=Jtext103
      - DOCKER_INFLUXDB_INIT_BUCKET=test
      - DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=mytoken
      - INFLUXD_TLS_CERT=/etc/ssl/influxdb-selfsigned.crt
      - INFLUXD_TLS_KEY=/etc/ssl/influxdb-selfsigned.key
    entrypoint: ["./entrypoint.sh"]
    restart: unless-stopped
    depends_on:
      - influxdb

  telegraf:
    image: telegraf:latest
    container_name: telegraf
#    links:
#      - influxdb
    volumes:
      #  Sync timezone with host
      - /etc/localtime:/etc/localtime:ro
      #  Map Telegraf configuration file
      - /home/bm/Data/influxdb/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
      #  Map /tmp to permanent storage  (this includes /tmp/metrics.out)
    restart: unless-stopped
    depends_on:
      - influxdb

influxdb docker-compose 设置

image: 设置influxdb image, 默认为latest; volumes: ':' 前面为服务器主机的数据存储路径,后面是容器内部的数据存储路径; ports: 默认8086

influxdb-cli docker-compose 设置

配置登录页面用到的user,pwd,org,bucket,token

telegraf docker-compose 设置

volumes: 有telegraf.conf文件路径,非常重要,用于配置telegraf

启动和关闭

启动: 在.yml文件路径下输入docker-compose up -d 关闭: docker-compose down

telegraf.conf文件配置

路径:/home/bm/Data/influxdb/telegraf/telegraf.conf

# Configuration for telegraf agent
[agent]
  ## Default data collection interval for all inputs
  interval = "5s"
  ## Rounds collection interval to 'interval'
  ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
  round_interval = true

  ## Telegraf will send metrics to outputs in batches of at most
  ## metric_batch_size metrics.
  ## This controls the size of writes that Telegraf sends to output plugins.
  metric_batch_size = 1000

  ## For failed writes, telegraf will cache metric_buffer_limit metrics for each
  ## output, and will flush this buffer on a successful write. Oldest metrics
  ## are dropped first when this buffer fills.
  ## This buffer only fills when writes fail to output plugin(s).
  metric_buffer_limit = 10000

  ## Collection jitter is used to jitter the collection by a random amount.
  ## Each plugin will sleep for a random time within jitter before collecting.
  ## This can be used to avoid many plugins querying things like sysfs at the
  ## same time, which can have a measurable effect on the system.
  collection_jitter = "0s"

  ## Default flushing interval for all outputs. Maximum flush_interval will be
  ## flush_interval + flush_jitter
  flush_interval = "5s"
  ## Jitter the flush interval by a random amount. This is primarily to avoid
  ## large write spikes for users running a large number of telegraf instances.
  ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
  flush_jitter = "0s"

  ## By default or when set to "0s", precision will be set to the same
  ## timestamp order as the collection interval, with the maximum being 1s.
  ##   ie, when interval = "10s", precision will be "1s"
  ##       when interval = "250ms", precision will be "1ms"
  ## Precision will NOT be used for service inputs. It is up to each individual
  ## service input to set the timestamp at the appropriate precision.
  ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
  precision = ""

  ## Logging configuration:
  ## Run telegraf with debug log messages.
  debug = false
  ## Run telegraf in quiet mode (error log messages only).
  quiet = false
  ## Specify the log file name. The empty string means to log to stderr.
  logfile = ""

  ## Override default hostname, if empty use os.Hostname()
  hostname = "CFET2APP"
  ## If set to true, do no set the "host" tag in the telegraf agent.
  omit_hostname = false
[[outputs.influxdb_v2]]	
  ## The URLs of the InfluxDB cluster nodes.
  ##
  ## Multiple URLs can be specified for a single cluster, only ONE of the
  ## urls will be written to each interval.
  ## urls exp: http://127.0.0.1:8086
  urls = ["http://influxdb2:8086"]

  ## Token for authentication.
  token = "VmQkAuzOQ4dNVhFtWtTayIuPNhx_i62mSTZsvgC99lDDXFjAowm7Rnh4ADIKGyGZ37LRO6cXzW45_Y49lTn6kg=="

  ## Organization is the name of the organization you wish to write to; must exist.
  organization = "Jtext103"

  ## Destination bucket to write into.
  bucket = "test"


[[inputs.http]]
  name_override = "bm_measurement1"
  ## One or more URLs from which to read formatted metrics
  urls = [
    "http://192.168.1.12:8004/Temp/temperatureSensor/GetTemperature"
  ]

  ## HTTP method
  method = "GET"
  #Data from HTTP in JSON format
  data_format = "json"
  fieldpass = ["CFET2CORE_SAMPLE_VAL"]
  [inputs.http.tags]
    Sensor = "TempSensor1"

outputs.influxdb_v2

输出到url: "http://influxdb2:8086", influxdb2是container name

inputs.http

name_override: 改写_measurement名字

field_pass: 只会在Point中显示出该field的_value


本文章使用limfx的vscode插件快速发布