{"id":17881957,"url":"https://github.com/amine7536/quasar","last_synced_at":"2026-05-03T02:40:09.276Z","repository":{"id":64305813,"uuid":"88666278","full_name":"amine7536/quasar","owner":"amine7536","description":"Quasar collects BGP events from Peers and sends them to multiple outputs (Stdout, Logstash ...)","archived":false,"fork":false,"pushed_at":"2017-08-30T17:16:40.000Z","size":3248,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T16:14:46.570Z","etag":null,"topics":["bgp","devops","gobgp","golang","logstash"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amine7536.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-18T20:11:49.000Z","updated_at":"2017-07-03T20:50:40.000Z","dependencies_parsed_at":"2023-01-15T10:30:17.337Z","dependency_job_id":null,"html_url":"https://github.com/amine7536/quasar","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine7536%2Fquasar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine7536%2Fquasar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine7536%2Fquasar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amine7536%2Fquasar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amine7536","download_url":"https://codeload.github.com/amine7536/quasar/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246922247,"owners_count":20855345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bgp","devops","gobgp","golang","logstash"],"created_at":"2024-10-28T12:46:22.633Z","updated_at":"2026-05-03T02:40:04.226Z","avatar_url":"https://github.com/amine7536.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quasar [![Build Status](https://img.shields.io/travis/amine7536/quasar/master.svg?style=flat-square)](https://travis-ci.org/amine7536/quasar)\n\n\nMost astronomers think a quasar is a black hole with matter falling into it. Quasar collects BGP events from Peers and sends them to multiple outputs (Stdout, Logstash ...)\n\n\n## Getting Started\n\nYou need a working `Golang` developpement environnement with `glide` for dependency management  \nPlease see https://golang.org and https://glide.sh\n\n### Install dependencies\n\n```bash\n[abenseddik@macpro] git clone https://github.com/amine7536/quasar.git\n[abenseddik@macpro] cd quasar\n[abenseddik@macpro] glide install\n```\n\nThis will install all the project dependencies in the `vendor` folder.  \nAs of **Golang 1.6** `vendor` folder is automatically added the the `$GOPATH` during build process.\n\n### Build\n\n#### Manually\n\n```bash\n[abenseddik@macpro] go build -o build/quasar\n```\n\n#### Using the `Makefile`\n\n- Use the `make` target `quasar` :  \n\n```bash\n[abenseddik@macpro] make quasar\n\nmkdir -p build\ngo env\nGOARCH=\"amd64\"\nGOBIN=\"\"\nGOEXE=\"\"\nGOHOSTARCH=\"amd64\"\nGOHOSTOS=\"linux\"\nGOOS=\"linux\"\nGOPATH=\"/usr/share/gocode:/home/abenseddik/gocode\"\nGORACE=\"\"\nGOROOT=\"/usr/lib/golang\"\nGOTOOLDIR=\"/usr/lib/golang/pkg/tool/linux_amd64\"\nGO15VENDOREXPERIMENT=\"1\"\nCC=\"gcc\"\nGOGCCFLAGS=\"-fPIC -m64 -pthread -fmessage-length=0\"\nCXX=\"g++\"\nCGO_ENABLED=\"1\"\ngo build -ldflags=\"-w\"  -o build/quasar\n```\n\nThe built binary is in the `build` folder.\n\n```bash\n[abenseddik@macpro] ll build/quasar\n-rwxr-xr-x  1 amine  staff    12M Apr 21 15:38 quasar\n```\n\nGolang produces a static binary with all the dependencies and the Golang runtime embedded.\n\n#### Build the RPM\n\n- Use the `make` target `rpm` to build the rpm package :\n\n```bash\n[abenseddik@macpro] make clean-all\n[abenseddik@macpro] make rpm\n...\ngo build -ldflags=\"-w\"  -o build/quasar\nmkdir -p tmp/\nrm -rf tmp/quasar\nmkdir -p tmp/quasar/\ncp build/quasar tmp/quasar/quasar\ncp quasar.json tmp/quasar/quasar.json\ncd tmp \u0026\u0026 tar czf quasar.tar.gz quasar/\nchmod +x deploy/buildrpm.sh\ncp deploy/buildrpm.sh tmp/buildrpm.sh\ncd tmp \u0026\u0026 ./buildrpm.sh ../deploy/quasar.spec.centos `../build/quasar version`\n...\ncp tmp/rpm/RPMS/x86_64/quasar-*.rpm build/\n```\n\nThe resulting RPM is in the build folder :\n\n```bash\n[abenseddik@macpro] ls build\ntotal 30256\n-rwxr-xr-x  1 amine  staff    12M Apr 21 15:38 quasar\n-rw-r--r--  1 amine  staff   3.3M Apr 21 15:38 quasar-0.3.1-1.el7.x86_64.rpm\n```\n\n#### RPM Info\n\n```bash\n[abenseddik@macpro] rpm -qp --info build/quasar-0.3.1-1.el7.x86_64.rpm\nName        : quasar\nVersion     : 0.3.1\nRelease     : 1.el7\nArchitecture: x86_64\nInstall Date: (not installed)\nGroup       : default\nSize        : 12071752\nLicense     : MIT License\nSignature   : (none)\nSource RPM  : quasar-0.3.1-1.el7.src.rpm\nBuild Date  : Fri 21 Apr 2017 03:38:11 PM CEST\nBuild Host  : buildvm.centos73-2.golang.lab\nRelocations : (not relocatable)\nPackager    : Amine Benseddik \u003camine.benseddik@gmail.com\u003e\nURL         : https://github.com/amine7536/quasar\nSummary     : Collects BGP events from Peers and sends them to Logstash\nDescription :\nMost astronomers think a quasar is a black hole with matter falling into it.\nQuasar collects BGP events from Peers and sends them to multiple outputs (Stdout, Logstash ...)\n```\n\n#### RPM Files\n\n```bash\n[abenseddik@macpro] rpm -qlp build/quasar-0.3.1-1.el7.x86_64.rpm\n/etc/quasar/quasar.json\n/etc/sysconfig/quasar\n/usr/bin/quasar\n/usr/lib/systemd/system/quasar.service\n```\n\n\n## Configuration\n\n### Sample configuration file\n\n```\n{\n  \"routerid\": \"10.2.2.2\",\n  \"asn\": 65001,\n  \"api\": false,\n  \"logs\": {\n    \"level\": \"debug\",\n    \"file\": \"quasar.log\",\n    \"format\": \"text\"\n  },\n  \"neighbors\":[{\n      \"address\": \"10.2.2.3\",\n      \"asn\": 65000\n  }],\n  \"outputs\": {\n    \"logstash\": {\n      \"host\": \"10.2.2.4\",\n      \"port\": \"3000\"\n    }\n  }\n}\n```\n\n### Usage\n\n```\n/usr/bin/quasar -c quasar-dev.json\n```\n\n### Installation\n\nSimply copy `build/quasar` on your linux host or use the rpm package :\n\n```bash\n[abenseddik@golang.lab] sudo rpm -Uvh https://github.com/amine7536/quasar/releases/download/v0.3.1/quasar-0.3.1-1.el7.x86_64.rpm\nRetrieving https://github.com/amine7536/quasar/releases/download/v0.3.1/quasar-0.3.1-1.el7.x86_64.rpm\nPreparing...                          ################################# [100%]\nUpdating / installing...\n   1:quasar-0.3.1-1.el7               ################################# [100%]\n```\n\nEdit `/etc/quasar/quasar.json` and adjust the configuration as needed, by default most of the configuration fields are empty then start `quasar` :\n\n```bash\n[abenseddik@golang.lab] sudo systemctl start quasar\n```\n\nCheck the status :\n\n```bash\n[abenseddik@golang.lab] sudo systemctl status quasar\n● quasar.service - Quasar BGP Collector\n   Loaded: loaded (/usr/lib/systemd/system/quasar.service; disabled; vendor preset: disabled)\n   Active: active (running) since Tue 2017-05-02 12:18:44 UTC; 1s ago\n     Docs: https://github.com/amine7536/quasar\n Main PID: 540 (quasar)\n   CGroup: /system.slice/quasar.service\n           └─540 /usr/bin/quasar -c /etc/quasar/quasar.json\n\nMay 02 12:18:44 buildvm.centos73-2.golang.lab systemd[1]: Started Quasar BGP Collector.\nMay 02 12:18:44 buildvm.centos73-2.golang.lab systemd[1]: Starting Quasar BGP Collector...\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famine7536%2Fquasar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famine7536%2Fquasar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famine7536%2Fquasar/lists"}