# Running Swarm Clusters
1. непрерывная и автономная работа улья
2. Возможность мониторинга и аналитики.
# Требования к настройке системы
1. мануал тут: https://docs.ethswarm.org/docs/installation/configuration
2. настроить ulimits
3. logrotate. логфайлы очень быстро растут.
4. надо чистить `/hive` если осталось <30GB
Для этого
a. stop all bees
`systemctl stop bee-{000..$MAX_NODE_NR}`
b. находить самые жирных пчел и чистить их `localstore`.
```bash=
sudo du -a /hive/bee-*/localstore | sort -n -r | head -n $HOW_MANY | awk '{print $2}' | xargs rm -r
```
c. запускать их заново
```bash=
seq -f "%03g" 0 $MAX_NODE_NR | xargs -I{} sh -c "systemctl start bee-{} && echo bee-{} started && sleep 0.2"
```
3. надо restart всех bee, если память загружена >85%
(в улье возможна утечка памяти)
```bash=
systemctl stop bee-{000..$MAX_NODE_NR}
seq -f "%03g" 0 $MAX_NODE_NR | xargs -I{} sh -c "systemctl start bee-{} && echo bee-{} started && sleep 0.2"
4. когда система загружена, после ввода пароля в нее не залогиниться по ssh2. Очень долго ждать после ввода пароля.
```
# Требования к мониторингу Ульев
1. Все параметры мониторинга должен быть доступен как моментальный (dashboard) так и в истории.
2. К мониторингу надо подключить несколько нод (с запасом - до 10).
3. Мониторинг работает на отдельном сервере.
4. Параметры мониторинга:
a. Resource Usage: CPU / RAM / SSD / Network / Temperature.
b. Доступность в сети - Uptime / Downtime
с. Возможность оставить комментарий к машине.
d. Cahsout of last 6 hours (rolling sum).
e. Number of connected peers by running node.
3. ALERTS:
a. Node can't start / restart.
b. Not enough ETH/ BZZ gas.
Примеры логов
1. [лог на cashout - тут](https://swarm-gateways.net/bzz:/acab08059477d9b4a6a6e900ef93f09de728ecf26dfda5a18d6fe8373a833233/cashout-example.log)
2. [лог на uncashed - тут](https://swarm-gateways.net/bzz:/23c992bf50bc351f1fe9e9d16a13bb2a65e40215d85311d5936ada61f2036855/uncashed-example.log)
3. [ bee syslog - тут](https://swarm-gateways.net/bzz:/e080e0a82c164c38cd8b438520ca2f3326fe9a25596bf074eab7e3b86e65aa39/bee-syslog-example.log)
Генерация логов (1 и 2) должна запускаться отдельными chronjobs
* cashout all nodes
`seq -f "%03g" 1 300| xargs -I{} sh -c "DEBUG_API=http://localhost:15{} /home/bee/cashout.sh cashout-all`
* list uncashed nodes
`seq -f "%03g" 1 300| xargs -I{} sh -c "DEBUG_API=http://localhost:15{} /home/bee/cashout.sh list-uncashed`