当前位置: 首页 > news >正文

自适用网站的建设做网站的财务需求

自适用网站的建设,做网站的财务需求,wordpress 媒体库 最大,wordpress 插件目录系列文章 Grafana 系列文章 概述 我们是基于这篇文章: Grafana 系列文章#xff08;十二#xff09;#xff1a;如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板, 创建一个类似的, 但是基于 ElasticSearch 的日志快速搜索仪表板. 最终完整效果如下: #x1f4dd;…系列文章 Grafana 系列文章 概述 我们是基于这篇文章: Grafana 系列文章十二如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板, 创建一个类似的, 但是基于 ElasticSearch 的日志快速搜索仪表板. 最终完整效果如下: Notes: 其实我基于 ElasticSearch 做了2个仪表板 用于检索 Applog 的用于检索 accesslog 的 在下面的讲解中会综合2个仪表板来进行说明. 这次不会讲述详细细节, 只选择部分关键点进行说明. 知识储备 创建 Query 使用自定义的JSON字符串编写查询field 在Elasticsearch索引映射中被映射为一个 keyword。 如果查询是 multi-field 的 text 和 keyword 类型使用 field: fieldname.keyword有时是fieldname.raw来指定你查询中的关键字字段。 Query QueryDescription{find: fields, type: keyword}返回一个索引类型为keyword 的字段名列表。{find: terms, field: hostname.keyword, size: 1000}使用 terms 聚合返回一个 keyword 的值列表。查询将使用当前仪表板的时间范围作为时间范围查询。{find: terms, field: hostname, query: Lucene query}使用terms 聚合和指定的Lucene查询过滤器返回一个keyword field 的值列表。查询将使用当前仪表板的时间范围作为查询的时间范围。 terms 的查询默认有500个结果的限制。要设置一个自定义的限制需要在你的查询中设置size属性。 Variable 语法 面板标题和 metric 查询可以使用多种不同的语法来引用变量 $varname, 这种语法很容易阅读但它不允许你在词的中间使用变量。例如apps.frontend.$server.requests.count${var_name}, 当你想在表达式的中间插值一个变量时请使用这种语法。${var_name:format} 这种格式让你对Grafana如何插值有更多控制。[[varname]] 不建议使用。废弃的旧语法将在未来的版本中删除。 高级变量格式选项 变量插值的格式取决于数据源但在有些情况下你可能想改变默认的格式。 例如MySql数据源的默认格式是以逗号分隔的方式连接多个值并加引号, 如server01, server02.在某些情况下你可能希望有一个不带引号的逗号分隔的字符串, 如server01,server02。你可以用下面列出的高级变量格式化选项来实现这一目的。 通用语法 语法: ${var_name:option} 可以在Grafana Play网站上测试格式化选项。 如果指定了任何无效的格式化选项那么 glob 就是默认/回退选项。 CSV 将具有多个值的变量形成一个逗号分隔的字符串。 servers [test1, test2] String to interpolate: ${servers:csv} Interpolation result: test1,test2 分布式 - OpenTSDB 以OpenTSDB的自定义格式对具有多个值的变量进行格式化。 servers [test1, test2] String to interpolate: ${servers:distributed} Interpolation result: test1,serverstest2 双引号 将单值和多值变量形成一个逗号分隔的字符串在单个值中用\转义并将每个值用引号括起来。 servers [test1, test2] String to interpolate: ${servers:doublequote} Interpolation result: test1,test2 Glob - Graphite 将具有多个值的变量组成一个glob用于Graphite查询。 servers [test1, test2] String to interpolate: ${servers:glob} Interpolation result: {test1,test2} JSON 将具有多个值的变量形成一个逗号分隔的字符串。 servers [test1, test2] String to interpolate: ${servers:json} Interpolation result: [test1, test2] Lucene - Elasticsearch 以Lucene格式对Elasticsearch的多值变量进行格式化。 servers [test1, test2] String to interpolate: ${servers:lucene} Interpolation result: (test1 OR test2) URL 编码 (Percentencode) 对单值和多值变量进行格式化以便在URL参数中使用。 servers [foo()bar BAZ, test2] String to interpolate: ${servers:percentencode} Interpolation result: foo%28%29bar%20BAZ%2Ctest2 Pipe 将具有多个值的变量形成一个管道分隔的字符串。 servers [test1., test2] String to interpolate: ${servers:pipe} Interpolation result: test1.|test2 Raw 关闭数据源特定的格式化如SQL查询中的单引号。 servers [test.1, test2] String to interpolate: ${var_name:raw} Interpolation result: test.1,test2 Regex 将有多个值的变量形成一个regex字符串。 servers [test1., test2] String to interpolate: ${servers:regex} Interpolation result: (test1\.|test2) 单引号 将单值和多值变量形成一个逗号分隔的字符串在单个值中用\转义并将每个值用引号括起来。 servers [test1, test2] String to interpolate: ${servers:singlequote} Interpolation result: test1,test2 Sqlstring 将单值和多值变量组成一个逗号分隔的字符串每个值中的用转义每个值用引号括起来。 servers [test1, test2] String to interpolate: ${servers:sqlstring} Interpolation result: test1,test2 Text 将单值和多值变量转换成其文本表示法。对于一个单变量它将只返回文本表示法。对于多值变量它将返回与相结合的文本表示法。 servers [test1, test2] String to interpolate: ${servers:text} Interpolation result: test1 test2 查询参数 将单值和多值变量编入其查询参数表示法。例如var-foovalue1var-foovalue2 servers [test1, test2] String to interpolate: ${servers:queryparam} Interpolation result: serverstest1serverstest2 配置变量选择选项 Selection Options 是一个你可以用来管理变量选项选择的功能。所有的选择选项都是可选的它们在默认情况下是关闭的。 Multi-value Variables 内插一个选择了多个值的变量是很棘手的因为如何将多个值格式化为一个在使用该变量的给定环境中有效的字符串并不直接。Grafana试图通过允许每个数据源插件告知模板插值引擎对多个值使用什么格式来解决这个问题。 Notes: 变量上的Custom all value选项必须为空以便Grafana将所有值格式化为一个字符串。如果它留空那么Grafana就会把查询中的所有值连接起来加在一起。类似于value1,value2,value3。如果使用了一个自定义的所有值那么该值将是类似于*或all的东西。 带有Prometheus或InfluxDB数据源的多值变量 InfluxDB和Prometheus使用regex表达式所以host1, host2, host3 变量会被插值为{host1,host2,host3}。每个值都会被regex转义。 使用Elastic数据源的多值变量 Elasticsearch使用lucene查询语法所以同样的变量会被格式化为(host1 OR host2 OR host3)。在这种情况下每一个值都必须被转义以便该值只包含lucene控制词和引号。 Include All 选项 Grafana在变量下拉列表中添加了一个 All 选项。如果用户选择了这个选项那么所有的变量选项都被选中。 自定义 all 的值 这个选项只有在选择了 Include All option 时才可见。 在Custom all value字段中可以输入regex、globs或lucene语法来定义All选项的值。 默认情况下All 值包括组合表达式中的所有选项。这可能会变得非常长而且会产生性能问题。有时指定一个自定义的所有值可能会更好比如通配符。 为了在 Custom all value 选项中拥有自定义的regex、globs或lucene语法它永远不会被转义所以你将不得不考虑什么是你的数据源的有效值。 ElasticSearch Template Variables 选择一种 Variable 语法 如上文所述, Elasticsearch数据源支持在查询字段中使用多种变量语法. 当启用 Multi-value 或 Include all value 选项时Grafana 会将标签从纯文本转换为与 Lucene 兼容的条件。即隐式转换 $varname 为 ${varname:lucene} 实战 1. 弄清楚有哪些索引字段 首先, 最重要的, 就是弄清楚该索引有哪些索引字段(fields), 以及有哪些keywords, 选择部分字段和 keywords 作为 varibles. 可以直接通过 Kibana 界面进行查询和尝试. 如本次选择的有: app_namelevelrequest_path ( 通过多次在 Kibana 上使用发现, 查询时应该使用 request_path.keyword 而不是 request_path)request_methodstatus_code 2. 创建 Variables app_name 设置如下: Name: app_nameType: QueryData source: ESQuery: {find: terms, field: current_app_name}, 另外, 如果嵌套使用, 可以类似这样 {find: terms, field: pod_name, query: app_name:$app_name} request_path 设置如下: Name: request_pathType: QueryData source: ESQuery: {find: terms, field: request_path.keyword, query: app_name:$app_name}Multi-value: ✔️Include All option: ✔️Custom all value: * 注意, 这里使用了 Custom all value, 最终 Query All 的表达式就会变成: request_path.keyword:* 而不是 request_path.keyword:(path1 OR path2 ...) request_method request_method 常用的就这么几个: GETPOSTDELETEHEADPUTPATCHOPTIONS 所以可以将其设置为 Custom variable, 设置如下: Name: request_methodType: CustomValues separated by comma: GET,POST,DELETE,HEAD, PUT,PATCH,OPTIONSMulti-value: ✔️Include All option: ✔️Custom all value: * level 日志级别可以直接使用 Custom 类型变量. 如下: Name: levelType: CustomValues separated by comma: INFO, WARN, ERROR,FATALMulti-value: ✔️Include All option: ✔️ 如果只关注错误日志, 那么 level 变量的默认值可以设置为同时勾选: ERROR 和 FATAL status_code 这里会将 status_code variable 用于 Lucene 的范围语法 [](包括开头和结尾的2个数字), 所以有用到Custom all value 以及 Variable 语法配置. Name: status_codeType: CustomValues separated by comma: 200 TO 299, 300 TO 399, 400 TO 499, 500 TO 599Include All option: ✔️Custom all value: 200 TO 599 (Note: 即包括所有的 http 状态码, 从 200 到 599) 后续要在 Query 中使用, 用法如下: status_code:[${status_code:raw}] 直接使用 ${status_code:raw}, 这样传入就会变成: status_code:[200 TO 299] status_code:[200 TO 599] 按期望完成对 ES 的查询. filter 最后, 还添加一个 Ad hoc filters variable, 方便用户进行更多自定义的过滤筛选. Name: filterType: Ad hoc filtersData source: ${datasource} 后续会在该 Dashboard 的所有 Query 中自动使用. 一个典型使用场景如下: 对于 request_path, 需要过滤监控/健康检查等请求(包含info health metric 等关键词), 那么可以将该 filter 保存为默认的变量值. 3. Panel Dashboard 只有 2 个面板组成: 上图: Time series, 显示日志柱状图, 并着色, INFO日志为绿色, WARN 日志为黄色, ERROR 和 FATAL 日志为红色.下日志 Time series panel 如下图: 可以通过如下 Query 实现: app_name:$app_name AND level:($level AND INFO) app_name:$app_name AND level:($level AND ERROR or FATAL) $level AND INFO 这种写法是一个 workaround, 为的是在 level 变量改变时, Time series panel 随之改变. 另外一个需要注意的点是, Metric 是 Count(日志条数) 而不是 Logs (具体日志). 还有, 需要配置 Override - Color, 如下: 最后, 如果柱子太密, 可以通过调整如 3 Colors Time series panel 图中的 Interval 来调整时间间隔, 本例调整为 1m Logs panel 在 Logs panel 中, 也可以根据实际情况做一系列调整. 如下图, 可以对日志展示方式做调整: Time: 是否加时间戳Unique labels: 是否每条日志加 labelCommon labels: 是否对 logs panel 左上角对所有日志加 common labelsWrap linesPretify JSON: JSON 美化Enable log details: 启用查看日志详细信息Deduplication: 日志去重, 去重方式有: None: 不去重Exact: 精确去重Numbers: 不同数字记为同一类的去重方式Signature: 根据计算得出的 Signature 去重 Order: 排序. 另外, 考虑到 ES 日志的 log details 会有很多我们不关注的 fields, 如: _source _id 等, 可以通过 Transform 进行转换调整. 具体如下图: 总结 这篇文章算是该系列文章的一个重点了. 包含了非常多的实用细节. 如: ES QueryVariable 语法 Variable raw 语法Lucene - Elasticsearch 语法… Multi-value VariablesInclude All 选项自定义 all 的值Ad hoc filters VariableES Metric Type CountLogs… 调整Query 时间间隔Logs panel 设置Panel Transform 希望对你有所帮助. 三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.
http://www.hkea.cn/news/14372214/

