私信 ”运维笔谈”,对话回复 “阿里云k8s” 可以获取《阿里云Kubernetes项目实战手册》PDF。
作为运维人员,监控是必不可少的工具,我们从Nagios到Zabbix再到Prometheus,从基础设置、应用再到容器云原生环境。而且现在讲究可观测性,需要把指标,日志,链路追踪集合起来,这就是造成一个现象,我们需要不同的监控软件去满足实现这些需求。
那么有没有一种告警引擎把这些数据源集成起来,统一管理我们的告警规则。夜莺(Nightingale)应运而生,值得推荐!
夜莺Github地址:https://github.com/ccfos/nightingale
官方文档地址:https://flashcat.cloud/docs/
夜莺的官方介绍:
是一个 All-in-One 的云原生监控工具,集合了 Prometheus 和 Grafana 的优点,您可以在 UI 上管理和配置告警策略,对分布在多Region的指标、日志、链路追踪数据进行统一的可视化分析。
夜莺最早是来自是小米开源的Open-Falcon,后面滴滴改进并开源名为夜莺。我们先看看dashboard大盘图,如下图:
一、夜莺功能特色1.内置常用的仪表板
夜莺的一大特色是集成了很多内置的仪表盘,比如Aliyun,Kubernetes,Kafka,MySQL等等。
2.多数据源管理,支持Prometheus类,Elasticsearch,Loki等。
3.时序指标查询
这个就更不错了,内置了一些常用的指标的promql表达式,解决了学习prometheus查询语言的入门压力。我们完全可以选择一些常用的内置查询表达式进行查询。
4.日志分析
这个有些类似Kibana上的discover查询日志,不过笔者这边古老的es v5.5版本不支持,后来测试了v7.13版本是可以查询的。
5.模板中心。
这个需要配置夜莺的All-in-one采集agent:Categraf 使用。这个解决了诸如Prometheus采集需要多个exporter的烦恼。
Categraf 的代码托管在 GitHub:https://github.com/flashcatcloud/categraf
模板中心也集成了不少告警的内置规则,如下图Elasticserach相关的:
6.告警通知
夜莺集成了多个告警通道,支持webhook,钉钉,微信,邮件等。
其他诸如人员权限管理,用户管理,LDAP登录等,大佬们可以自行安装部署体验,下面介绍如何快速部署夜莺。
二、快速体验部署我们可以到夜莺的 github releases,或者 flashcat 下载中心,下载最新的tar包。
# 下载安装包wget https://download.flashcat.cloud/n9e-v7.2.1-linux-amd64.tar.gz# 解压n9e-v7.2.1-linux-amd64.tar.gzmkdir n9etar xvf n9e-v7.2.1-linux-amd64.tar.gz -C n9e# 进入docker-compose文件所在的目录,如docker/compose-postgrescd docker/compose-postgres# 拉取镜像,需要等待一会儿docker-compose pull# 启动夜莺服务docker-compose up -d# 等待一会儿,查看服务状态docker-compose ps登录夜莺的web UI,浏览器输入服务器IP:17000,夜莺默认的用户名: root 密码:root.2020
夜莺的功能很多,本文只是简单的罗列,更多的功能期待大佬们的发现,欢迎留言或者私信指点。