夜莺-Nightingale
夜莺V6
项目介绍 架构介绍
快速开始
黄埔营
安装部署
升级
采集器
使用手册
API
数据库表结构
FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵
第2章:探索PromQL
第3章:Prometheus告警处理
第4章:Exporter详解
第5章:数据与可视化
第6章:集群与高可用
第7章:Prometheus服务发现
第8章:监控Kubernetes
第9章:Prometheus Operator
参考资料

如何查看报错消息

遇到问题首先应该查看报错、查看日志,这里罗列一些常见的日志查看方式,供各位参考。

浏览器报错

页面操作着,突然报错了,只看报错消息有时不能很好的排查问题。需要查看 Chrome 开发者工具,查看具体的报错请求,以及返回的数据。可以参考《Chrome 开发者工具的使用》。

如果看了这些信息之后仍然无法解决,可以给 Nightingale 提 Github issue,入口在这里。在 issue 中描述具体的问题,以及 Chrome 开发者工具中看到的报错请求(主要是看请求的 url、payload、response)。

n9e、n9e-edge 的报错日志

以 n9e 举例,n9e-edge 也是类似的,其 stdout 日志的查看方式取决于进程启动方式:

  • 如果是 nohup 启动的(生产环境不建议 nohup 启动),就看进程启动时把标准输出重定向到哪个文件了
  • 如果是 systemd 启动的,就用 journalctl 查看,比如 journalctl -flu n9e

n9e 的配置文件中有日志相关的配置,如果指定了 Output 是 stdout,那么日志就会输出到标准输出,这时候就可以用上面的方式查看日志。如果 Output 配置的 file,那么日志就会输出到指定的目录下,具体是哪个目录,就是看 Dir 的配置,比如:

[Log]
# log write dir
Dir = "logs"
# log level: DEBUG INFO WARNING ERROR
Level = "DEBUG"
# stdout, stderr, file
Output = "file"
# # rotate by time
# KeepHours = 4
# # rotate by size
# RotateNum = 3
# # unit: MB
# RotateSize = 256

上面的配置表示日志输出到 logs 目录下。

如果 systemctl status n9e 看到进程启动失败,此时可以直接在前台启动 n9e 进程,这样有报错就可以直接打印在控制台,方便查看,通过下面的命令启动:

./n9e

如果是容器部署的,那就通过 docker logs 查看进程的 stdout 日志,如果日志配置输出到指定目录了,可以直接进入容器内部查看。当然,如果日志目录挂载了 volume,也可以在宿主上查看。

categraf 的报错日志

categraf 和 n9e 类似的,一般都是通过 systemd 启动的,所以查看日志也是通过 journalctl,比如:

journalctl -flu categraf

categraf 的日志里如果出现 E! 这样的关键字就表示 error 日志。提 issue 的时候贴一段 error 日志,有助于快速定位问题。

开源版
Flashcat
Flashduty