# 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`