What's Changed

  • feat: Added support for hiding and displaying dashboard variables.
  • refactor: Moved the self-healing configuration page to be a sub-menu page under self-healing.
  • refactor: Changed the prefix filter condition for quick view to exact matching.
  • refactor: When 'all' is enabled for dashboard variables, it is now selected by default.
  • refactor: After modifying the value of a variable, the system now checks if there are any subsequent variables that rely on it and updates their values accordingly.
  • refactor: Added business group labels to events for host-type alerts.
  • refactor: Adjusted data source validation logic by @idcdog.
  • fix: Fixed an issue where overrides in dashboard table configurations could not be deleted.
  • fix: Fixed a bug where the values displayed on the dashboard line chart were incorrect when stack was enabled.
  • fix: Fixed an issue where public dashboard could not be accessed.
  • fix: Fixed a data anomaly caused by cached variable values in version 5 of the dashboard.
  • fix: Fixed an issue where batch updates to rule record data sources were invalid.
  • docs: Added PostgreSQL SQL files and a Docker Compose file by @tanxiao1990

Component Installation

Nightingale requires MySQL and Redis as dependencies, both of which are open-source software. Please install them on your own. Here's a script to install these two components. You can refer to it::

# install mysql
yum -y install mariadb*
systemctl enable mariadb
systemctl restart mariadb
mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');"

# install redis
yum install -y redis
systemctl enable redis
systemctl restart redis

In the above example, the root password for MySQL is set to 1234. We recommend keeping this password unchanged to avoid the hassle of modifying the configuration file later.

Installing Nightingale

mkdir -p /opt/n9e && cd /opt/n9e

# Go to https://github.com/ccfos/nightingale/releases to find the latest version of the package. The package address in the document may not be the latest.
tarball=n9e-v6.0.0-ga.5-linux-amd64.tar.gz
urlpath=https://download.flashcat.cloud/${tarball}
wget $urlpath || exit 1

tar zxvf ${tarball}

mysql -uroot -p1234 < n9e.sql

nohup ./n9e &> n9e.log &

# check logs
# check port

If the startup is successful, Nightingale will listen on port 17000 by default. The above example uses nohup for a simple demonstration. For production environments, we recommend using systemd to manage it. Tutorial on using nohup and systemd

The configuration file etc/config.toml contains the MySQL connection address configuration. If the database connection fails, you can check the username and password.

After the Nightingale server is deployed, you can experience the related functions by visiting 17000 in your browser. The default username is root and the password is root.2020. Nightingale v6 supports three types of data sources: Prometheus-like, Elasticsearch, and Jaeger. You can click on the "System Information - Data Source" menu to configure the corresponding data source and view metrics, logging, and tracing data in the Nightingale platform.

categraf integrate with v6

Please note that to integrate with v6 version of categraf, you need to upgrade to version 0.2.35 and enable the heartbeat switch in the config.toml file.

upgrade from v5 to v6

  1. Before you begin, remember to back up your database!

  2. You need to update the structure of the Nightingale data source table to be consistent with v5.15.0 first. The release page has update instructions for the table structure of each version. You can follow the instructions for your current version and execute the update statements to update the table structure one by one.

  3. Unzip the n9e installation package and import upgrade.sql into the n9e_v5 database.

mysql -h 127.0.0.1 -u root -p1234 < cli/upgrade/upgrade.sql
  1. Run n9e-cli to complete the database table structure upgrade. webapi.conf is the configuration file used by the v5 version n9e-webapi.
./n9e-cli --upgrade --config webapi.conf
  1. Modify the database in the n9e configuration file to n9e_v5 and start the n9e process.
nohup ./n9e &> n9e.log &
  1. The port that n9e listens on is 17000. The previous web port and data reporting port need to be adjusted to 17000 as well.

项目简介

An all-in-one observability solution which aims to combine the advantages of Prometheus and Grafana. It manages alert rules and visualizes metrics, logs, traces in a beautiful web UI.

🚀 Github 镜像仓库 🚀

源项目地址

https://github.com/didi/nightingale

发行版本 122

v6.1.0

全部发行版

贡献者 60

全部贡献者

开发语言

  • Go 95.6 %
  • Python 2.8 %
  • Smarty 1.6 %
  • Shell 0.1 %