TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 数据库
  3. 正文

InfluxDB部署与操作手册--结合Grafana展示

2024年4月7日 1447点热度 0人点赞 0条评论

InfluxDB部署与操作手册

部署InfluxDB

Install InfluxDB | InfluxDB OSS v2 Documentation (influxdata.com)

 root@ubuntu-2204:~# mkdir /apps/
 root@ubuntu-2204:~# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux_amd64.tar.gz
 root@ubuntu-2204:~# tar -xf influxdb-1.8.0_linux_amd64.tar.gz -C /apps/
 root@ubuntu-2204:~# cd /apps/
 root@ubuntu-2204:/apps# ln -sv influxdb-1.8.0-1 influxdb
 root@ubuntu-2204:/apps# cp influxdb2/usr/bin/influxd /usr/local/bin/

配置influxdb参数

在influxd的同级目录下新建config.yaml文件,具体的参数含义可查看官网或使用./influxd help查看。

 root@ubuntu-2204:/apps/influxdb/usr/bin# ll
 total 167660
 drwxr-xr-x 2 root root     4096 Apr 12  2020 ./
 drwxr-xr-x 5 root root     4096 Apr 12  2020 ../
 -rwxr-xr-x 1 root root 53413998 Apr 12  2020 influx*
 -rwxr-xr-x 1 root root 65739448 Apr 12  2020 influxd*
 -rwxr-xr-x 1 root root 19605184 Apr 12  2020 influx_inspect*
 -rwxr-xr-x 1 root root 11864989 Apr 12  2020 influx_stress*
 -rwxr-xr-x 1 root root 21043851 Apr 12  2020 influx_tsm*
 ----------------------------------------------------------------------
 influxd          influxdb服务器
 influx           influxdb命令行客户端
 influx_inspect   查看工具
 influx_stress    压力测试工具
 influx_tsm       数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)
 ----------------------------------------------------------------------

