1.集群健康情况
get ip:port/_cat/health?v
查看集群健康指标status:green(正常) 集群name: graylog
get ip:port/_cat/nodes?v 查看集群节点 这里只有一个
get ip:port/_cat/indices?v 查看索引 graylog_0
2.索引增删
ip:port/索引 增加索引
添加数据 put ip:port/索引/字段/id 如:/rizhi_0/message/7 参数如下
{
"settings" : {
"number_of_shards" : 3,
"number_of_replicas" : 1
}
}
返回如下
根据id获取内容 get ip:port/索引/字段/id 如:/rizhi_0/message/7 返回如下
删除索引 delete ip:port/索引?pretty rizhi_0?pretty
3.查询
ip:port/9200/索引/_search 使用postman 操作如下
match_all 是查询所有数据 不限制条件
查询十条数据 from代表从1000记录开始 分页可以用这个
{
"query": { "match_all": {} },
"from": 1000,
"size": 10
}
同上加入通过port排序
{
"query":{"match_all":{}},
"from": 1000,
"sort":{"port":{"order":"desc"}}
}
过滤字段只留message、port
{
"query": { "match_all": {} },
"_source" :["message","port"],
"from": 1000,
"size": 10
}
match 加入条件 只查询 port=42177的数据,如果是“42177”代表包含42177 的数据
{
"query": { "match": {"port":42177} },
"_source" :["message","port"]
}
查询包含39301或者63333的数据
{
"query": { "match": { "message": "39301 63333" } }
}
bool
查询可以使用布尔逻辑查询 如
查询同时包含45987和currentDate的数据
{
"query": {
"bool": {
"must": [
{ "match": { "message": "45987" } },
{ "match": { "message": "currentDate" } }
]
}
}
}
关键字 must 条件必须都满足、should满足一个即可、must_not所有条件都不可以满足
这是多条件示例,必须包含40 但state不能是ID
{
"query": {
"bool": {
"must": [
{ "match": { "age": "40" } }
],
"must_not": [
{ "match": { "state": "ID" } }
]
}
}
}
3. 过滤查询
port >=20000 <=30000
{
"query": {
"bool": {
"must": { "match_all": {} },
"filter": {
"range": {
"port": {
"gte": 20000,
"lte": 30000
}
}
}
}
}
}
4.聚合查询
根据port分组获取总数,相当于sql的count group by
{
"size": 0,
"aggs": {
"group_by_state": {
"terms": {
"field": "port"
}
}
}
}
size=0
为不显示搜索匹配,因为我们只想在响应中看到聚合结果
分组和计数和平均
{
"size": 0,
"aggs": {
"group_by_state": {
"terms": {
"field": "port"
},
"aggs": {
"average_balance": {
"avg": {
"field": "port"
}
}
}
}
}
}
我的报错了,我用的事graylog提取器提取的默认类型是string 不是number 修改类型即可
5.索引查询
get ip:port/9200/* 查询所有索引已经字段的类型等信息
get ip:port/9200/graylog_0/_mapping/message/field/level 指定索引的类型
post ip:port/9200/ _aliases 添加别名
{
"actions" : [
{ "add" : { "index" : "test4444", "alias" : "alias4444" } }
]
}
删除别名
{
"actions" : [
{ "remove" : { "index" : "test1", "alias" : "alias1" } }
]
}
get post ip:port/{index}/_alias/* 查看别名
6.设置/查询索引
get post ip:port/_all/_settings 查询所有的索引的设置
putpost ip:port/{index}/_settings 设置索引number_of_replicas参数的值
{
"index" : {
"number_of_replicas" : 2
}
}
取消只读属性/graylog_2/_settings
{"index.blocks.read_only_allow_delete": null}
此问题在graylog会遇到,当磁盘使用率大于85%会将索引状态设为只读,解决办法:需要将磁盘清理并按上面的将索引只读属性取消