Go to file
alick-liming 199a23e385
refactor: get ClientIP (#1502)
* 调整ClientIP获取
2023-04-27 10:26:34 +08:00
.github auto release with github action (#1032) 2022-07-07 14:17:23 +08:00
alert update dingtalk title 2023-04-25 15:02:13 +08:00
center refactor: get ClientIP (#1502) 2023-04-27 10:26:34 +08:00
cli update upgrade.sql 2023-03-27 15:51:52 +08:00
cmd refactor: host heartbeat (#1417) 2023-03-11 11:44:01 +08:00
conf refactor: change api auth 2023-03-13 20:31:53 +08:00
doc update wechat img 2023-03-13 11:53:26 +08:00
docker typo 2023-04-25 11:55:58 +08:00
etc refactor: heartbeat cluster name to engine name 2023-04-20 15:08:21 +08:00
integrations docs: add apiserver kubelet node alerts template to k8s (#1508) 2023-04-26 14:18:13 +08:00
memsto fix: set default ibex conf 2023-04-20 16:40:58 +08:00
models feat: add eventid to ibex task_record (#1497) 2023-04-24 18:01:48 +08:00
pkg refactor: change api auth 2023-03-13 20:31:53 +08:00
prom refactor: alert use enabled datasource 2023-03-24 11:56:25 +08:00
pushgw fix: datasource update 2023-04-11 16:30:35 +08:00
storage refactor: ignore redis is nil 2023-03-31 16:20:33 +08:00
.gitattributes add tsx 2020-04-07 20:30:22 +08:00
.gitignore update n9e.sql 2023-04-20 16:50:59 +08:00
.goreleaser.yaml update dockerfile 2023-04-25 11:54:29 +08:00
LICENSE v6 release 2023-03-09 17:43:51 +08:00
Makefile refactor: update goreleaser 2023-03-24 17:37:35 +08:00
README.md update readme 2023-04-17 19:42:29 +08:00
README_en.md update readme 2023-04-17 19:42:29 +08:00
fe.sh auto change n9e version in docker-compose.yaml 2023-04-26 17:32:07 +08:00
go.mod fix: target insert 2023-03-21 16:33:06 +08:00
go.sum build(deps): bump golang.org/x/net from 0.4.0 to 0.7.0 (#1414) 2023-03-09 18:44:52 +08:00

README_en.md

nightingale - cloud native monitoring

GitHub latest release Docs Docker pulls GitHub Repo stars GitHub Repo issues GitHub Repo issues closed GitHub forks GitHub contributors GitHub contributors License

An open-source cloud-native monitoring system that is all-in-one
Out-of-the-box, it integrates data collection, visualization, and monitoring alert
We recommend upgrading your Prometheus + AlertManager + Grafana combination to Nightingale!

English | 中文

Highlighted Features

  • Out-of-the-box
    • Supports multiple deployment methods such as Docker, Helm Chart, and cloud services, integrates data collection, monitoring, and alerting into one system, and comes with various monitoring dashboards, quick views, and alert rule templates. It greatly reduces the construction cost, learning cost, and usage cost of cloud-native monitoring systems.
  • Professional Alerting
    • Provides visual alert configuration and management, supports various alert rules, offers the ability to configure silence and subscription rules, supports multiple alert delivery channels, and has features such as alert self-healing and event management.
  • Cloud-Native
    • Quickly builds an enterprise-level cloud-native monitoring system through a turnkey approach, supports multiple collectors such as Categraf, Telegraf, and Grafana-agent, supports multiple data sources such as Prometheus, VictoriaMetrics, M3DB, ElasticSearch, and Jaeger, and is compatible with importing Grafana dashboards. It seamlessly integrates with the cloud-native ecosystem.
  • High Performance and High Availability
    • Due to the multi-data-source management engine of Nightingale and its excellent architecture design, and utilizing a high-performance time-series database, it can handle data collection, storage, and alert analysis scenarios with billions of time-series data, saving a lot of costs.
    • Nightingale components can be horizontally scaled with no single point of failure. It has been deployed in thousands of enterprises and tested in harsh production practices. Many leading Internet companies have used Nightingale for cluster machines with hundreds of nodes, processing billions of time-series data.
  • Flexible Extension and Centralized Management
    • Nightingale can be deployed on a 1-core 1G cloud host, deployed in a cluster of hundreds of machines, or run in Kubernetes. Time-series databases, alert engines, and other components can also be decentralized to various data centers and regions, balancing edge deployment with centralized management. It solves the problem of data fragmentation and lack of unified views.
  • Multiple systems such as Prometheus, Alertmanager, Grafana, etc. are fragmented and lack a unified view and cannot be used out of the box;
  • The way to manage Prometheus and Alertmanager by modifying configuration files has a big learning curve and is difficult to collaborate;
  • Too much data to scale-up your Prometheus cluster;
  • Multiple Prometheus clusters running in production environments, which faced high management and usage costs;
  • Monitoring too much data and wanting a better scalable solution;
  • A high learning curve and a desire for better efficiency of collaborative use in a multi-person, multi-team model;
  • Microservice and cloud-native architectures with variable monitoring data lifecycles and high monitoring data dimension bases, which are not easily adaptable to the Zabbix data model;

If you are using open-falcon, we recommend you to upgrade to Nightingale

Getting Started

English Doc | 中文文档

Screenshots

https://user-images.githubusercontent.com/792850/216888712-2565fcea-9df5-47bd-a49e-d60af9bd76e8.mp4

Architecture

Nightingale monitoring can receive monitoring data reported by various collectors (such as Categraf , telegraf, grafana-agent, Prometheus, etc.) and write them to various popular time-series databases (such as Prometheus, M3DB, VictoriaMetrics, Thanos, TDEngine, etc.). It provides configuration capabilities for alert rules, silence rules, and subscription rules, as well as the ability to view monitoring data. It also provides automatic alarm self-healing mechanisms (such as automatically calling back to a webhook address or executing a script after an alarm is triggered), and the ability to store and manage historical alarm events and view them in groups.

If the performance of a standalone time-series database (such as Prometheus) has bottlenecks or poor disaster recovery, we recommend using VictoriaMetrics. The VictoriaMetrics architecture is relatively simple, has excellent performance, and is easy to deploy and maintain. The architecture diagram is as shown above. For more detailed documentation on VictoriaMetrics, please refer to its official website.

We welcome you to participate in the Nightingale open-source project and community in various ways, including but not limited to

  • Adding and improving documentation => n9e.github.io
  • Sharing your best practices and experience in using Nightingale monitoring => Article sharing
  • Submitting product suggestions => github issue
  • Submitting code to make Nightingale monitoring faster, more stable, and easier to use => github pull request

Respecting, recognizing, and recording the work of every contributor is the first guiding principle of the Nightingale open-source community. We advocate effective questioning, which not only respects the developer's time but also contributes to the accumulation of knowledge in the entire community

  • Before asking a question, please first refer to the FAQ
  • We use GitHub Discussions as the communication forum. You can search and ask questions here.
  • We also recommend that you join ours Slack channel to exchange experiences with other Nightingale users.

Who is using Nightingale

You can register your usage and share your experience by posting on Who is Using Nightingale.

Stargazers over time

Stargazers over time

Contributors

License

Apache License V2.0