默认配置文件所在路径:{influxdb目录}/etc/influxdb/influxdb.conf

 root@ubuntu-2204:~# mkdir -p /data/influxdb/{conf,meta,data,wal}
 root@ubuntu-2204:~# cp /apps/influxdb/etc/influxdb/influxdb.conf /data/influxdb/conf/
 ​
  • 配置文件说明

 # reporting-disabled = false                                 # 该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false
 bind-address = "127.0.0.1:8085"                            # 备份恢复时使用,默认值为8088
 ### [meta]
 [meta]
   dir = "/data/influxdb/meta"                              # meta数据存放目录
   # retention-autocreate = true                            # 用于控制默认存储策略,数据库创建时,会自动生成autogen的存储策略,默认值:true
   # logging-enabled = true                                 # 是否开启meta日志,默认值:true
 ### [data]
 [data]
   dir = "/data/influxdb/data"                              # 最终数据(TSM文件)存储目录
   wal-dir = "/data/influxdb/wal"                           # 预写日志存储目录
   # wal-fsync-delay = "0s"                                 # 在同步写入之前等待的总时间,默认0s
   # index-version = "inmem"                                # 用于新碎片的切分索引的类型。
   # trace-logging-enabled = false                          # 跟踪日志记录在tsm引擎周围提供了更详细的输出
   # query-log-enabled = true                               # 是否开启tsm引擎查询日志,默认值: true
   # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k).
   # cache-max-memory-size = "1g"                           # 用于限定shard最大值,大于该值时会拒绝写入,默认值:1000MB,单位:byte
   # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k).
   # cache-snapshot-memory-size = "25m"                     # 用于设置快照大小,大于该值时数据会刷新到tsm文件,默认值:25MB,单位:byte
   # cache-snapshot-write-cold-duration = "10m"             # tsm引擎 snapshot写盘延迟,默认值:10Minute
   # compact-full-write-cold-duration = "4h"                # tsm文件在压缩前可以存储的最大时间,默认值:4Hour
   # max-concurrent-compactions = 0                         # 压缩并发的最大数量,默认设置为0表示runtime.GOMAXPROCS(0)*50% ,否则以设置的非零值为准
   # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k).
   # max-index-log-file-size = "1m"                         # 限制索引日志文件大小
   # max-series-per-database = 1000000                      # 限制数据库的级数,该值为0时取消限制,默认值:1000000
   # max-values-per-tag = 100000                            # 一个tag最大的value数,0取消限制,默认值:100000
   # tsm-use-madv-willneed = false                          # 如果为true,mmap的建议值MADV_WILLNEED会被提供给内核
 ### [coordinator]
 [coordinator]
   # write-timeout = "10s"                                  # 写操作超时时间,默认值: 10s
   # max-concurrent-queries = 0                             # 最大并发查询数,0无限制,默认值: 0
   # query-timeout = "0s"                                   # 查询操作超时时间,0无限制,默认值:0s
   # log-queries-after = "0s"                               # 慢查询超时时间,0无限制,默认值:0s
   # max-select-point = 0                                   # SELECT语句可以处理的最大点数(points),0无限制,默认值:0
   # max-select-series = 0                                  # SELECT语句可以处理的最大级数(series),0无限制,默认值:0
   # max-select-buckets = 0                                 # SELECT语句可以处理的最大"GROUP BY time()"的时间周期,0无限制,默认值:0
 ### [retention]
 [retention]
   # enabled = true                                         # 是否启用该模块,默认值 : true
   # check-interval = "30m"                                 # 检查时间间隔,默认值 :"30m"
 ### [shard-precreation]
 [shard-precreation]
   # enabled = true                                         # 是否启用该模块,默认值 : true
   # check-interval = "10m"                                 # 检查时间间隔,默认值 :"10m"
   # advance-period = "30m"                                 # 预创建分区的最大提前时间,默认值 :"30m"
 [monitor]
   # store-enabled = true                                   # 是否启用该模块,默认值 :true
   # store-database = "_internal"                           # 默认数据库:"_internal"
   # store-interval = "10s"                                 # 统计间隔,默认值:"10s"
 ### [http]
 [http]
   # enabled = true                                         # 是否启用该模块,默认值 :true
   # bind-address = ":8086"                                 # 绑定地址,默认值 :":8086"
   # auth-enabled = false                                   # 是否开启认证,默认值:false
   # realm = "InfluxDB"                                     # 配置JWT realm,默认值: "InfluxDB"
   # log-enabled = true                                     # 是否开启日志,默认值:true
   # suppress-write-log = false                             # 在启用日志时是否抑制HTTP写请求日志
   # access-log-path = ""                                   # 当启用HTTP请求日志时,该选项指定了路径。如influxd不能访问指定的路径,它将记录一个错误并将请求日志写入stderr
   # write-tracing = false                                  # 是否开启写操作日志,如果置成true,每一次写操作都会打日志,默认值:false
   # pprof-enabled = true                                   # 是否开启pprof,默认值:true
   # debug-pprof-enabled = false                            # 是否开启pprof,默认值:true
   # https-enabled = false                                  # 是否开启https ,默认值 :false
   # https-certificate = "/etc/ssl/influxdb.pem"            # 设置https证书路径,默认值:"/etc/ssl/influxdb.pem"
   # https-private-key = ""                                 # 设置https私钥,无默认值
   # shared-secret = ""                                     # 用于JWT签名的共享密钥,无默认值
   # max-row-limit = 0                                      # 配置查询返回最大行数,0无限制,默认值:0
   # max-connection-limit = 0                               # 配置最大连接数,0无限制,默认值:0
   # unix-socket-enabled = false                            # 是否使用unix-socket,默认值:false
   # bind-socket = "/var/run/influxdb.sock"                 # unix-socket路径,默认值:"/var/run/influxdb.sock"
   # max-body-size = 25000000                               # 客户端请求主体的最大值,以字节为单位。0无限制,默认值0
   # max-concurrent-write-limit = 0                         # 并发处理的最大写入次数,0无限制,默认值0
   # max-enqueued-write-limit = 0                           # 排队等待处理的最大数量,0无限制,默认值0
   # enqueued-write-timeout = 0                             # 在队列中等待处理的最长时间,0或者setting max-concurrent-write-limit=0无限制,默认值0
 ### [ifql]
 [ifql]
   # enabled = true                                         # 是否启用该模块,默认值 :true
   # log-enabled = true                                     # 是否开启日志,默认值:true
   # bind-address = ":8082"                                 # ifql RPC服务使用的绑定地址默认是8082
 ### [logging]
 [logging]
   # format = "auto"                                        # 日志格式,默认是自动
   # level = "info"                                         # 日志级别默认info
   # suppress-logo = false                                  # 当程序启动时,会抑制打印出来的logo输出
 ### [subscriber]
 [subscriber]
   # enabled = true                                         # 是否启用该模块,默认值 :true
   # http-timeout = "30s"                                     # http超时时间,默认值:"30s"
   # insecure-skip-verify = false                             # 是否允许不安全的证书
   # ca-certs = ""                                            # 设置CA证书
   # write-concurrency = 40                                 # 设置并发数目,默认值:40
   # write-buffer-size = 1000                                 # 设置buffer大小,默认值:1000
 ### [[graphite]]
 [[graphite]]
   # enabled = false                                        # 是否启用该模块,默认值 :false
   # database = "graphite"                                  # 数据库名称,默认值:"graphite"
   # retention-policy = ""                                  # 存储策略,无默认值
   # bind-address = ":2003"                                 # 绑定地址,默认值:":2003"
   # protocol = "tcp"                                       # 协议,默认值:"tcp"
   # consistency-level = "one"                              # 一致性级别,默认值:"one
   # batch-size = 5000                                      # 批量size,默认值:5000
   # batch-pending = 10                                     # 配置在内存中等待的batch数,默认值:10
   # batch-timeout = "1s"                                   # 超时时间,默认值:"1s"
   # udp-read-buffer = 0                                    # udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 该配置的默认值:0
   # separator = "."                                        # 多个measurement间的连接符,默认值: "."
   # tags = ["region=us-east", "zone=1c"]                   # 将被添加到所有指标的默认标签。这些可以在模板级别上覆盖或者从指标中提取的标签
   # templates = [
   #   "*.app env.service.resource.measurement",
   #   # Default template
   #   "server.*",
   # ]
 ### [collectd]
 [[collectd]]
   # enabled = false                                        # 是否启用该模块,默认值 :false
   # bind-address = ":25826"                                # 绑定地址,默认值: ":25826"
   # database = "collectd"                                  # 数据库名称,默认值:"collectd"
   # retention-policy = ""                                  # 存储策略,无默认值
   # typesdb = "/usr/local/share/collectd"                  # 路径,默认值:"/usr/share/collectd/types.db"
   # security-level = "none"                                # 安全级别
   # auth-file = "/etc/collectd/auth_file"
   # batch-size = 5000                                      # 从缓存中批量获取数据的量,默认值:5000
   # batch-pending = 10                                     # 可能在内存中等待的批次的数量,默认值:10
   # batch-timeout = "10s"                                  # 即使没有达到缓冲区的限制,至少要刷新一下,默认值:"10s"
   # read-buffer = 0                                        # udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。默认值:0
   # parse-multivalue-plugin = "split"                      # 两种处理方式split和join,split会分到不同的表中,join会将记录作为一个单独的记录处理。默认是split
 ### [opentsdb]
 [[opentsdb]]
   # enabled = false                                        # 是否启用该模块,默认值 :false
   # bind-address = ":4242"                                 # 绑定地址,默认值:":4242"
   # database = "opentsdb"                                  # 默认数据库:"opentsdb"
   # retention-policy = ""                                  # 存储策略,无默认值
   # consistency-level = "one"                              # 一致性级别,默认值:"one"
   # tls-enabled = false                                    # 是否开启tls,默认值:false
   # certificate= "/etc/ssl/influxdb.pem"                   # 证书路径,默认值:"/etc/ssl/influxdb.pem"
   # log-point-errors = true                                # 出错时是否记录日志,默认值:true
   # batch-size = 1000                                      # 从缓存中批量获取数据的量,默认值:1000
   # batch-pending = 5                                      # 可能在内存中等待的批次的数量,默认值:5
   # batch-timeout = "1s"                                   # 即使没有达到缓冲区的限制,至少要刷新一下,默认值:"1s"
 ### [[udp]]
 [[udp]]
   # enabled = false                                        # 是否启用该模块,默认值 :false
   # bind-address = ":8089"                                 # 绑定地址,默认值:":8089"
   # database = "udp"                                       # 数据库名称,默认值:"udp"
   # retention-policy = ""                                  # 存储策略,无默认值
   # precision = ""                                         # 接收点的时间点的精度("" or "n", "u", "ms", "s", "m", "h")
   # batch-size = 5000                                      # 从缓存中批量获取数据的量,默认值:5000
   # batch-pending = 10                                     # 可能在内存中等待的批次的数量,默认值:10
   # batch-timeout = "1s"                                   # 即使没有达到缓冲区的限制,至少要刷新一下,默认值:"1s"
   # read-buffer = 0                                        # udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 该配置的默认值:0 
 ### [continuous_queries]
 [continuous_queries]
   # enabled = true                                         # 是否启用该模块,默认值 :true
   # log-enabled = true                                     # 是否开启日志,默认值:true
   # query-stats-enabled = false                            # 控制查询是否被记录到自我监控数据存储中
   # run-interval = "1s"                                    # 时间间隔,默认值:"1s"
 ### [tls]
 [tls]
   # ciphers = [
   #   "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
   #   "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
   # ]
   # min-version = "tls1.2"
   # max-version = "tls1.2"

