Falcon

An open-source and enterprise-level monitoring system.

Stars
7.17K
Forks
1.54K
Open issues
175
Closed issues
475
Last release
almost 5 years ago
Last commit
8 months ago
Watchers
7.17K
Total releases
3
Total commits
1.08K
Open PRs
14
Closed PRs
208
Repo URL
Project Website
https://open-falcon.com
Platform
License
apache-2.0
Category
Offers premium version?
NO
Proprietary?
NO
About

Falcon+

Notice

If you are heavily using k8s and adopting microservices architecture, we recommend you to upgrade to use Nightingale building your modern monitoring system.

  • Nightingale is an enterprise-level cloud-native monitoring tool, which can be used as drop-in replacement of Prometheus for alerting and management.
  • Categraf is one-stop telemetry collector for Nightingale / Prometheus / M3DB / VictoriaMetrics / Thanos / Influxdb / TDengine.

It is recommended that you use FlashDuty as the OnCall system to realize alarm aggregation convergence, claiming, upgrading, scheduling, and coordination, so that the alarm can be reached efficiently and ensure that the alarm processing is not missed.

Documentations

Prerequisite

  • Git >= 1.7.5
  • Go >= 1.6

Getting Started Docker

Please refer to ./docker/README.md.

Build from source

before start, please make sure you prepared this:

yum install -y redis
yum install -y mysql-server

NOTE: be sure to check redis and mysql-server have successfully started.

And then

# Please make sure that you have set $GOPATH and $GOROOT correctly.

If you have not golang in your host, please follow [https://golang.org/doc/install] to install golang.

mkdir -p $GOPATH/src/github.com/open-falcon cd $GOPATH/src/github.com/open-falcon git clone https://github.com/open-falcon/falcon-plus.git

And do not forget to init the database first (if you have not loaded the database schema before)

cd $GOPATH/src/github.com/open-falcon/falcon-plus/scripts/mysql/db_schema/
mysql -h 127.0.0.1 -u root -p < 1_uic-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 2_portal-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 3_dashboard-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 4_graph-db-schema.sql
mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql

NOTE: if you are upgrading from v0.1 to v0.2.0(or above),then. More upgrading instruction

mysql -h 127.0.0.1 -u root -p < 5_alarms-db-schema.sql
Compilation
cd $GOPATH/src/github.com/open-falcon/falcon-plus/

make all modules

make all

make specified module

make agent

pack all modules

make pack

  • after make pack you will got open-falcon-vx.x.x.tar.gz
  • if you want to edit configure file for each module, you can edit config/xxx.json before you do make pack

Unpack and Decompose

export WorkDir="$HOME/open-falcon"
mkdir -p $WorkDir
tar -xzvf open-falcon-vx.x.x.tar.gz -C $WorkDir
cd $WorkDir
Start all modules in single host
cd $WorkDir
./open-falcon start

check modules status

./open-falcon check

Run More Open-Falcon Commands

for example:

# ./open-falcon [start|stop|restart|check|monitor|reload] module
./open-falcon start agent

./open-falcon check falcon-graph UP 53007 falcon-hbs UP 53014 falcon-judge UP 53020 falcon-transfer UP 53026 falcon-nodata UP 53032 falcon-aggregator UP 53038 falcon-agent UP 53044 falcon-gateway UP 53050 falcon-api UP 53056 falcon-alarm UP 53063

  • For debugging , You can check $WorkDir/$moduleName/logs/xxx.log

Install Frontend Dashboard

NOTE: if you want to use grafana as the dashboard, please check this.

Package Release

make clean all pack
API Standard

Q&A

  • Any issue or question is welcome, Please feel free to open github issues :)
  • FAQ

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.