Mac上新版InfluxDB使用教程

一、简介

官网:influxdb

二、influxdb安装

建议使用Homebrew在 macOS 上安装 InfluxDB v2:

复制代码
brew install influxdb

启动influxdb服务:brew services start influxdb

停止influxdb服务:brew services stop influxdb

查看是否启动成功:ps -ef | grep influxd

删除influxdb:brew uninstall influxdb

如果使用brew 不能彻底删除,请删除文件:rm -rf ~/.influxdbv2

服务启动完之后,默认端口号是8086,在控制台打开localhost:8086来访问控制台。

打开控制台,会先创建一个用户,输入username,password,org,bucket。
token一定要保存下来,因为默认没办法查。

按步骤操作完成后就完成初始化了。

我那时候的token是:

复制代码
MMrAaOes1ujtC2pWX3DASBB45FG0yGOEW1JuWziigF2efwbT0w5rro9gmKybEBQ9N26joo3D8VR_2Fz7_Vt0KQ==

三、influxdb 交互工具

3.1 influx 命令行

步骤1:安装命令行客户端:brew install influxdb-cli

步骤2:需要配置客户端与 InfluxDB 的初始连接。

下面的代码片段创建了一个名为 onboarding 的配置文件。如果您愿意,可以选择不同的名称。您可能会使用不同的令牌创建另一个配置文件来处理您自己的数据。

复制代码
influx config create --config-name onboarding \
    --host-url "http://localhost:8086" \
    --org "5469caff5112762e" \
    --token "3lR92AhlSEUqy4vU7baECT9lJM7vlcfaBpW2VH717koCaFTQ0jvhqam2gW70jz01sN8c4nHFRMvbIqlff1UhmA==" \
    --active

步骤3:创建桶(bucket):influx bucket create --name bucket_test1 -c onboarding

步骤4:写入数据:influx write --bucket bucket_test1 --url https://influx-testdata.s3.amazonaws.com/air-sensor-data-annotated.csv

步骤5:查询数据:influx query 'from(bucket:"bucket_test1") |> range(start:-30m)'

3.2 InfluxDB HTTP API

步骤1:安装python依赖:pip3 install influxdb-client

步骤2:初始化客户端

复制代码
import influxdb_client, os, time
from influxdb_client import InfluxDBClient, Point, WritePrecision
from influxdb_client.client.write_api import SYNCHRONOUS

token = "MMrAaOes1ujtC2pWX3DASBB45FG0yGOEW1JuWziigF2efwbT0w5rro9gmKybEBQ9N26joo3D8VR_2Fz7_Vt0KQ=="
org = "QATeam"
url = "http://localhost:8086"

client = influxdb_client.InfluxDBClient(url=url, token=token, org=org)

步骤3:写入数据

复制代码
bucket = "bucket_test1"

write_api = client.write_api(write_options=SYNCHRONOUS)

for value in range(5):
    point = (
        Point("measurement1")
            .tag("tagname1", "tagvalue1")
            .field("field1", value)
    )
    write_api.write(bucket=bucket, org="QATeam", record=point)
    time.sleep(1)  # separate points by 1 second

步骤4:查询数据

复制代码
query_api = client.query_api()

query = """from(bucket: "bucket_test1")
 |> range(start: -10m)
 |> filter(fn: (r) => r._measurement == "measurement1")"""
tables = query_api.query(query, org="QATeam")

for table in tables:
  for record in table.records:
    print(record)

四、应用场景

作为服务器性能指标的监控工具,

比如Locust + python + influxdb + grafana 展示性能压测QPS图表;

Jmeter + influxdb + grafana展示性能压测QPS图表 等

后续实践完,再更新相应博客~

相关推荐
埋头编程~13 小时前
【测试报告】网页端博客系统
功能测试·压力测试·性能测试·测试
汽车仪器仪表相关领域15 小时前
便携即战力,全域无短板:PL-1 袖珍记录仪核心重构与场景落地全解
功能测试·重构·汽车·压力测试·可用性测试·ab测试
张永清-老清18 小时前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(二)Bean Shell的基础语法之变量与数据类型
学习·测试工具·jmeter·压力测试·性能调优·jmeter性能测试·性能分析
汽车仪器仪表相关领域1 天前
SSI-4 PLUS 简易传感器接口:多场景采集 “即插即用” 的终极解决方案
功能测试·测试工具·单元测试·压力测试·可用性测试·模块测试·安全性测试
Saniffer_SH2 天前
【高清视频】4小时带你了解Saniffer公司针对PCIe Gen6测试的最新白皮书15.X
网络·人工智能·驱动开发·嵌入式硬件·测试工具·计算机外设·压力测试
汽车仪器仪表相关领域2 天前
ZRT-V 机器人减速器寿命测试系统:以长效智能,破局可靠性验证困局
功能测试·安全·机器人·汽车·压力测试·可用性测试
Saniffer_SH2 天前
【高清视频】SerialTek PCIe 5.0/6.0 协议分析仪API自动化编程演示
网络·人工智能·驱动开发·嵌入式硬件·测试工具·自动化·压力测试
Saniffer_SH3 天前
【高清视频】如何针对电动汽车进行通信可靠性测试、故障注入与功率分析?
服务器·驱动开发·测试工具·fpga开发·计算机外设·硬件架构·压力测试
Saniffer_SH3 天前
【高清视频】企业级NVMe SSD (E3.S, U.2)和消费类M.2 SSD拆解分析
服务器·网络·数据库·驱动开发·测试工具·fpga开发·压力测试