运行influxdb

 # 前台运行
 root@ubuntu-2204:~# influxd
 # 后台运行
 root@ubuntu-2204:~# cd /apps/influxdb/usr/bin/
 root@ubuntu-2204:/apps/influxdb/usr/bin# nohup ./influxd -config /data/influxdb/conf/influxdb.conf  > influxdb.log 2>&1 &

InfluxDB操作

修改时区

 > SELECT * FROM "system" WHERE time > now() - 5m tz('Asia/Shanghai')

数据库操作

登录InfluxDB

 启动influxdb控制台,第一次启动会较慢,耐心等待
 root@ubuntu-2204:/apps/influxdb/usr/bin# ./influx
 Connected to http://localhost:8086 version 1.8.0
 InfluxDB shell version: 1.8.0

显示数据库

 >  show databases
 name: databases
 name
 ----
 _internal

新建数据库

> create database sa
> show databases
name: databases
name
----
_internal
sa

使用某个数据库

> use sa
Using database sa

删除数据库

drop database test

InfluxDB数据表操作

在InfluxDB当中,并没有表(table)这个概念,取而代之的是MEASUREMENTS,MEASUREMENTS的功能与传统数据库中的表一致,因此我们也可以将MEASUREMENTS称为InfluxDB中的表。

新建表

InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。如下所示:

> use sa
Using database sa
> insert cpu,idc=bj1,network=10.15 value=0.78 
> select * from "cpu"
name: cpu
time                idc network value
----                --- ------- -----
1712458451567389683 bj1 10.15   0.78

显示所有表

> SHOW MEASUREMENTS
name: measurements
name
----
cpu

删除表

> drop measurement cpu

用HTTP API编写数据

创建数据库

要创建数据库,请将POST请求发送到/query端点并将URL参数设置q为CREATE DATABASE <new_database_name>。下面的示例向运行的InfluxDB发送请求localhost并创建数据库mydb

root@ubuntu-2204:/apps/influxdb2/usr/bin# curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE mydb"
HTTP/1.1 200 OK
Content-Type: application/json
Request-Id: 88125753-f48a-11ee-8009-000c29626e6c
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.0
X-Request-Id: 88125753-f48a-11ee-8009-000c29626e6c
Date: Sun, 07 Apr 2024 02:57:12 GMT
Transfer-Encoding: chunked

{"results":[{"statement_id":0}]}

编写数据

HTTP API是通过向端点发送POST请求将数据写入InfluxDB的主要手段/write。下面的例子将一个点写入mydb数据库。所述数据由所述的测量 cpu_load_short(表名)时,代码键 host和region与所述 标签值 server01和us-west,该字段键 value与字段值的0.64

root@ubuntu-2204:/apps/influxdb2/usr/bin# curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64'
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: bc3992de-f48a-11ee-800c-000c29626e6c
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.8.0
X-Request-Id: bc3992de-f48a-11ee-800c-000c29626e6c
Date: Sun, 07 Apr 2024 02:58:39 GMT

Grafana展示

标签: 暂无
最后更新:2024年4月7日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • InfluxDB部署与操作手册
    • 部署InfluxDB
      • 配置influxdb参数
      • 运行influxdb
    • InfluxDB操作
      • 修改时区
      • 数据库操作
      • InfluxDB数据表操作
      • 用HTTP API编写数据
    • Grafana展示

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号