下载及安装
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0_linux_amd64.tar.gz
tar zxvf influxdb-1.8.0_linux_amd64.tar.gz
mv influxdb-1.8.0-1 /opt/influxdb
cd /opt/influxdb/
cp /opt/influxdb/usr/lib/influxdb/scripts/influxdb.service /etc/systemd/system/
useradd -s /sbin/nologin -M influxdb
ln -s /opt/influxdb/usr/bin/influxd /usr/local/bin/
ln -s /opt/influxdb/usr/bin/influx /usr/local/bin/
修改 /etc/systemd/system/influxdb.service
把里面的 ExecStart=/usr/bin/influxd -config /etc/influxdb/influxdb.conf $INFLUXD_OPTS 修改为
ExecStart=/usr/local/bin/influxd -config /opt/influxdb/etc/influxdb/influxdb.conf $INFLUXD_OPTS
mkdir /var/lib/influxdb/
chown -r influxdb:influxdb /var/lib/influxdb
systemctl start influxdb.service
systemctl stop influxdb.service
systemctl status influxdb.service
journalctl 日志管理工具
/etc/selinux/config 设置禁用SELinux
setenforce 0 禁用SElinux
sestatus 查看 SELinux的状态
influxDb安装参考文档
https://blog.csdn.net/weixin_43786255/article/details/107133899
https://www.cnblogs.com/takemybreathaway/articles/10774787.html
https://docs.influxdata.com/influxdb/v2.0/monitor-alert/
https://blog.csdn.net/lulongji2035/article/details/109029461
influxDB名词
database:数据库;
measurement:数据库中的表;
points:表里面的一行数据。
influxDB中独有的一些概念
Point由时间戳(time)、数据(field)和标签(tags)组成。
time:每条数据记录的时间,也是数据库自动生成的主索引;
fields:各种记录的值;
tags:各种有索引的属性。
还有一个重要的名词:series
所有在数据库中的数据,都需要通过图表来表示,series表示这个表里面的所有的数据可以在图标上画成几条线(注:线条的个数由tags排列组合计算出来)
举个简单的小例子:
假如数据库内数据为(abc为tags):
create database “testDb”
INSERT cpu,host=serverA,region=us_west value=0.64
SELECT * FROM cpu ORDER BY time DESC LIMIT 3
SELECT * FROM /.*/ LIMIT 1 //正则表达式查询
delete from cpu where time=1480235366557373922 //删除某条数据
DROP MEASUREMENT “measurementName” //删除表
show series from 表名
create database “db_name” //创建数据库
show databases //显示所有的数据库
drop database “db_name” //删除数据库
use db_name //使用数据库
show measurements //显示该数据库中所有的表
insert test,host=127.0.0.1,monitor_name=test count=1 //创建表,直接在插入数据的时候指定表名
drop measurement “measurement_name” //删除表
SHOW FIELD KEYS –查看当前数据库所有表的字段
SHOW series from pay –查看key数据
SHOW TAG KEYS FROM “pay” –查看key中tag key值
SHOW TAG VALUES FROM “pay” WITH KEY = “merId” –查看key中tag 指定key值对应的值
SHOW TAG VALUES FROM cpu WITH KEY IN (“region”, “host”) WHERE service = ‘redis’
DROP SERIES FROM WHERE =” –删除key
SHOW CONTINUOUS QUERIES –查看连续执行命令
SHOW QUERIES –查看最后执行命令
KILL QUERY –结束命令
SHOW RETENTION POLICIES ON mydb –查看保留数据
查询数据
SELECT * FROM /.*/ LIMIT 1 –查询当前数据库下所有表的第一行记录
select * from pay order by time desc limit 2
select * from db_name.”POLICIES name”.measurement_name –指定查询数据库下数据保留中的表数据 POLICIES name数据保留
删除数据
delete from “query” –删除表所有数据,则表就不存在了
drop MEASUREMENT “query” –删除表(注意会把数据保留删除使用delete不会)
DELETE FROM cpu
DELETE FROM cpu WHERE time < ‘2000-01-01T00:00:00Z’
DELETE WHERE time < ‘2000-01-01T00:00:00Z’
DROP DATABASE “testDB” –删除数据库
DROP RETENTION POLICY “dbbak” ON mydb –删除保留数据为dbbak数据
DROP SERIES from pay where tag_key=” –删除key中的tag
SHOW SHARDS –查看数据存储文件
DROP SHARD 1
SHOW SHARD GROUPS
SHOW SUBSCRIPTIONS
SHOW USERS //显示用户
CREATE USER “username” WITH PASSWORD ‘password’ //创建用户
CREATE USER “username” WITH PASSWORD ‘password’ WITH ALL PRIVILEGES //创建管理员权限的用户
DROP USER “username” //删除用户
#influxdb虽然没有删除语句,但是可以设置类似于定期清理的语句。
show retention policies on “db_name”
create retention policy “rp_name” on “db_name” duration 3w replication 1 default
rp_name:策略名
db_name:具体的数据库名
3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期)
replication 1:副本个数,一般为1就可以了
default:设置为默认策略
修改Retention Policies
alter retention policy “rp_name” on “db_name” duration 30d default
drop retention policy “rp_name” on “db_name”
insert test,host=127.0.0.1,monitor_name=test1,app=ios count=2,num=3
insert app_metrics,host=192.168.1.1, app=test.com count=1,spend_time=0.03467
insert app_metrics,host=192.168.1.1,app=test.com count=1,spend_time=0.03467,test_count=3,num=6666,money=999
插入数据的格式是
insert 表明 后面用逗号,紧接着tag的key和value,可以用多个,用逗号链接 ,后面是空格, 空格后面可以接field的key和value,多个field用逗号链接,例如:
insert table,tag1=tag_v1,tag2=tag_v2,tag3=tag_v3 field=field_v1,field2=field_v2,field3=field_v3……
https://blog.csdn.net/lulongji2035/article/details/109029461