夜莺-Nightingale
夜莺V7
夜莺V6
项目介绍
架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
users
target
user_group
user_group_member
task_tpl
task_tpl_host
task_record
sso_config
role
role_operation
recording_rule
notify_tpl
metric_view
datasource
configs
chart_share
busi_group
busi_group_member
builtin_cate
board
board_payload
alerting_engines
alert_subscribe
alert_rule
alert_mute
alert_his_event
alert_cur_event
alert_aggr_view
FAQ
转发数据给多个时序库
机器列表数据异常
数据流图
监控数据时有时无
查询原始监控数据
快捷视图详解
告警自愈模块使用
仪表盘里只展示我的机器
仪表盘里图表数据缺失
设置自定义告警通知方式
target_up指标的问题
夜莺可以监控 x 么
告警和恢复的判断逻辑
容量规划问题
connection refused
登录与认证
数据采集器Categraf
日志写到`/var/log/messages`
告警规则&告警模板如何引用变量
采集到的数据是字符串怎么处理
管理员密码忘记了
制作大盘如何添加图片
添加loki数据源报错
v6小版本升级有什么 sql 要执行吗
机器列表有展示,但采集数据查询不到
n9e 启动异常报错
n9e集群部署配置修改
推送 Promethus 报错 OOO
机器列表怎么忽略云资源
告警规则仅在本业务组生效失败
categraf 启动 oracle 插件报错
告警自愈不生效
n9e查询时序库EOF报错
手动编译项目报错
promQL 使用函数标签信息丢失
内存使用率+可用率不等于100
夜莺仪表盘有哪些内置变量
categraf配置文件支持热加载吗
导入 Grafana 仪表盘无效数据源
如何查看报错消息
采集器-Categraf
Flashcat 企业版
最佳实践
开源生态
Telegraf
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
开篇
理解时间序列
Metrics类型
初识PromQL
PromQL操作符
PromQL聚合操作
PromQL内置函数
在HTTP API中使用PromQL
最佳实践:4个黄金指标和USE方法
小结
第3章:Prometheus告警处理
开篇
Prometheus告警简介
自定义Prometheus告警规则
部署Alertmanager
Alertmanager配置概述
基于标签的告警处理路由
使用Receiver接收告警信息
告警模板详解
屏蔽告警通知
使用Recoding Rules优化性能
小结
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
开篇
初识Kubernetes
在Kubernetes下部署Prometheus
Kubernetes下的服务发现
使用Prometheus监控Kubernetes集群
基于Prometheus的弹性伸缩
小结
第9章:Prometheus Operator
参考资料
ES 日誌告警可以通過對日誌進行查詢分析,來及時發現異常日誌,並觸發告警。
首先可以選擇ES數據源,然後配置查詢條件和告警條件,下面針對每個數字指向的功能,進行詳細說明
1 選擇索引
支持多種配置方式
- 指定單個索引 gb 在 gb 索引中搜索所有的文檔
- 指定多個索引 gb,us 在 gb 和 us 索引中搜索所有的文檔
- 指定索引前綴 g*,u* 在任何以 g 或者 u 開頭的索引中搜索所有的文檔
2 設置過濾條件
目前支持的是 query string 語法
可以指定字段名稱進行查詢:
- status:active - 查詢 status 字段包含 active 的記錄
- title:(quick OR brown) - 查詢 title 字段包含 quick 或 brown 的記錄
- author:“John Smith” - 查詢 author 字段包含完整短語 “John Smith” 的記錄
支持使用 ? 和 * 通配符:
- qu?ck - ? 匹配單個字符
- bro* - * 匹配零個或多個字符
使用 ~ 運算符進行模糊匹配:
- quikc~ - 匹配與 quick 相似的詞
- “fox quick”~5 - 短語查詢中的詞之間可以相隔最多5個位置
支持數值和日期範圍:
- count:[1 TO 5] - 閉區間,包含1和5
- date:[2022-01-01 TO 2022-12-31]
- age:>=10 - 大於等於10
可以使用 AND、OR、NOT 等布爾操作符:
- quick AND brown - 同時包含兩個詞
- quick OR brown - 包含其中任意一個詞
- quick NOT fox - 包含 quick 但不包含 fox
詳細的語法可以參考 ES 文檔
3 設置日期字段
點擊可以選擇日誌中的日期字段,通過此字段來作為查詢日誌的時間範圍的依據
4 設置查詢日誌的時間範圍
如果是 5 分鐘,表示在做告警查詢時,會查詢過去 5 分鐘內的日誌
5 數值提取
對日誌進行統計分析的函數,比如 count、sum、avg、min、max 等
6 Group By
對日誌進行分組,比如按照 host 字段進行分組,進行 count 統計, 查詢到的結果會按照 host 字段進行分組
7 告警條件
統計分析得到的數值,會賦值給告警條件中的 A、B、C 等變量,然後根據這些變量進行告警條件判斷,比如 $A > 10 表示日誌數量大於10條時觸發告警
8 高級配置
在有的場景,日誌會出現延遲,如果延遲3分鐘,查詢最近3分鐘的數據,會查不到數據,這時,可以在高級配置中,設置延遲查詢時間,比如延遲180s,表示查詢查詢的時候,把開始時間和終止時間都向前偏移180s
使用範例
示例1:錯誤日誌監控
- 索引:app-logs-*
- 查詢條件:level:ERROR AND service:payment
- 時間範圍:5分鐘
- 數值提取:count()
- 告警條件:$A > 10 說明:監控支付服務在5分鐘內的錯誤日誌數量是否超過10條
示例2:接口響應時間監控
- 索引:nginx-access-*
- 查詢條件:path:"/api/v1/order*" AND response_time:>500
- 時間範圍:10分鐘
- 數值提取:avg(response_time)
- Group By:path
- 告警條件:$A > 1000 說明:監控訂單相關接口的平均響應時間是否超過1秒
示例3:異常狀態碼監控
- 索引:nginx-*
- 查詢條件:status:[500 TO 599]
- 時間範圍:15分鐘
- 數值提取:count()
- Group By:host, status
- 告警條件:$A > 50 說明:按主機和狀態碼分組統計5xx錯誤,如果某台主機的某個狀態碼出現次數超過50次則告警
示例4:業務異常關鍵字監控
- 索引:business-logs-*
- 查詢條件:message:(“timeout” OR “connection refused” OR “out of memory”)
- 時間範圍:30分鐘
- 數值提取:count()
- 告警條件:$A > 5 說明:監控包含特定錯誤關鍵字的日誌數量