相关文章:

  • 做家簇图像网站建网站pc版 (报价)
  • 西安企业网站建设哪家好企业做国际站哪个网站好
  • 银行做网站视频诚聘网站开发人员
  • 百度网站推广排名优化宁波建设信息网
  • 怎么将dw做的网站导出在线设计名片
  • 做聊天室cpa用什么类型的网站好网络营销推广手段
  • 青岛做网站找哪家好买的网站模板怎么上传
  • 如何做兼职网站平台公司网站没备案
  • 如何做网站海报注册网站域名要钱吗
  • 系部 网站建设方案搜索引擎网站优化和推广方案
  • 如何做网站流量分析报表沈阳人流需要多少钱大概多少钱
  • 建设网站的命令wordpress编辑器缓慢
  • 昆明建设厅官方网站建设网站前的市场分析包括
  • php网站后台wordpress首页文章摘要
  • 哪些网站做家政推广推广平台网站有哪些
  • 网站怎么创建网页设计需要什么技术
  • 海外贸易网站广东省城乡建设厅网站首页
  • 建设银行网站logo网站开发文本
  • 厦门英文网站建设网站字体大小是多少合适
  • 网页设计与制作精品课程网站文章网站模板
  • 苏州城乡建设局网站质检员沈阳高端网站设计
  • 望京做网站视频制作公司排行
  • 做网站用框架么商城网站营销系统源码
  • 上海高品质网站建设360建筑网怎么删除简历
  • 网站ico如何修改网站如何在360做提交
  • 专业的网站建设与优化综合类门户网站有哪些
  • 南昌县建设局网站浙江住房城乡建设厅网站首页
  • 网站建设引流刘贺稳1展览展示设计网站
  • 提供深圳网站制作公司秦皇岛最新封闭通知
  • 台州网站建设公司.世界500强互联网公司排名