An open-source and enterprise-level monitoring system. http://open-falcon.org

laiwei 9349180658 update readme to add flashduty as recommended oncall tool 1 рік тому
cmd 3e6771bdd9 fix timeout not work of isStarted in cmd/start.go (#892) 4 роки тому
common 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
config 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
docker 8272d1bea8 chore: add docker compose (#867) 3 роки тому
docs 78be6fd182 update api doc(#348) 5 роки тому
g 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
logos 9d3f196364 Add several logo files with transparent background 7 роки тому
modules 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
scripts 0a3e2f7e93 Update alert_link item of database to mediumtext (#928) 3 роки тому
test 2fc43f83d0 initial commit for open-falcon/open-falcon 8 роки тому
vagrant 2fc43f83d0 initial commit for open-falcon/open-falcon 8 роки тому
.dockerignore e7153389f8 reduce docker image size (#615) 6 роки тому
.gitignore da7e74c7f7 deployed by k8s cluster (#903) 4 роки тому
.travis.yml 4ecb7f47a7 migrate to go mod from govendor (#937) 3 роки тому
CODE_OF_CONDUCT.md c0e6a09dff update: some description 6 роки тому
CONTRIBUTING.md a47c087828 Create CONTRIBUTING.md 7 роки тому
Dockerfile 4ecb7f47a7 migrate to go mod from govendor (#937) 3 роки тому
Dockerfile.module 8272d1bea8 chore: add docker compose (#867) 3 роки тому
Dockerfile_arm64 9652801035 Add ARM64 jobs in Travis-CI (#925) 3 роки тому
LICENSE ac5822be05 update(common): add license 7 роки тому
Makefile 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
NOTICE ac5822be05 update(common): add license 7 роки тому
README.md 9349180658 update readme to add flashduty as recommended oncall tool 1 рік тому
VERSION bbe1b0ae51 make modules version more consistent (#816) 5 роки тому
api-standard.md c0e6a09dff update: some description 6 роки тому
docker-compose.yml 8272d1bea8 chore: add docker compose (#867) 3 роки тому
docker_test.sh 9652801035 Add ARM64 jobs in Travis-CI (#925) 3 роки тому
go.mod 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
go.sum 94e28264b3 convert falcon data to exporters for prometheus scraping (#959) 2 роки тому
logo.png 1d59cb6f76 add open-falcon logo 8 роки тому
main.go bbe1b0ae51 make modules version more consistent (#816) 5 роки тому
version.go bbe1b0ae51 make modules version more consistent (#816) 5 роки тому

README.md

Falcon+

Open-Falcon

Build Status License Backers on Open Collective Sponsors on Open Collective

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].