Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alexanderfefelov/docker-bgbilling
BGBilling in a container
https://github.com/alexanderfefelov/docker-bgbilling
bgbilling docker
Last synced: 15 days ago
JSON representation
BGBilling in a container
- Host: GitHub
- URL: https://github.com/alexanderfefelov/docker-bgbilling
- Owner: alexanderfefelov
- License: mit
- Archived: true
- Created: 2016-02-25T11:33:15.000Z (over 8 years ago)
- Default Branch: 7.1
- Last Pushed: 2019-05-30T08:43:45.000Z (over 5 years ago)
- Last Synced: 2024-07-03T09:21:28.247Z (4 months ago)
- Topics: bgbilling, docker
- Language: Scala
- Homepage:
- Size: 16.9 MB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.en
Awesome Lists containing this project
README
ABANDONED!
DO NOT USE!# docker-bgbilling
docker-bgbilling -- это набор скриптов, позволяющий развернуть [BGBilling](https://bgbilling.ru/) в контейнерах Docker.
## Особенности
* Контейнеры
| Название | Описание | FQDN
|:---------|:---------|:----
| `bgbilling-billing` | Сервер BGBilling | `billing.bgbilling.local`
| `bgbilling-scheduler` | Планировщик BGBilling | `scheduler.bgbilling.local`
| `bgbilling-access` | Сервер BGInetAccess | `access.bgbilling.local`
| `bgbilling-accounting` | Сервер BGInetAccounting | `accounting.bgbilling.local`
| `bgbilling-mysql-master` | Master-сервер MySQL | `master.mysql.bgbilling.local`
| `bgbilling-mysql-backup` | Slave-сервер MySQL для резервного копирования, read-only | `backup.mysql.bgbilling.local`
| `bgbilling-mysql-slave` | Slave-сервер MySQL для отчётов, read-only | `slave.mysql.bgbilling.local`
| `bgbilling-activemq-1`
`bgbilling-activemq-2`
`bgbilling-activemq-3` | [Кластер ActiveMQ](activemq/README.md) | `1.activemq.bgbilling.local`
`2.activemq.bgbilling.local`
`3.activemq.bgbilling.local`
| `bgbilling-graphite-statsd` | Сервер Graphite и StatsD | `graphite.bgbilling.local`, `statsd.bgbilling.local`
| `bgbilling-grafana` | Сервер Grafana | `grafana.bgbilling.local`
| `bgbilling-telegraf` | Сенсор Telegraf | `telegraf.bgbilling.local`
| `bgbilling-influxdb` | Сервер InfluxDB | `influxdb.bgbilling.local`
| `bgbilling-kapacitor` | Сервер Kapacitor | `kapacitor.bgbilling.local`
| `bgbilling-chronograf` | Сервер Chronograf | `chronograf.bgbilling.local`
| `bgbilling-logstash` | Сервер Logstash | `logstash.bgbilling.local`
| `bgbilling-elasticsearch` | Сервер Elasticsearch | `elasticsearch.bgbilling.local`
| `bgbilling-kibana` | Сервер Kibana | `kibana.bgbilling.local`
| `bgbilling-ofelia` | Планировщик заданий Ofelia | `ofelia.bgbilling.local`
| `bgbilling-redis` | Сервер Redis | `redis.bgbilling.local`
| `bgbilling-vault` | Сервер Vault | `vault.bgbilling.local`
| `bgbilling-portainer` | Сервер Portainer | `portainer.bgbilling.local`Все контейнеры могут работать на одном физическом хосте. При необходимости контейнеры можно расположить
на разных физических хостах в произвольных комбинациях.Для связи между собой контейнеры используют DNS-имена, указанные в столбце FQDN в таблице выше. Ваш DNS-сервер должен
правильно резолвить эти имена.* JVM
В качестве Java-машины для BGBilling используется [GraalVM](https://www.graalvm.org/). Это позволяет выполнять код
на JavaScript, Python 3, Ruby и R из BGBilling ([примеры](dyn/container/dyn/demo/polyglot)), и наоборот, использовать
[API BGBilling](https://bgbilling.ru/v7.1/javadoc/index.html) из кода на перечисленных языках ([примеры](dyn/container/polyglot/demo/)).
Кроме того, на этих языках можно программировать dynaction ([пример](dyn/container/dyn/demo/dynaction/Python.java)).* Скриптинг JVM
Для скриптинга Java-приложений на стороне BGBilling доступны следующие движки:
| Название | Язык
|:---------|:----
| BeanShell Engine | BeanShell 2.0b5
| Graal.js | ECMAScript ECMA - 262 Edition 9
| Groovy Scripting Engine | Groovy 2.4.11
| JEXL Engine | JEXL 2.0
| Oracle Nashorn | ECMAScript ECMA - 262 Edition 5.1
| TruffleRuby | ruby 2.4.4* База данных
Для MySQL реализована master-slave репликация. Для slave-серверов включен режим `super_read_only`.
* Мониторинг
* Сбор метрик -- [Telegraf](https://www.influxdata.com/time-series-platform/telegraf/), [Graphite](https://graphiteapp.org/), [StatsD](https://github.com/statsd/statsd)
* Хранилище метрик -- [InfluxDB](https://www.influxdata.com/products/influxdb-overview/), Graphite
* Сбор логов -- [Logstash](https://www.elastic.co/products/logstash)
* Хранилище логов -- [Elasticsearch](https://www.elastic.co/products/elasticsearch)
* Визуализация -- [Grafana](https://grafana.com/), [Chronograf](https://www.influxdata.com/time-series-platform/chronograf/), [Kibana](https://www.elastic.co/products/kibana)
* Выявление аномалий, алертинг -- [Kapacitor](https://www.influxdata.com/time-series-platform/kapacitor/), Grafana## Как это запустить?
```bash
git clone https://github.com/alexanderfefelov/docker-bgbilling.git
cd docker-bgbilling/step-by-step
# TO BE WRITTEN```
## Как это удалить?
```bash
utils/remove-all-containers-and-volumes.sh
utils/remove-all-images.sh
```