Press "Enter" to skip to content

Tag: grafana

解决访问kibana monitoring 被提示Access Denied

在Kibana中使用”Stack Monitoring”时, 提示

Access Denied

You are not authorized to access Monitoring. To use Monitoring, you need the privileges granted by both the `kibana_user` and `monitoring_user` roles.

If you are attempting to access a dedicated monitoring cluster, this might be because you are logged in as a user that is not configured on the monitoring cluster.

解决办法: 停用Elasticsearch集群的remote.cluster功能, 将现有remote.cluster全部清除即可.

# 查看现有的 remote cluster
curl -XGET "127.0.0.1:9200/_cluster/settings?pretty"
{
  "persistent" : {
    "cluster" : {
      "remote" : {
        "aaa" : {
          "skip_unavailable" : "true",
          "seeds" : [
            "172.29.4.168:9300"
          ]
        },
        "leader" : {
          "seeds" : [
            "172.29.4.168:9300"
          ]
        },
        "hello-elk" : {
          "skip_unavailable" : "false",
          "seeds" : [
            "127.0.0.1:9300"
          ]
        }
      }
    },
    "xpack" : {
      "monitoring" : {
        "collection" : {
          "enabled" : "true"
        }
      }
    }
  },
  "transient" : { }
}

# 清除其中一个 remote cluster 节点
curl -X PUT "127.0.0.1:9200/_cluster/settings" -H 'Content-Type: application/json' -d'{
  "persistent" : {
    "cluster" : {
      "remote" : {
        "leader" : {
          "seeds" : null
        }
      }
    }
  }
}'

提示: 如果一个remote cluster节点设置了”skip_unavailable” : “true”信息, 直接清除可能会提示Cannot configure setting [cluster.remote.hello-elk.skip_unavailable] if remote cluster is not enabled. 解决办法为, 先将skip_unavailable设置为null, 再将seeds设置为null

Leave a Comment

kibana使用的lucene查询语法

kibana使用的是lucene查询语法, 使用该语法不仅可以在kibana上使用, 也可以在Grafana中使用.

下面简单介绍一下使用方法.

全文搜索

在搜索栏输入login, 会返回所有字段值中包含login的文档
使用双引号包起来作为一个短语搜索

"like Gecko"

字段(Field)

也可以按页面左侧显示的字段搜索

field:value      # 限定字段全文搜索
filed:"value"    # 精确搜索, 关键字加上双引号
http_code:404    # 搜索http状态码为404的文档

字段本身是否存在

_exists_:http_host    # 返回结果中需要有http_host字段
_missing_:http_host   # 不能含有http_host字段
Leave a Comment

Grafana内置的运算函数

Grafana内置了如下运算函数, 相信不少人跟我一样,对于count和sum傻傻分不清楚,下面详细介绍一下。

运算函数说明
count数据点数(在单位时间里去抓取了几次metric),一般很少用,例如,配置了Prometheus每隔15s去抓取1次数据,在1分钟内的count就是5,5分钟内的count就是21
sum这个metric获取的所有value的总和,例如, 配置了Prometheus每隔15s去抓取1次数据,在1分钟内的抓取到的这个metric对应value分别是3,4,5,4,2,那么1分钟内的sum就是3+4+5+4+2
avg平均值,相当于sum/count
max最大值
min最小值
last最后一个值
diff起始值和最终值之间的差异
percent_diff 起始值与最终值之差/起始值与最终值的平均值* 100
count_not_nullvalue不为空的count

对于count的理解稍微有些难度。count通常是指(单位时间内的)metric数据的数量(例如,我们有个名为qps的metric,在过去1分钟内,我们每隔15s去获取1次qps的值,那么过去1分钟的count(qps)就是5),如果数据源是ElasticSearch,这个count通常指单位时间内的日志条目(日志数量),这样对于统计访问者/流量是比较有用的。但是如果数据源是Prometheus的的话,由于Prometheus的配置文件指定了每隔多久去抓取1次数据,因此count的数量比较固定。

1 Comment