Skip to end of metadata
Go to start of metadata

 

 

впиши в конф_преф:

legacy:///,yaml:///opt/noc/etc/settings.yml,env:///NOC

и в models/environment.py добавь

alerta_url = CharField(default="")

alerta_token = CharField(default="")

(после metrics_collector = CharField(default="")


/etc/selinux/config


cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/home:Alexx2000/CentOS_7/home:Alexx2000.repo
yum install doublecmd-gtk

service mongod restart

systemctl restart noc

subscription-manager repos —enable rhel-7-server-optional-rpms


Если у вас есть сервер под Linux Centos и вам необходимо установить рутовый сертификат, используйте:

yum install ca-certificates

Влючаем динамическое обновление сертификатов:

update-ca-trust enable

Далее копируем наш сертификат в доверенные сертификаты:

cp foo.crt /etc/pki/ca-trust/source/anchors/

И обновляем доверенные сертификаты:

update-ca-trust extract

Если у вас на сервере Linux Debian, создаем директорию:

dir /usr/local/share/ca-certificates/

Копируем сертификат:

sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

Обновляем его:

sudo update-ca-certificates

ребут и нжинкс в мониторинге позеленеет


Некоторое время назад в круг моих интересов вошли сетевые технологии в целом и централизованное управление сетевым оборудованием в частности. В подкасте LinkMeUp я услышал о проекте NOC Project, и очень им заинтересовался. На тот момент возможности "пощупать его" на реальной сети не оказалось. Недавно такая возможность появилась, но зайдя на сайт я увидел что там лежит инструкция к установке версии от мая 15-го года. Я немного огорчился, предположив что проект заглох. Но что есть, то есть, и я решил попробовать использовать эту версию. Установил на виртуалке с Debian 8.8. Импортировал туда железки и был приятно удивлен функционалом. Продолжив изучать сайт я наткнулся на несколько статей, намекающих на то что проект не брошен. Вчитавшись, я понял, что для продолжения разработки проекта разработчики изменили архитектуру и продолжают активно развивать проект. На данном (10-6-17) этапе проект представляет из себя систему развертывания NOC (она называется NOC Tower) и собственно сам NOC. И теперь чтобы получить текущую версию NOC, надо разобраться с установкой NOC Tower (системой развертывания) и с тем как собственно развернуть NOC используя NOC Tower. Для эксперимента я создал две виртуальные машины в VMWare Workstation. На одной я поднял NOC Tower, а на другой развернул сам NOC. В процессе эксперимента я часто обращался к разработчикам в их канал в Telegram, за подсказками и разъяснениями.

По адресу https://code.getnoc.com/noc/tower/ есть файл https://code.getnoc.com/noc/tower/blob/master/Readme.md в котором описан процесс установки NOC Tower.

По адресу https://code.getnoc.com/noc/tower/blob/master/FAQ_rus.md есть несколько подсказок

По адресу Install NOC Tower on Debian 8 тоже можно кое что почерпнуть

Для Debian 8.8 (netinst c GNOME3 и системными утилитами, ничего другого ставить не рекомендую, на этапе установки hostname(ом) указал NOC-Tower):

К этим командам добавить нечего кроме того что на пользователя tower пароль не ставим:

# apt-get install python-virtualenv libffi6 libffi-dev python-dev gcc libssl-dev

# groupadd tower

# useradd -d /home/tower -g tower -s /bin/bash -m tower

Если вы ставили Debian через netinst то dbus уже установился, но "чтоб точно":

# apt-get install dbus

 Следующие команды подготавливают площадку и ставят NOC Tower

# mkdir /opt/tower

# cd /opt/tower

 Важный аспект "точка не опечатка", она там должна быть:

 /opt/tower# virtualenv .

/opt/tower# ./bin/pip install --upgrade pip
/opt/tower# ./bin/pip install https://cdn.getnoc.com/tower/noc-tower-latest.zip или ./bin/pip install https://cdn.getnoc.com/tower/noc-tower-master.zip
/opt/tower# chown -R tower var/

Учесть --proxy http://user:password@proxyserver:port 

./bin/pip install  --proxy http://user:password@proxyserver:port --upgrade pip

./bin/pip install --proxy http://user:password@proxyserver:port https://cdn.getnoc.com/tower/noc-tower-latest.zip

На этапе генерации SSH ключей предлагается либо ввести парольную фразу, либо ее не вводить. Рекомендация: не вводить.

/opt/tower# su - tower -c "ssh-keygen -t rsa -b 4096"

Эта команда запускает собственно NOC Tower. Она не пишется в автозагрузку и в случае перезагрузки хоста NOC Tower надо будет запускать заново этой командой:

/opt/tower# su - tower -c "cd /opt/tower && ./bin/tower-web"

После запуска этой команды, можно открыть web-браузер и введя ip-адрес вашей виртуалки с указанием порта 8888 войти в web-интерфейс NOC-Tower (http://1.1.1.1:8888)

логин admin пароль admin

 

На виртуалке, предназначенной для развертывания NOC, создаем пользователя и пароль:

useradd -d /home/ansible -s /bin/bash -m ansible

passwd ansible

устанавливаем пакет sudo:

apt-get install sudo

настраиваем безпарольное использование sudo пользователем ansible:

gedit /etc/sudoers

В раздел # User privilege specification

добавляем строчку

ansible ALL=(ALL) NOPASSWD:ALL

 

Теперь чуть более сложный момент:

сгенерированные ранее ключи надо скопировать с NOC-Tower на NOC-Node

ip-адрес NOC-node 192.168.40.139

на NOC-Node ставим ssh

apt-get install ssh

Вводим команду из под пользователя tower так как именно из под него мы и делали ключи

(так как на tower мы пароль не ставили, то сначала команда su и пароль root(а) а потом команда su tower)

ssh-copy-id -i /home/tower/.ssh/id_rsa.pub ansible@192.168.40.139

Вот такой вывод должен появится

tower@NOC-Tower:/home/gav$ ssh-copy-id -i /home/tower/.ssh/id_rsa.pub ansible@192.168.40.139
The authenticity of host '192.168.40.139 (192.168.40.139)' can't be established.
ECDSA key fingerprint is a2:4a:c4:23:97:9c:7c:1e:28:a7:96:b3:7a:33:72:97.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
ansible@192.168.40.139's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'ansible@192.168.40.139'"
and check to make sure that only the key(s) you wanted were added.

tower@NOC-Tower:/home/gav$

Количество добавленных ключей

Теперь надо зайти на Node по SSH
из-под пользователя tower используя для подключеия логин ansible

root@noc-tower:~# su tower

tower@noc-tower:/root$ ssh ansible@192.168.40.139

Фичя в том что после этих манипуляций с виртуалки NOC-Tower на виртуалку NOC-Nod по SSH из под пользователя tower используя логин ansible можно подключатся не вводя пароля

далее проверяем применилась ли наша настройка безпарольного использования sudo на NOC-Nod из под пользователя ansible

ansible@noc-node1:~/$ sudo –s

ansible@noc-node1:~/$ python

первая команда должна примениться без ввода пароля

вторая проверяет запуск командной строки Python

ctrl-d выход их консоли python

Далее будет еще сложнее

разработчик NOC-tower рекомендует следующее:

лучше если там будет имя. совсем хорошо если имя будет регнуто в днсе компании. идеально если к этому имени будет сертификат. ну и божественно если к имени будет валидный https сертификат

так как мы используем виртуалки то для достижения нужного эффекта воспользуемся файлом hosts

gedit /etc/hosts

и добавим строчку связывающую ip и имя

192.168.40.139    NOC-Nod2

про развертывание чуть позже

 

 

 

 

 

 

  • No labels