Child pages
  • Установка NOC Tower на FreeBSD

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning

Если установка ведётся на версию FreeBSD Release, необходимо заменить в в /etc/pkg/FreeBSD.conf url c "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly" на "pkg+http://pkg.FreeBSD.org/${ABI}/latest", иначе будет недоступен Telegraf и Nginx 1.10, что приведёт к ошибкам во время установки.

 


Sudo

Используется ansible для развёртывания окружения NOC

...

Warning

Если на целевой системе не установить sudo, то при попытке сделать Deploy Нока выведется ошибка:
FAILED! => {"changed": false, "failed": true, "module_stderr": "sudo: not found\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}

...


Python

Python 2.7

необходим для работоспособности NOC'a и Ansible

...

Warning

Если на целевой системе не будет установлен Python, то при попытке произвести деплой (Deploy) NOC'a из башни выведется ошибка вида:

"stderr": "Traceback (most recent call last):\n File \"/opt/noc/scripts/deploy/install-packages\"

...


Остальные необходимые приложения будут установлены Ansible при развёртывания НОКа.

...

Warning

На данном этапе (в версии FreeBSD 10.3) поддержка docker находится в эксперементальном режиме. Поэтому рекомендуется установка напрямую на хост.

...


Устанавливаем и запускаем docker

...

Code Block
languagebash
# docker run -t registry.gitlab.com/nocproject/tower

...


Установка напрямую на хост

...

Code Block
languagebash
titleСкрипт для автоматического развёртывания Tower
collapsetrue
#!/bin/sh

info ( ) {
    printf "\033[1;32m$1\033[0m\n" 1>&2
}
OSNAME=`uname -s`
rc_arg=$1
if [ -z $rc_arg ]; then
    towerdir="tower"
else
    towerdir="$rc_arg"
fi
info "Installing packages..."
if [ $OSNAME = "FreeBSD" ]; then
    PREFIX="/usr/local"
    pkg install -y python2 libffi py27-setuptools27 py27-pip py27-virtualenv ca_root_nss py27-sqlite3
    rehash

    if [ ! -d "/home/tower" ]; then
        info "Creating user..."
        pw groupadd -n tower
        pw useradd -g tower -s /bin/csh -d /home/tower -n tower -m
    fi
else
    PREFIX="/opt"
    apt-get install python-virtualenv libffi6 libffi-dev python-dev gcc libssl-dev
    if [ ! -d "/home/tower" ]; then
        info "Creating user..."
        groupadd tower
        useradd -d /home/tower -g tower -s /bin/bash -m tower
    fi
fi
if [ ! -f "/home/tower/.ssh/id_rsa.pub" ]; then
    info "Generating SSH key..."
    su - tower -c "ssh-keygen -t rsa -b 4096" && exit
fi

if [ ! -d $PREFIX/$towerdir ]; then
    mkdir $PREFIX/$towerdir
else
    rm -rf $PREFIX/$towerdir/*
fi
cd $PREFIX/$towerdir
info "Installing virtual enviropment..."
virtualenv .
info "Installing tower..."
./bin/pip install --upgrade pip
./bin/pip install https://cdn.getnoc.com/tower/noc-tower-latest.zip
chown -R tower var/
info "Running tower..."
su - tower -c "cd $PREFIX/$towerdir && ./bin/tower-web"

 


Инструкция по ручной установке noc-tower: https://bitbucket.org/nocproject/noc-tower/overview

...

Warning

Если не нажать Save на странице Settings, то при развёртывание вы получите ошибку на этапе "TASK [node : Pull NOC] "

 


Проверки

После выполнения всех настроек имеет смысл посмотреть, а нормально ли отработает Ansible. Для этого, на хосте, на котором работает башня необходимо:

...

Code Block
languagejs
noc-main01 | SUCCESS => {
    "changed": false,
    "invocation": {
        "module_args": {
            "data": null
        },
        "module_name": "ping"
    },
    "ping": "pong"
}

...


Развёртывание (Deploy) NOC'a

После того как все настройки сделаны и выполнены проверки.Необходимо выбрать опцию установки - выпадающий список "Deploy Options", справа от Deploy. Для первого раза необходимо отметить опцию "Install Everything".   Теперь можно запустить деплой. Для этого переходим в пункт меню "Environments", выбираем созданное нами окружение и нажимаем клавишу "Deploy".

...

В списке опций развёртывания - "Deploy Options" (список справа от Deploy) не выбрана опция "Install Everything".