Предуслови
Инсталирајте Нгинк и ПХП
Инсталирајте МариаДБ
Инсталирајте ЛибреНМС
ССЛ и Нгинк ВХост конфигурације
Инсталација помоћу ВебУИ
ЛибреНМС је потпуно функционалан систем за праћење мреже отвореног кода. Користи се SNMPза добијање података са различитих уређаја. Различити уређаји су подржани у ЛибреНМС-у као што су Цисцо, Линук, ФрееБСД, Јунипер, Броцаде, Фоундри, ХП и многи други. Подржава вишеструке механизме аутентификације и подржава двофакторску аутентификацију. Има прилагодљив систем упозорења који може упозорити мрежног администратора путем е-поште, ИРЦ-а или слацк-а.
Предуслови
За овај водич користићемо nms.example.comкао име домена усмерено на Вултр инстанцу. Обавезно замените сва појављивања примера имена домена стварним.
Ажурирајте свој основни систем помоћу водича Како да ажурирате ЦентОС 7 . Када се ваш систем ажурира, наставите са инсталирањем зависности.
Инсталирајте Нгинк и ПХП
Предњи крај ЛибреНМС-а је у основи написан у ПХП-у, тако да ћемо морати да инсталирамо веб сервер и ПХП. У овом водичу ћемо инсталирати Нгинк заједно са ПХП 7.2 да бисмо постигли максималну сигурност и перформансе.
Инсталирајте Нгинк.
sudo yum -y install nginx
Покрените Нгинк и омогућите му да се аутоматски покреће при покретању.
sudo systemctl start nginx
sudo systemctl enable nginx
Додајте и омогућите Реми спремиште, пошто подразумевано ИУМ спремиште садржи старију верзију ПХП-а.
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php72
Инсталирајте ПХП верзију 7.2 заједно са модулима које захтева ЛибреНМС.
sudo yum -y install php php-cli php-common php-curl php-fpm php-gd php-mcrypt php-mysql php-process php-snmp php-xml php-zip
Отворите учитану конфигурациону датотеку помоћу ПХП-а у уређивачу.
sudo nano /etc/php.ini
Пронађите следеће редове, уклоните коментаре и промените њихову вредност као што је приказано.
;cgi.fix_pathinfo=1
memory_limit = 128M
;date.timezone =
Уместо тога користите ове вредности, замените их Asia/Kolkataлокалном временском зоном.
cgi.fix_pathinfo=0
memory_limit = -1
date.timezone = Asia/Kolkata
Такође ћете морати да промените временску зону система покретањем следеће команде.
sudo ln -sf /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
Сада отворите ПХП-ФПМ конфигурациону датотеку.
sudo nano /etc/php-fpm.d/www.conf
Пронађите следећи ред.
listen = 127.0.0.1:9000
Замените га следећим редом.
listen = /var/run/php-fpm/php-fpm.sock
Подразумевано, ПХП-ФПМ је конфигурисан за корисника Апацхе веб сервера. Промените корисника у nginx.
user = nginx
group = nginx
Даље, декоментирајте следеће редове.
listen.owner = nobody
listen.group = nobody
Сачувајте датотеку и изађите из уређивача. Поново покрените ПХП-ФПМ и омогућите му да се покрене при покретању.
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
Подесите одговарајуће власништво на датотеку соцкета.
sudo chown nginx:nginx /var/run/php-fpm/php-fpm.sock
Инсталирајте МариаДБ
МариаДБ је форк МиСКЛ-а. Додајте МариаДБ спремиште у свој систем. Подразумевано yumспремиште садржи старију верзију МариаДБ-а.
echo "[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1" | sudo tee /etc/yum.repos.d/mariadb.repo
Инсталирајте МариаДБ.
sudo yum -y install mariadb mariadb-server
Сада отворите МиСКЛ конфигурациону датотеку.
sudo nano /etc/my.cnf
Додајте следеће редове на крај блока.
[mysqld]
innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0
Поново покрените МариаДБ и омогућите му да се аутоматски покреће при покретању.
sudo systemctl restart mariadb
sudo systemctl enable mariadb
Пре конфигурисања базе података, мораћете прво да обезбедите МариаДБ.
sudo mysql_secure_installation
Биће вам затражена тренутна МариаДБ роот лозинка. Подразумевано, не постоји роот лозинка у новој инсталацији МариаДБ-а. Притисните Enterтастер " " да наставите. Поставите јаку лозинку за rootкорисника вашег МариаДБ сервера и одговорите „ Y“ на сва друга питања која се постављају. Постављена питања су сама по себи разумљива.
Пријавите се у МиСКЛ љуску као роот.
mysql -u root -p
Наведите лозинку за МариаДБ роот корисника за пријаву.
Покрените следеће упите да бисте креирали базу података и корисника базе података за инсталацију ЛибреНМС-а.
CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Име базе података librenmsи корисничко име можете заменити librenmsпо свом избору. Обавезно промените StrongPasswordна веома јаку лозинку.
Инсталирајте ЛибреНМС
Осим горе наведених зависности, ЛибреНМС-у је потребно још неколико зависности. Инсталирајте их покретањем.
sudo yum -y install cronie fping git ImageMagick jwhois mtr MySQL-python net-snmp net-snmp-utils nmap python-memcached rrdtool
Додајте новог непривилегованог корисника за ЛибреНМС апликацију.
sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -a -G librenms nginx
ЛибреНМС се може инсталирати директно клонирањем његовог Гитхуб репозиторија.
cd /opt
sudo git clone https://github.com/librenms/librenms.git librenms
Поправите власништво.
sudo chown librenms:librenms -R /opt/librenms
ЛибреНМС се ослања на СНМП за многе задатке. Пошто смо већ инсталирали СНМП, копирајте пример конфигурационе датотеке на његову локацију.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
Отворите конфигурациону датотеку у уређивачу.
sudo nano /etc/snmp/snmpd.conf
Пронађите ову линију.
com2sec readonly default RANDOMSTRINGGOESHERE
Уредите текст RANDOMSTRINGGOESHEREи замените стринг заједнице било којим низом по вашем избору. На пример.
com2sec readonly default my-org
Запамтите стринг јер ће бити потребан касније када додамо први СНМП уређај.
СНМП-у су такође потребне информације о верзији дистрибуције. Преузмите и инсталирајте скрипту да бисте пронашли верзију за дистрибуцију.
sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
Покрените СНМП демон сервис и омогућите му да се аутоматски покреће при покретању.
sudo systemctl enable snmpd
sudo systemctl restart snmpd
Сада ћете морати да додате неке цронтаб уносе да бисте покренули заказане задатке. Креирајте нову црон датотеку посла.
sudo nano /etc/cron.d/librenms
Попуните датотеку следећим текстом.
33 */6 * * * librenms /opt/librenms/cronic /opt/librenms/discovery-wrapper.py 1
*/5 * * * * librenms /opt/librenms/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/cronic /opt/librenms/poller-wrapper.py 16
15 0 * * * librenms /opt/librenms/daily.sh >> /dev/null 2>&1
* * * * * librenms /opt/librenms/alerts.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/poll-billing.php >> /dev/null 2>&1
01 * * * * librenms /opt/librenms/billing-calculate.php >> /dev/null 2>&1
*/5 * * * * librenms /opt/librenms/check-services.php >> /dev/null 2>&1
Поново покрените црон даемон услугу.
sudo systemctl restart crond
Подесите logrotateтако да се датотеке евиденције аутоматски освежавају током времена.
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
На крају, подесите одговарајуће власништво и дозволе.
sudo chown -R librenms:nginx /opt/librenms
sudo chmod g+w -R /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs
ССЛ и Нгинк ВХост конфигурације
Пријаве и друге информације које се шаљу преко веб интерфејса ЛибреНМС-а нису заштићене ако веза није шифрована помоћу ССЛ-а. Конфигурисаћемо Нгинк да користи ССЛ генерисан са Лет'с Енцрипт бесплатним ССЛ-ом.
Инсталирајте Цертбот, који је клијентска апликација за Лет'с Енцрипт ЦА.
sudo yum -y install certbot
Пре него што будете могли да затражите сертификате, мораћете да дозволите порт 80и 443, или стандард HTTPи HTTPSуслуге преко заштитног зида.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Напомена : Да бисте добили сертификате од Лет'с Енцрипт ЦА, домен за који ће се сертификати генерисати мора бити усмерен ка серверу. Ако није, извршите неопходне промене у ДНС записима домена и сачекајте да се ДНС пропагира пре него што поново поднесете захтев за сертификат. Цертбот проверава ауторитет домена пре пружања сертификата.
Генеришите ССЛ сертификате:
sudo certbot certonly --webroot -w /usr/share/nginx/html -d nms.example.com
Генерисани сертификати ће вероватно бити ускладиштени у /etc/letsencrypt/live/nms.example.com/директоријуму. ССЛ сертификат ће бити сачуван као, fullchain.pemа приватни кључ ће бити сачуван као privkey.pem.
Лет'с Енцрипт сертификати истичу за 90 дана, стога се препоручује да подесите аутоматско обнављање за сертификате користећи црон посао.
Отворите црон датотеку посла.
sudo crontab -e
Додајте следећи ред на крај датотеке.
30 5 * * 1 /usr/bin/certbot renew --quiet
Горе наведени црон посао ће се изводити сваког понедељка у 5:30 по локалном времену. Ако сертификат истекне, аутоматски ће се обновити.
Креирајте нови виртуелни хост.
sudo nano /etc/nginx/conf.d/nms.example.com.conf
Попуните датотеку.
server {
listen 80;
server_name nms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name nms.example.com;
ssl_certificate /etc/letsencrypt/live/nms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /opt/librenms/logs/librenms.nginx.access.log;
root /opt/librenms/html;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /api/v0 {
try_files $uri $uri/ /api_v0.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Замените nms.example.comсвојим стварним доменом у горњој конфигурацији.
Поново покрените Нгинк.
sudo chown nginx:nginx /var/lib/php/session
sudo systemctl restart nginx
Инсталација помоћу ВебУИ
Да бисте завршили инсталацију, отворите https://nms.example.comу свом омиљеном претраживачу. Видећете да су захтеви испуњени. Наведите детаље своје базе података и креирајте нови административни налог. Након инсталације, добићете поруку да потврдите инсталацију. Кликните на везу и пријавите се користећи администраторски налог. Видећете да све осим " Poller" има статус " Ok".

Сада кликните на везу да додате уређај. На Add Deviceинтерфејсу " " наведите име хоста као локалног хоста и оставите све како јесте. Наведите свој низ заједнице у пољу заједнице. То мора бити потпуно исти стринг који сте унели snmpd.confтоком конфигурисања СНМП-а.
![Пратите своје уређаје користећи ЛибреНМС на ЦентОС 7 Пратите своје уређаје користећи ЛибреНМС на ЦентОС 7]()
Када је уређај додат, можете видети детаље тако што ћете отићи на картицу " Devices".
![Пратите своје уређаје користећи ЛибреНМС на ЦентОС 7 Пратите своје уређаје користећи ЛибреНМС на ЦентОС 7]()
Слично, можете додати више уређаја у ЛибреНМС апликацију за „даноноћно“ праћење.