精华内容
下载资源
问答
  • grafana里prometheus查询语法

    千次阅读 2019-11-21 11:17:40
    grafana里prometheus查询语法 名称 描述 label_values(label) 返回label每个指标中的标签值列表。 label_values(metric, label) 返回label指定度量标准中的标签值列表。 metrics(metric) 返回与指定...

    grafana里prometheus查询语法

    名称 描述
    label_values(label) 返回label每个指标中的标签值列表。
    label_values(metric, label) 返回label指定度量标准中的标签值列表。
    metrics(metric) 返回与指定metric正则表达式匹配的度量标准列表。
    query_result(query) 返回一个Prometheus查询结果列表query。

    对于细节metric names和label names,并label values请参阅普罗米修斯文档

    注意:部分查询与2.6之前的版本不兼容,如果您指定类似foo.,请更改为metrics(foo.)

    展开全文
  • grafana结合es查询语法

    千次阅读 2020-12-28 11:15:42
    二、lucene查询语法 字段 http.code:404 搜素http状态码为404的文档 字段本身是否存在 _exists_:http: 返回结果中需要有http的字段 _missing_:http: 不能含有http 字段 通配符 ?匹配单个字符 *匹配0到多个字符 ...

    一、类别变量(模板使用)

    • {“find”: “fields”, “type”: “keyword”}
      例子:{“find”: “fields”, “type”: “long”}
      查找类型为 long 的字段。
    • {“find”: “terms”, “field”: “@hostname”, “size”: 1000}
      例子:{“find”: “terms”, “field”: “timestamp”, “size”: 1000}
      返回字段名称为 timestamp 的列表,大小为1000。
    • {“find”: “terms”, “field”: “@hostname”, “query”: “@source:$source”}
      例子:{“find”: “terms”, “field”: “timestamp”, “query”: “yjssrc:10”}
      返回字段名称为 timestamp 的列表,同时通过过滤器,过滤出字段名称为 yjssrc 值为 10 的数据。

    二、lucene查询语法

    • 字段
      http.code:404
      搜素http状态码为404的文档
    • 字段本身是否存在
      _exists_:http: 返回结果中需要有http的字段
      _missing_:http: 不能含有http 字段
    • 通配符
      ?匹配单个字符
      *匹配0到多个字符
      注意:?、*不能用作第一个字符
    • 正则
      es支持部分正则功能,性能较差
      eg:name:/joh?n(ath[oa]n)/
    • 模糊搜索
      ~:在一个单词后面加上 ~ 可以启用模糊搜素,可以搜到一些拼写错误的单词
      first~ 也能匹配first单词
      还可以设置编辑距离(整数),指定需要多少相似度
      cromm~1 会匹配到 from 和 chrome
      默认2,越大越接近搜索的原始值,设置为1基本能搜到80%拼写错误的单词
    • 近似搜索
      在短语后面加上 ~ ,可以搜到被隔开或顺序不同的单词
      “where select”~5 表示 select 和 where 中间可以隔着5个单词,可以搜到 select password from users where id=1
    • 范围搜索
      length:[100 TO 200]
      sip:[“172.24.20.110” TO “172.24.20.140”]
      date:{“now-6h” TO “now”}
      tag:{b TO e} 搜索b到e中间的字符
      count:[10 TO *] * 表示一端不限制范围
      count:[1 TO 5} [ ] 表示端点数值包含在范围内,{ } 表示端点数值不包含在范围内,可以混合使用,此语句为1到5,包括1,不包括5
      可以简化成以下写法:
      age:>10
      age:<=10
      age:(>=10 AND <20)
    • 优先级
      quick^2 fox
      使用^使一个词语比另一个搜索优先级更高,默认为1,可以为0~1之间的浮点数,来降低优先级
    • 逻辑操作
      AND
      OR+:搜索结果中必须包含此项
      -:不能含有此项
      +apache -jakarta test aaa bbb:结果中必须存在apache,不能有jakarta,剩余部分尽量都匹配到
    • 分组
      (jakarta OR apache) AND jakarta
    • 字段分组
      title:(+return +“pink panther”)
      host:(baidu OR qq OR google) AND host:(com OR cn)
    • 转义特殊字符
      + - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /
      以上字符当作值搜索的时候需要用\转义
      (1+1)=2用来查询(1+1)=2
    展开全文
  • Grafana配置数据源,自定义查询语法

    万次阅读 2019-08-20 15:38:17
    grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。最好的参考资料就是官网...

    1.概述--美观、强大的可视化监控指标展示工具

    grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。最好的参考资料就是官网(http://docs.grafana.org/),虽然是英文,但是看多了就会啦。

    1.1基本概念

    Grafana支持许多不同的数据源。每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。 官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQL和OpenTSDB等。

    每个数据源的查询语言和能力都是不同的。你可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源,它就属于一个特定的组织。

    支持的数据源

    DashBoard:仪表盘,就像汽车仪表盘一样可以展示很多信息,包括车速,水箱温度等。Grafana的DashBoard就是以各种图形的方式来展示从Datasource拿到的数据。

    Row:行,DashBoard的基本组成单元,一个DashBoard可以包含很多个row。一个row可以展示一种信息或者多种信息的组合,比如系统内存使用率,CPU五分钟及十分钟平均负载等。所以在一个DashBoard上可以集中展示很多内容。

    Panel:面板,实际上就是row展示信息的方式,支持表格(table),列表(alert list),热图(Heatmap)等多种方式,具体可以去官网上查阅。

    Query Editor:查询编辑器,用来指定获取哪一部分数据。类似于sql查询语句,比如你要在某个row里面展示test这张表的数据,那么Query Editor里面就可以写成select *from test。这只是一种比方,实际上每个DataSource获取数据的方式都不一样,所以写法也不一样(http://docs.grafana.org/features/datasources/,比如像zabbix,数据是以指定某个监控项的方式来获取的。

    Organization:组织,org是一个很大的概念,每个用户可以拥有多个org,grafana有一个默认的main org。用户登录后可以在不同的org之间切换,前提是该用户拥有多个org。不同的org之间完全不一样,包括datasource,dashboard等都不一样。创建一个org就相当于开了一个全新的视图,所有的datasource,dashboard等都要再重新开始创建。

    User:用户,这个概念应该很简单,不用多说。Grafana里面用户有三种角色admin,editor,viewer。admin权限最高,可以执行任何操作,包括创建用户,新增Datasource,创建DashBoard。editor角色不可以创建用户,不可以新增Datasource,可以创建DashBoard。viewer角色仅可以查看DashBoard。在2.1版本及之后新增了一种角色read only editor(只读编辑模式),这种模式允许用户修改DashBoard,但是不允许保存。每个user可以拥有多个organization。

    dashboard界面最上面一行解释

    界面顶部标题标注

    上图显示了信息中心的顶部标题。

    1侧面菜单切换:切换侧边菜单,允许您专注于仪表盘中显示的数据。侧面菜单提供对与仪表盘无关的功能(如用户,组织和数据源)的访问。

    2信息中心下拉菜单:此下拉菜单显示您当前正在查看的信息中心,并允许您轻松切换到新的信息中心。从这里,您还可以创建新的信息中心,导入现有的信息中心和管理信息中心播放列表。

    3星型仪表盘:对当前仪表盘执行星号(或取消星标)。加星标的信息中心在默认情况下会显示在您自己的主页信息中心上,并且是标记您感兴趣的信息中心的便捷方式。

    4共享仪表盘:通过创建链接或创建其静态快照来共享当前仪表盘。在共享前确保信息中心已保存。

    5保存仪表盘:当前仪表盘将与当前仪表盘名称一起保存。

    6设置:管理仪表盘设置和功能,如模板和注释。


    2.全面瓦解

    对于grafana的部署,网上一搜一大把,这里不作累赘,可参考(grafana官网安装说明grafana酷炫图表),继续以下内容。

    2.1登录grafana

    要运行Grafana,请打开浏览器并转到http://localhost:3000/,如果你尚未配置不同的端口,则3000是Grafana监听的默认http端口,阿里云等公有云主机需要开通安全组规则。默认用户名为admin,默认密码为admin。当你第一次登录时,系统会要求你更改密码,我们强烈建议你遵循Grafana的最佳做法并更改默认管理员密码,你可以稍后转到用户首选项并更改你的用户名。

    登录界面,可看到版本号

    2.2数据源配置

    按照前面的数据源,这里讲解几个我们常使用的数据源的配置,包括elasticsearch、opentsdb、influxdb和zabbix,也可以新增其他的数据源。

    常用数据源示例

    opentsdb数据源配置示例

    其中关于Access这里具体解释下:Server (default) = 需要从Grafana后端/服务器访问,Browser = 需要从浏览器访问,对应上面的url。

    es数据源配置示例

    influxdb数据源配置示例

    2.3仪表盘配置

    在配置好所使用的数据源之后,即可新增配置自己的面板。面板也存在多种:

    仪表盘

    这里选取graph为例,如下图所示,新增或配置仪表盘。右上角的红框中表示:新建、标星、分享、保存、设置、查询模式、时间段、缩小(针对时间段进行放宽,即小时间段换成了大时间段)、刷新等

    新增仪表盘或编辑已有仪表盘

    Graph里面的选项有:General(常规选择)、Metrics(指标)、Axes(坐标轴)、Legend(图例)、 Display(显示样式)、Alert(告警)、Time range(时间范围)

    (1)General(常规选择:http://docs.grafana.org/features/panels/graph/

    常规选择

    General允许定制面板的外观和菜单选项。

    General Options

    Title:仪表盘上的面板标题

    Description:仪表盘描述信息

    Transparent :是否透明,选择之后会把该图的背景去掉,即透明状态

    Repeat panel:是否重复panel,填写是重复的变量(参考后文3.2变量配置),即这个标题名中添加对应的变量,引用该变量需添加$,图标题即可随着自选的变量而变化。

    钻取/详细信息链接

    Drilldown / detail link(为当前panel增加超链接)

    Drilldown项允许在面板添加动态链接,可以链接到其他的dashboards或urls。

    每个链接都有一个title,一个type和params。链接可以是dashboard,或是绝对链接。如果是dashboard链接,则dashboard值必须是仪表盘的名称。如果它是一个绝对链接,URL就是链接的URL。

    params允许添加额外的URL参数的链接。格式是name=value,多种参数用&分隔。模板变量可以作为使用$ myVar作为值。

    当连接到另一个Dashboard使用的模板变量,你可以使用var-myVar =value 填充模板变量所需的值从链接。

    (2)Metrics(指标)

    metrics页签定义要呈现的系列数据和源。每个数据源提供不同的选择(参考官网)。这里以opentsdb数据源为例:

    指标

    Data Source:数据源,在前面配置好数据源之后,在这里直接选择对应的数据源

    查询A、B:可以根据情况进行新增或删除

    metric:指标名,输入部分指标名,会自动查询匹配,可以快速进行选择

    Aggregator:聚合条件,区分下第一行和第二行的aggregator,第一个是对指标值的聚合,第二个是对采样周期里的聚合

    Alias:别名,根据需要进行自定义

    Down sample:采样周期,即每隔多少周期采集一次数据并展现出来,详情可见3.1特殊配置之interval

    Filters:过滤条件,可以添加多个,group by是否分组进行展示,其中参数type部分常用选择项的解释:literal_or, ilteral_or, wildcard,regexp等可以当做是一个具有返回值的函数

    literal_or:返回一个或多个值,示例:hostname=literal_or(data-3|data-4|data-160),相当于数据库中的WHERE hostname IN ('data-3','data-4','data-160'),grafana中value: literal_or(data-3|data-4|data-160)

    ilteral_or:作用于literal_or类似,区别是literal_or大小写敏感,ilteral_or不区分大小写

    not_literal_or:作用于literal_or相反,大小写敏感

    not_iliteral_or:作用于not_literal_or类似,不区分大小写

    wildcard:可以在一个字符串加一个*前缀、后缀、中缀(字符串中间添加修饰符号)或者多个中缀,*可以代表任意的字符,示例:hostname=wildcard(data*),表示代表任何以data开头的主机名,相当于数据库中的WHERE hostname='data%'

    regexp:正则表达式 功能非常强大,可以编写非常灵活的过滤规则,示例:regexp(data\-[0-9]),表示data-1到data-9之间的所有主机,需要注意的是特殊字符需要转义,如-,转义符为\

    Tags:标签,对应的就是填写对应的指标和具体的值(注意和filters中的区别,这里只能填写具体的值,而不是写一类值)

    (3)Axes(坐标轴)

    坐标轴

    Left Y和Right Y可以自定义,即可以设置多重坐标轴,方便对比查看

    Show:是否显示,可以通过从显示轴中取消适当的框来隐藏轴。

    Unit:y轴的显示单元

    Scale:Y轴的间隔度。选择“log base 2”以double的速度递增,(0、1、2、4、8...),选择“log base 32”,就是(0、1、32...)

    Y-Min:Y轴的最小值(默认atuo)

    Y-Max:Y轴的最大值(默认atuo)

    Lable:Y轴的文本标签

    (4)Legend(图例)

    图例

    通过选择显示复选框隐藏图例。如果它被显示,它可以通过检查表复选框显示为一个值表。没有值的系列可以使用隐藏空复选框,从而在图例中隐藏。

    options:

      show:是否显示图例

      as table:作为表格样式显示

      to the right:显示在右边 

    values:

      在图例中,显示每个series的max\min\avg\total\current,能设置小数点位数。在图上显示,

      通过点击列标题(如果保存的话,这个选项将会被持久化)来排序,通过min/max/avg来排序。

            点击图例“”,也可单纯显示某个series。

    (5)Display(显示样式)

    显示样式

    1、Draw option

    Draw Modes:Bars(柱状图)、lines(折线图)、Points(点)

    Mode Options:Fill(充满区域透明度),Line Width(线宽度),Staircase(是否阶梯),Point Radius(点的半径,以此控制点的大小)

    Hover tooltip

     Mode:All series(鼠标移到点上显示所有图例的值),single(鼠标移到点上显示该series图例的值)

     Sort order:None(按图例排列顺序显示),increaseing(值的从小到大递增),Decreasing(值从大到小递减)

    Stacking&Null value :stack(多series是否堆叠显示),percent(百分比),Null value:空值怎么显示(connected:null值被忽略,直线直接跳转到下一个值,null:空值被保留为空,这将在图中留下空白区域,null as zero:空值被绘制为零值)

    2、series overrieds:多坐标轴重写,即可以在这里设置y轴正负轴或z轴的正负轴,需要选择对应的指标,而且因指标、指标别名的变化需重新设置,设置完成后对比效果更好

     alias or regex:series图例名称

            Y-axis:显示在Y轴左右哪边,

          z-index(多series显示前后位置),

            stack:堆叠,可选择,metric中A\B\C\D哪个。

         transform(negative-Y:将值显示为负数)

         fill below to:(将两者值充满颜色 ,由上往下从大值到小值,所以不可以写成min fill below tu max写法如图:)

    填充

    3、Thresholds:可以写多条临界值在界面上显示,大于400,和大于600两个。如设置了alert,就不能设置这个。

    临界值

    4、Time regions:时间区域允许你突出特定的时间区域图的,更容易看到例如周末营业时间和/或工作时间。

    (6)Alert(告警)

    告警

    Alert Config

    Name & Evaluation interval:在这里可以指定警报规则的名称,以及调度器应该多长时间对警报规则进行评估。

    Conditions:目前唯一存在的条件类型是一个查询条件,允许您指定查询字母(metric里查询语句的字母,代表哪个查询语句)、时间范围和聚合函数。

    Notifications

    在警告选项卡中,还可以指定警报规则通知,以及关于警报规则的详细信息。这个消息可以包含任何信息,关于如何解决这个问题的信息,链接到runbook等。实际的通知被配置并在多个警报之间共享。

    State History

    警戒状态的变化都被记录在内部注释Grafana的数据库表。状态更改可视为警报规则的图形面板中的注释。

    (7)Time range(时间范围:https://www.cnblogs.com/michellexiaoqi/p/7274890.html

    时间范围

    您可以覆盖单个面板的相对时间范围,使它们与右上方的仪表盘时间选择器中选择的时间不同。这允许metrics在不同的时间段显示或同个时间。在面板编辑器模式的Time Range重写时间设置。

    Override relative time:覆盖相对时间,该graph在屏幕上的显示时间段(time range)

    Add time shift:添加时移,将现在时间减去时间,如20m,那屏幕的显示最新的时间段结束 为now-20m

    Hide time override info:隐藏时间覆盖信息,即右上角的时间,当缩放或更改 Dashboard time到自定义绝对时间范围时,所有面板重写将被禁用。当仪表盘时间相对时,面板相对时间覆盖只处于活动状态。面板时间重写总是活跃的,即使当仪表盘的时间是绝对的。

    Hide time override info选项允许您隐藏在覆盖时间范围选项时显示在面板右上方的覆盖信息文本。

    注意:您只能在相对时间范围内覆盖仪表盘时间。绝对时间范围不可用。


    3.特殊配置

    3.1变量之interval

    这里的变量类型选择的是interval,可以设置隐藏状态,主要是控制查询时的采样周期,添加自动Auto后,在展示界面会根据选择的时间段自动选择对应的采样周期,这样设置的好处是减轻查询数据库的压力,同时展示界面的粒度会适配。变量配置完毕后,在仪表盘Metrics中对应位置配置$interval即可。

    interval配置

    interval变量展示

    3.2变量之query

    变量

    Variable

    name: 变量名,比如我这里取名为ip,到时候要使用这个变量名就用$ip来调用。

    type: 变量类型,变量类型有多种,其中query表示这个变量是一个查询语句,type也可以是datasource,datasource就表示该变量代表一个数据源,如果是datasource你可以用该变量修改整个DashBoard的数据源,变量类型还可以是时间间隔Interval等等。这里我们选择query。

    label: 是对应下拉框的名称,默认就是变量名,选择默认即可。

    hide: 有三个值,分别为空,label,variable。选择label,表示不显示下拉框的名字。选择variable表示隐藏该变量,该变量不会在DashBoard上方显示出来。默认选择为空,这里也选默认。

    Query options

    Data source: 数据源,不用多说。

    Refresh: 何时去更新变量的值,变量的值是通过查询数据源获取到的,但是数据源本身也会发生变化,所以要时不时的去更新变量的值,这样数据源的改变才会在变量对应的下拉框中显示出来。Refresh有三个值可以选择,Never:永不更新。On Dashboard Load:在DashBoard加载时更新。On Time Range Change:在时间范围变化时更新。此处,选择On Dashboard Load,当数据源发生更新是,刷新一下当前DashBoard,变量的值也会跟着发生更新。

    Query:查询表达式,不同的数据源查询表达式都不同(这些可以到官网上查询:http://docs.grafana.org/features/datasources/)。

    Regex:正则表达式,用来对抓取到的数据进行过滤,这里默认不过滤。

    Sort:排序,对下拉框中的变量值做排序,排序的方式挺多的,默认是disable,表示查询结果是怎样下拉框就怎样显示。此处选disable。

    Selection Options

    Multi-value:启用这个功能,变量的值就可以选择多个,具体表现在变量对应的下拉框中可以选多个值的组合。

    Include All option:启用这个功能,变量下拉框中就多了一个all选项。

    Custom all value:启用Include All option这个功能,才会出现Custom all value这个输入框,表示给all这个选项自定义一个值,all这个选项默认是所有值的组合,你也可以自定义,比如我自定义all为cpu五分钟平均负载,则选择all就代表cpu五分钟平均负载。

    虽然选择组合值可以在一个panel里面查看多种监控数据,但是由于不同监控数据的数值大小格式都可能不一样,在一个图形里面格式很难兼容,这样就会出现问题,所以此处建议默认都不选。

    Value groups/tags

    组合标签,可以选择多个值组合在一起设置一个标签,这个功能还没弄明白,按照官网上的操作没效果,暂且忽略吧,反正没多大影响。

    Preview of values (shows max 20)

    前面都设置好之后,下方会显示前二十。

    点击add,group这个variables就创建好了。在仪表盘中配置时需要在变量的名字之前添加$标志。

    注意:可以配置多个变量,且变量之间可以复用,即选定第一个变量之后,第二个变量可以使用择的第一个变量值再配置,以此类推

    多变量示例

    多变量展示效果

    下面是具体的一个influxdb数据源的具体变量的配置及展示效果。

    inflxdb数据源之变量query

    最终的展示效果


    4.仪表盘导出导入

    仪表盘导入导出功能方便不同grafana之间仪表盘的复用。也可以在grafana官网下载现有的模板使用,少许更改即可展示自己的数据。

    导出

    导入

     

    展开全文
  • prometheus原理可以参考:https://blog.csdn.net/luanpeng825485697/article/details/82318204 k8s上的部署可以参考: ... 一、Data Source — 数据源 Grafana支持多种不同的时序数据库数...
    
        
    
    

    prometheus原理可以参考:https://blog.csdn.net/luanpeng825485697/article/details/82318204

    k8s上的部署可以参考: https://blog.csdn.net/luanpeng825485697/article/details/83755430

    一、Data Source — 数据源

    Grafana支持多种不同的时序数据库数据源,Grafana对每种数据源提供不同的查询方法,而且能很好的支持每种数据源的特性。

    Grafana默认支持的数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch

    Grafana支持同时绑定多套数据源,根据自己需求管理即可。

    数据源添加入口:

    http://<ip>:3000/datasources/new
    

    添加InfluxDB数据源
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lua1XtDK-1603291446169)(https://img.ken.io/blog/grafana/grafana-datasources-add.png-kwrb.png)]

    其中主要需要关注的是Name、Type、HTTP Settings,以及InfluxDB Details

    配置项 ken.io 的解释
    Name 数据源名称,建议以数据源类型+用途命名
    Type 数据源类型,选择对应的InfluxDB即可
    URL 填写InfluxDB对应的API地址即可,如果Grafana跟InfluxDB不在同一台机器,将localhost换成IP即可
    Access API访问方式,一共有Direct和Proxy两个选项。建议选择Proxy
    Access-Direct 浏览器直连数据源API,然后由Grafana解析返回的数据
    Access-Proxy Grafana后端通过API访问数据源,然后返回给浏览器展示
    Database InfluxDB数据源对应数据库名称
    User InfluxDB数据源账号密码

    数据源添加/更新成功后会有如下提示:
    在这里插入图片描述

    添加elasticsearch数据源

    默认Grafana是安装了ES插件的,如果没装需要安装相应data source插件。

    点击Data Sources–>+ Add data source–> Type–>elasticsearch

    在这里插入图片描述

    Metric查询编辑器

    Elasticsearch查询编辑器允许选择多个指标和组由多个条款或过滤器。在右边使用加号和减号图标来添加/删除索引或按子句分组。有些度量值和组子句都有选项,单击选项文本以展开视图并按选项编辑公制或组。
    在这里插入图片描述

    Query:Lucence查询语法,跟kibana的查询一样,详情请查阅ES的官方文档。

    Metric:计量的标准,可以取最大、最小、平均值或者count条目数等,Options可以进行脚本的计算,这里我把value的值乘以8,来进行网络Byte和bite的换算。

    Group by:排序标准。可以以时间轴进行排序,也可以以自定义的term进行排序。需要这里需要注意一点,ES里如果需要以自定义的字符串term进行排序,会报错:“Fielddata is disabled on text fields by default.”; 解决办法是用"keyword"进行排序,需要手动加入后缀’.keyword’,参考文档如下:https://www.elastic.co/guide/en/elasticsearch/reference/current/fielddata.html

    Query里也可以用变量来代替,变量是在templating里预先定义好的。后面再详细介绍templating的概念。

    二、Organization — 组织

    Grafana为了支持多种部署模式支持多组织,包括使用一个单一的Grafana实例为多个潜在的不受信任的组织提供的服务。

    在许多情况下,Grafana将部署一个单一的组织。

    每个组织可以有一个或多个数据源。

    所有的仪表板是由一个特定的组织拥有的。

    三、User — 用户

    用户在Grafana与账户是一个概念。

    一个用户可以属于一个或多个组织,可以通过角色来分配不同的权限。

    Grafana支持多种用户认证的方式。

    更多的用户管理详情,可以看 文档的User Auth 部分。

    四、Row — 行

    行是Grafana在仪表盘界面的逻辑分区器,用于将多个面板连接在一起。

    行一般是12个单位宽度。

    单位宽度是Grafana为了支持不同分辨率的屏幕所采取的一种策略,这样Grafana可以在不同分辨率的显示器上拥有良好的展示效果。

    五、Panel — 面板

    面板是Grafana最基本的展示单位。

    每个面板提供一个查询编辑器(依赖于面板中选择的数据源),允许您利用查询编辑器来编辑出一个完美的展示图像。

    面板提供各种各样的样式和格式选项,而且支持拖拽来在仪表盘上重排,并且可以调整大小。

    目前有四个面板类型:图像,状态,面板列表,表格 等类型,而且也支持文本类型。

    面板(或整个仪表板)可以以多种方式轻松共享,既可以通过链接分享,也可以导出JSON等文本文件。

    六、Query Editor — 语句管理

    Query Editor 顾名思义,就是语句管理,每个面板都提供一个Query Editor,我们可以通过编写语句来控制面板展示不同的图表。

    七、Dashboard — 仪表盘

    仪表盘是Grafana里面最重要的展示部分。

    仪表盘可以视为一组一个或多个面板组成的一个集合,来展示各种各样的面板。

    仪表盘也可以通过 注释 来标记出各种各样的事件。

    仪表盘也支持通过多种不同的方式来共享,支持通过链接的方式共享或者导出JSON等格式的文件。

    仪表盘还可以使用 模板 来允许用户交互式的选择数据来展示。

    仪表盘由行(Row)+图表面板(Panel)组成。

    Panel主要支持:Graph,Singlestat,Dashlist,Table和Text。

    仪表盘(Dashboard)添加入口:

    http://<ip>:3000/dashboard/new
    

    添加仪表盘(Dashboard)
    在这里插入图片描述

    点击设置(齿轮图标)对仪表盘(Dashboard)进行设置
    在这里插入图片描述

    通常只需要关注Name这个选项即可,填写完毕后,点击保存按钮保存
    或者使用快捷键(Ctrl+S)保存设置/完成创建

    添加面板(Panel)

    仪表盘(Dashboard)创建完成后,只有一个空行
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cuhfIKda-1603291446190)(https://img.ken.io/blog/grafana/grafana-dashboard-row-empty.png-kwrbm.png)]

    将鼠标移动到行左上角的菜单图标,就会显示行操作菜单
    在这里插入图片描述

    这里我们选择Add Panel即可
    在这里插入图片描述

    这里我们以曲线图(Graph)为例

    在这里插入图片描述

    图表面板配置
    鼠标单击图表标题可以呼出图表菜单
    在这里插入图片描述

    点击Edit进入编辑视图,默认是Metric设置
    在这里插入图片描述

    主要配置项说明

    配置项 ken.io 的说明
    DataSource 选择Grafana已配置的数据源
    FROM-Default 默认Schema,保持不变即可
    FROM-measurement 对应的InfluxDB的表名
    WHERE WHERE条件,根据自己需求选择
    SELECT-Field 对应选的字段,可根据需求增减
    SELECT-mean() 选择的字段对应的InfluxDB的函数
    GroupBY-time() 根据时间分组
    GROUPBY-fill() 当不存在数据时,以null为默认值填充

    以下是配置示例:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vgd668b6-1603291446193)(https://img.ken.io/blog/grafana/grafana-dashboard-row-panel-graph-setting-metrics-example.png-kwrb.png)]

    所有的配置项都会被解析生API请求的语法,具体解析的内容可以通过查询检查器(Query Inspector)查看

    接下来配置通用配置项(General)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PbIUAt5X-1603291446194)(https://img.ken.io/blog/grafana/grafana-dashboard-row-panel-graph-setting-general.png-kwrb.png)]

    ken.io 这里只将Title设置为CPU-Load不做其他调整

    图表面板的配置完成后,不要忘记保存仪表盘(Dashboard)

    在这里插入图片描述

    grafana镜像重新封装

    由于官方grafana镜像支持的数据源或者展示面板不够丰富,所以我们需要重新封装镜像

    Dockerfile文件内容如下

    FROM grafana/grafana:latest
    
    # 时钟图
    Run grafana-cli plugins install grafana-clock-panel
    # 饼图
    Run grafana-cli plugins install grafana-piechart-panel   
    # 气泡图
    Run grafana-cli plugins install digrich-bubblechart-panel
    #
    Run grafana-cli plugins install raintank-worldping-app
    # json数据
    Run grafana-cli plugins install grafana-simple-json-datasource
    #zabbix报警
    Run grafana-cli plugins install alexanderzobnin-zabbix-app
    

    prometheus 基本查询语法

    1,查看指标

    直接输入指标名字就行了,grafana会自动补全

    在这里插入图片描述

    2,查看某个指标的使用率,比如cpu使用率

    用到rate函数,rate用来计算两个间隔时间内发生的变化率。如

    rate(指标名{筛选条件}[时间间隔])

    比如查看1分钟内非idle的cpu使用率

    rate(node_cpu_seconds_total{mode!=“idle”}[1m])

    在这里插入图片描述

    3,求和算法

    函数为sum,比如上面得到各个指标的cpu使用率,如果我想计算总的cpu使用率怎么办?

    sum(rate(node_cpu_seconds_total{mode!=“idle”}[1m])) by (instance_name)
    在这里插入图片描述

    by的含义表示将结果根据instance_name来进行区分。跟mysql语句中 group by差不多。

    参考官网:https://prometheus.io/docs/prometheus/latest/querying/basics/

    重新封装grafana镜像

    由于官方带的grafana镜像可能还不能满足你的需求,我们可以选择重新封装来安装更多的数据源和面板

    DockerFile文件内容如下,我安装了一些插件

    # docker build -t luanpeng/lp:grafana .
    FROM grafana/grafana:latest
    USER root
    # 时钟图
    Run grafana-cli plugins install grafana-clock-panel
    # 饼图
    Run grafana-cli plugins install grafana-piechart-panel   
    # 气泡图
    Run grafana-cli plugins install digrich-bubblechart-panel
    # 世界地图
    Run grafana-cli plugins install raintank-worldping-app
    # json数据
    Run grafana-cli plugins install grafana-simple-json-datasource
    #zabbix报警
    Run grafana-cli plugins install alexanderzobnin-zabbix-app
    # k8s监控应用
    Run grafana-cli plugins install grafana-kubernetes-app
    # WindRoseby 极坐标图
    Run grafana-cli plugins install fatcloud-windrose-panel
    #雷达图
    Run grafana-cli plugins install snuids-radar-panel
    # 世界地图热力图
    Run grafana-cli plugins install ovh-warp10-datasource
    # 选点监控
    Run grafana-cli plugins install natel-usgs-datasource
    # es数据监控
    Run grafana-cli plugins install stagemonitor-elasticsearch-app
    # Plotly直接坐标系散点图
    Run grafana-cli plugins install natel-plotly-panel
    # 组织结构图
    Run grafana-cli plugins install digiapulssi-organisations-panel
    # ajax请求更新数据
    Run grafana-cli plugins install ryantxu-ajax-panel
    

    grafana的邮件报警Alerting

    grafana 4版本以上支持了alert功能,这使得利用grafana作为监控面板更为完整,因为只有alert功能才能称得上监控。
    email报警前设置SMTP服务:
    配置模板如下:打开/usr/share/grafana/conf/defaults.ini配置

    #################################### SMTP / Emailing #####################
    [smtp]
    enabled = true
    host = smtp.exmail.qq.com:
    user = luan.peng@intellif.com
    # 如果密码中包含#或则; 你需要使用三个双引号将他引起来,例如  """#password;"""
    password = xxxxxxx
    cert_file =
    key_file =
    skip_verify = true
    from_address = luan.peng@intellif.com
    from_name = Grafana
    ehlo_identity =
    
    [emails]
    welcome_email_on_sign_up = false
    templates_pattern = emails/*.html
    .....
    
    
    #################################### Alerting ############################
    [alerting]
    # Disable alerting engine & UI features
    enabled = true
    # Makes it possible to turn off alert rule execution but alerting UI is visible
    execute_alerts = true
    ....
    

    其他地方可以不改,将配置文件通过configmap配置到pod中,这样就可以成功发送报警了。测试一下

    在这里插入图片描述

    发送不成功的时候,记得去看下打印的错误日记,好进行排查

    在面板中添加报警要求不能有模板变量,所有的目标变量都必须指定才能设定报警。
    例如下面的B可以进行报警,而A不能进行报警。Data Source还必须是明确的数据源,也不能是模板

    在这里插入图片描述

    在这里插入图片描述

    注意:prometheus套装中的k8s系统信息收集,默认设置了面板配置不可修改,所以我们最好新建一个监控,流量查询和k8s中一样,并且添加自己的报警内容,然后保存,报警才能生效

    修改密码

    在容器中命令行,直接执行

    grafana-cli admin reset-admin-password yourpassword
    

    则admin账号密码被重置为yourpassword

    八、总结

    以上只是对Grafana里的基本概念做了一个简单的介绍,主要目的是帮助大家建立起对Grafana的基本印象,在以后的使用中,能做到心中有数。

    参考:https://ken.io/note/grafana-quickstart-influxdb-datasource-graph
    https://www.kancloud.cn/huyipow/prometheus/525003

    展开全文
  • grafana配置以deb或者rpm安装的,则默认的配置文件是/etc/grafana/grafana.ini所有在配置文件中的配置都可以通过环境变量来覆盖,使用的语法如下GF__1、paths[paths]data = /var/lib/grafana # 用来存储sqlite3、...
  • grafana配置

    千次阅读 2018-09-01 19:49:33
    grafana配置 官网介绍:...所有在配置文件中的配置都可以通过环境变量来覆盖,使用的语法如下 1 GF_&lt;SectionName&gt;_&lt;KeyNam...
  • Grafana权限控制

    2020-12-07 16:26:36
    介绍 Grafana 是一个出色的画图工具。可以添加丰富的数据源,包括有Zabbix数据源,Prometheus数据源,...并且有他自己的查询语法。要玩好它也是不容易的。 官方文档:https://grafana.com/docs/grafana/latest/ ...
  • grafana 配置文件

    千次阅读 2018-01-08 18:09:30
     官网介绍:http://docs.grafana.org/installation/configuration/ ...所有在配置文件中的配置都可以通过环境变量来覆盖,使用的语法如下 1 GF__ 1、pa
  • Lucene提供了丰富的API来组合定制你所需要的查询器,同时也可以利用Query Parser提供的强大的查询语法解析来构造你想要的查询器。本文章详细的介绍了Lucene的查询语法。通过Java语法分析器把一个查询字符串解析成 ...
  • 接到一个任务,给社区数字运营看板的一部分看板新增查询功能,想了想,grafana有自带的配置功能,提供用户根据Lucene查询语法搭配使用,可以做到动态查询,废话不多说,上菜首先,看板数据已经准备好,如下,统计...
  • 安装Grafana及配置

    万次阅读 2018-05-29 16:48:59
    两个平台为不同的团队开发,Kibana适合做简单的多维分析,并支持ES语法Grafana支持用户和组织的管理,并且有丰富的模板可供使用。使用系统:CentOS7.4Grafana安装:1、下载rpm源并进行安装wget ...
  • Linux_grafana配置

    千次阅读 2018-09-05 11:04:43
    grafana配置 官网介绍:...所有在配置文件中的配置都可以通过环境变量来覆盖,使用的语法如下 GF_ _ &lt;键名&gt; 1,路径 [paths] data = / var / l...
  • grafana配置内容介绍

    千次阅读 2019-03-27 15:06:27
    官网介绍:http://docs.grafana.org/installation/configuration/ ...所有在配置文件中的配置都可以通过环境变量来覆盖,使用的语法如下 1 GF_<SectionName>_<KeyName> ...
  • Grafana配置监控图表

    千次阅读 2019-03-26 15:33:42
    简介 Grafana+InfluxDB+cAdvisor是一套开源的Docker容器监控方案,cAdvisor用于数据采集,...并且有强大的类SQL语法Grafana用于数据展示。 监控 1. CPU监控 SELECT derivative(mean("value"), 1s) / 8000000000...
  • Text Panel、Alert List Panel、Dashboard List等也都是Grafana的Native Panel。因其功能简单,在此就做下简单介绍和演示。一、Text Panel(文本面板),是用于为Dashboard增加描述性信息的面板。有三种输入模式,分别...
  • 需要的组件:Prometheus ,node_exporter(也可以不要),mysql_exporter GrafanaGrafana的Prometheus-MySQL的仪表盘总结:掌握一些Prometheus语法,自己能写出想要的监控指标(有些仪表盘不兼容就需要自己改...
  • 可以用于汇总存储基于Spectator库收集到的metrics数据,并提供强大的查询语法,支持图表,json, 图片等格式返回。SpectatorNetflix开源的用于收集metrics的lib库, 主要为了支持JDK8, 而用于替换同类旧产品Servo的...
  • grafana-diagram插件安装、使用

    千次阅读 2018-11-07 16:33:42
    grafana-diagram是一个Grafana面板插件,它通过利用mermaid.js库提供了创建流程图,序列...可以使用Mermaid JS语法定义图表。 metrics series用于为形状/节点的背景着色。 将metrics的目标或“别名”与图节点的ID...
  • Grafana学习之路一

    2019-04-09 18:37:27
    登录页面 账号 : admin 密码 : admin 首页 Create 创建工程 Dashboard : 创建仪表盘 制作曲线图 Edit :编辑 ...Query : 支持Lucene query查询语法 Alias : 别名 Metric : 聚合函数 Gro...
  • Grafana】告警配置并发送邮件

    千次阅读 2019-03-13 16:32:28
    如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 修改grafana的配置文件 grafana的配置文件默认是在 /etc/grafana/grafana.ini 修改配置文件如下 # 邮件服务器配置,...
  • grafana text panel配置说明

    千次阅读 2020-10-20 22:40:53
    text panel配置使用markdown或者html语法: <br> <font size="8" color=##1E90FF >${SERVERNAME}</font><br> <font size="3" color=##1E90FF >Operating System:</font> ${...
  • 两个平台为不同的团队开发,Kibana适合做简单的多维分析,并支持ES语法Grafana支持用户和组织的管理,并且有丰富的模板可供使用。 使用系统:CentOS7.4 Grafana安装: 1、下载rpm源并进行安装 wget ...
  • 遇到这种情况,一般是因为出现了分母等于零的情况。...这个时候,我们需要找到等于0的字段,采用case when语法对等于0的情况,进行条件处理。 具体case when的用法,请参考文章《SQL语句case when的用法》 ...
  • 简单语法 influxdb与传统数据库的比较 influxdb MySQL database 数据库 measurement 数据库中的表table points 表里面的一行数据line linux...
  • 转载请注明原创地址:...平台组成 Atlas Netflix开源的管理多维时序数据的metrics后端服务系统。可以用于汇总存储基于Spectator库收集到的metrics数据,并提供强大的查询语法,支持图表...
  • JMeter的 Backend Listener 支持 Graphite 和 InfluxDB,这里选择 InfluxDB 做时序数据库,支持类似 SQL 的查询语法是最大的优点。另外在 JMeter 3.2+ 里配置起来也比 Graphite 方便太多。(缺点是直到写这篇文章时...
  • 阿里云日志服务是针对日志类数据一站式服务,用户只需要将精力集中在分析上,...2017年9月日志服务加强日志实时分析功能(LogSearch/Analytics),可以使用查询+SQL92语法对日志进行实时分析。 在结果分析可视化...

空空如也

空空如也

1 2 3
收藏数 53
精华内容 21
关键字:

grafana语法