Maison > Article > Opération et maintenance > Une lecture incontournable pour la surveillance de l'exploitation et de la maintenance : un guide d'utilisation InfluxDB incontournable qui peut être utilisé aux moments critiques
InfluxDB est une base de données séquentielle open source développée par InfluxData. Il est écrit en Go et se concentre sur les requêtes et le stockage hautes performances des données de séries chronologiques. InfluxDB est largement utilisé dans des scénarios tels que la surveillance des données des systèmes de stockage et des données en temps réel dans l'industrie de l'IoT. Les fonctionnalités techniques incluent :
Mesure : représentée par une chaîne La signification correspondante de chaque enregistrement. Par exemple, il peut s'agir de données de surveillance cpu_load ou de données de mesure Average_temperature
tag group : il se compose d'un ensemble de paires clé-valeur, qui représente une série d'informations d'attribut de l'enregistrement. Les mêmes données de mesure n'ont pas nécessairement le même groupe de balises et sont sans schéma. Les informations sur les balises sont indexées par défaut.
Groupe de champs : Il est également composé d'un ensemble de paires clé-valeur, qui représentent les informations de valeur spécifiques (avec le nom) de l'enregistrement. Les types de valeurs définissables dans le groupe de champs incluent : entier 64 bits, virgule flottante 64 bits, chaîne et booléen. Les informations sur les champs ne peuvent pas être indexées.
Horodatage : C'est l'attribut temporel de l'enregistrement. Si l'horodatage n'est pas explicitement spécifié lors de l'insertion des données, l'horodatage stocké dans la base de données par défaut sera l'heure d'entrée de l'enregistrement.
InfluxDB prend en charge l'insertion et les requêtes de données basées sur HTTP. Il accepte également les connexions directement basées sur les protocoles TCP ou UDP.
InfluxDB permet aux utilisateurs de définir des politiques de conservation des données (politiques de rétention) pour supprimer ou sous-échantillonner les données stockées pendant plus d'une période de temps spécifiée.
Entrez la ligne de commande influxDB
influx -precision rfc3339
Opération de base de données InfluxDB
show databases
create database shhnwangjian
drop database shhnwangjian#🎜🎜 #
use shhnwangjian
SHOW MEASUREMENTS• Créer une nouvelle tableIl n'y a pas d'instruction explicite pour créer une nouvelle table dans InfluxDB, vous pouvez seulement insérez des données pour créer une nouvelle table.
insert disk_free,hostname=server01 value=442221834240i insert cpu_virtual_used_num,host=1 value=41556593150où disk_free est le nom de la table, le nom d'hôte est l'index (balise), value=xx est la valeur de l'enregistrement (champ), il peut y avoir plusieurs valeurs d'enregistrement et le système est livré avec des timestamps#🎜🎜 #
Ou lors de l'ajout de données, écrivez vous-même l'horodatage
insert disk_free,hostname=server01 value=442221834240i 1435362189575692182
• Supprimer le tableau
drop measurement disk_free
Politiques de conservation des données (Politiques de rétention)
#🎜🎜 #influxDB ne fournit pas de méthode pour supprimer directement les enregistrements de données, mais il fournit une stratégie de conservation des données, qui est principalement utilisée pour spécifier la durée de conservation des données. Si la durée spécifiée est dépassée, cette partie des données sera supprimée. .show retention policies on "db_name" show retention policies on cdhnm
create retention policy "rp_name" on "db_name" duration 3w replication 1 default create retention policy test on cdhnm duration 1h replication 1 default#🎜 🎜 #rp_name : Nom de la politique ;
default : défini comme politique par défaut#🎜🎜 ##🎜 ; 🎜#
Modifier les politiques de rétentionalter retention policy “rp_name” on “db_name” duration 30d default alter retention policy autogen on cdhnm duration 1h defaultModifier la politique de données
alter retention policy autogen on cdhnm duration 0h replication 1 default
drop retention policy “rp_name” on “db_name" drop retention policy test on cdhnmRequête de données
select * fromcpu_virtual_used_num
insert disk_free,hostname=server01 value=442221834240i insert cpu_virtual_used_num,host=470b14f0-e869-43ed-a8e6-fd634258271f,hostname=server01 value=0.3 1557023160
# 🎜🎜#1. Format de l'heure
epoch_time
rfc3339_date_time_string
rfc3339时间格式是ietf协会定义的一种时间格式,这个名字是因为它被定义在rfc3339中。感兴趣的同学可以自己查看上面的连接。InfluxDB中rfc3339的时间格式是这样的:
‘YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ’
其中nnnnnnnnn是可选的,如果不写则会被设置为000000000。注意,如果使用这种时间格式,需要使用单括号(’)将时间括起来。
rfc3339_like_date_time_string
因为rfc3339_date_time_string的格式确实比较反人类,所以InfluxDB也支持这种人类阅读更友好的格式:
‘YYYY-MM-DD HH:MM:SS.nnnnnnnnn’
其中HH:MM:SS.nnnnnnnnn是可选的,如果不填写会被设置为00:00:00.000000000。所以查询时可以设置到天、小时、分钟、秒等不同精度。这种时间格式同样要求被单括号括起来。
InfluxDB默认东时间是纳秒(ns),即19位时间戳。但是一般情况下时间精度不会这么高。所以如果使用秒级精度查询:
select * from cpu_virtual_used_num where time >= 1435333209s and time <= 1542964713s
如果使用毫秒级精度查询:
select * from cpu_virtual_used_num where time >= 1435333209000ms and time <= 1542964714000ms
如果需要使用北京时间(东八区),可以在SQL中使用tc关键字:
select * from cpu_virtual_used_num where time >= '2018-11-23 14:30:39' and time <= '2019-11-23 14:32:32' tz('Asia/Shanghai')
Timestamp时间列
既然是时间序列数据库,influxdb 的数据都有一列名为 time 的列,里面存储 UTC 时间戳。
Influxdb 时间转成北京时间:UTC time + 8 hours = Beijing time
influx -precision rfc3339 show retention policies on cdhnm alter retention policy autogen on cdhnm duration 1h default create retention policy test on cdhnm duration 1h replication 1 default drop retention policy test on cdhnm insert cpu_virtual_used_num,host=470b14f0-e869-43ed-a8e6-fd634258271f,hostname=server01 value=0.9 1557045292000000000 select * from cpu_virtual_used_num where time >= '2018-11-23 14:30:39' and time <= '2019-11-23 14:32:32' tz('Asia/Shanghai') delete from cpu_virtual_used_num
切换到root用户 命令:su 输入密码:123456
启动:
sudo service influxdb start
重启:
service influxdb restart
切换到普通用户:
命令:exit
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!