使用Nginx在Debian 10上安装和配置LibreNMS

前言

LibreNMS是基于PHP / MySQL / SNMP的自动发现网络监视器,它支持多种网络硬件和操作系统,包括Cisco,Linux,FreeBSD,Juniper,Brocade,Foundry和HP。要在Debian 10 Buster上安装LibreNMS,请按照以下步骤操作:

步骤1:安装所需的软件包

您需要安装LibreNMS所需的所有依赖项。

sudo apt install software-properties-common
sudo apt update && sudo apt -y upgrade
sudo apt install nginx
sudo apt install curl acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap python-memcache python-mysqldb rrdtool snmp snmpd whois

步骤2:安装PHP和所需的扩展

使用以下指南在服务器上安装PHP 7.3和PHP扩展。

如何在Debian 10 Buster上安装PHP / PHP

步骤3:将librenms用户添加到系统

在Debian 10终端上运行以下命令以添加librenms用户:

sudo useradd librenms -d /opt/librenms -M -r
sudo usermod -aG librenms www-data

步骤4:从git克隆LibreNMS

使用git将LibreNMS文件下载到服务器。

cd /opt
sudo git clone https://github.com/librenms/librenms.git

步骤5:在LibreNMS目录上设置所需的权限

LibreNMS用户需要对其访问的目录和文件具有特殊权限。执行以下命令进行设置

sudo chown -R librenms:librenms /opt/librenms
sudo chmod 770 /opt/librenms
sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
sudo setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

步骤6:安装PHP依赖项

运行以下命令以在Debian 10服务器上安装所有必需的PHP依赖项。这可能需要一些时间才能完成。

sudo su - librenms
./scripts/composer_wrapper.php install --no-dev
exit

您应该看到类似以下的输出

步骤7:数据库配置

MariaDB已在步骤1中安装。让我们为LibreNMS创建一个数据库。

登录数据库

sudo systemctl enable mysql
sudo systemctl restart mysql
sudo mysql -u root -p

创建数据库和librenms用户

 CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
 CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'SafePassWord'; ## Make it Strong
 GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
 FLUSH PRIVILEGES;
 exit

打开MariaDB文件并添加以下行 [mysqld] 部分

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

添加以下内容 [mysqld]

[mysql]
........
innodb_file_per_table=1
lower_case_table_names=0

重新启动MariaDB

sudo systemctl restart mysql

步骤8:配置PHP-FPM

确保在php.ini中将date.timezone设置为您的首选时区。

sudo vim /etc/php/7.3/fpm/php.ini

低于 [Date] 取消注释date.timezone行并添加时区。

  [Date]
 ; Defines the default timezone used by the date functions
 ; http://php.net/date.timezone
 date.timezone = Africa/Nairobi ## Place your time zone here
sudo vim /etc/php/7.3/cli/php.ini

如上所述, [Date] 取消注释date.timezone行并添加时区。

 [Date]
 ; Defines the default timezone used by the date functions
 ; http://php.net/date.timezone
 date.timezone = Africa/Nairobi   ## Place your time zone here 

重新启动PHP-FPM

sudo systemctl restart php7.3-fpm

步骤9:配置Nginx Web服务器

现在您已经选择了Nginx作为首选的Web服务器,是时候添加配置以开始为LibreNMS页面提供服务了。

删除新安装Nginx之后加载的默认页面

sudo rm /etc/nginx/sites-enabled/default

在conf.d目录下创建一个配置文件,并在其中添加以下内容

sudo vim /etc/nginx/conf.d/libreconfig.conf
server {
  listen      80;
  server_name example.com;         ## Input your Server name here.
  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/php7.3-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

重新启动Nginx

sudo systemctl restart nginx

步骤10:配置snmp守护程序(snmpd)

LibreNMS广泛使用SNMP从远程设备和服务器收集指标。将样本配置文件复制到/ etc

sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
sudo vim /etc/snmp/snmpd.conf

在以下行中:

com2sec readonly  default         RANDOMSTRINGGOESHERE
##Change to for example:
com2sec readonly  default         teststring

如上所述,将RANDOMSTRINGGOESHERE更改为您自己的社区字符串。

解压缩以下文件,使其可执行,然后重新启动snmp守护程序

该文件检测哪个操作系统,如果是Linux,则检测哪个Linux发行版

sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
sudo chmod +x /usr/bin/distro
sudo systemctl restart snmpd

步骤11:复制logrotate配置

LibreNMS将日志保存在/ opt / librenms /日志中。随着时间的流逝,它们可以生长和旋转。要删除旧日志,可以使用提供的logrotate配置文件。

sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

第12步:设置Cron作业

此Cron作业执行许多任务,例如检查更新和自动检测设备。

sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms

步骤13:LibreNMS Web安装程序

接下来,转到Web安装程序并按照屏幕上的说明进行操作。

http:// IP or FQDN /install.php

Web安装程序可能会在librenms的安装位置手动创建config.php文件,并要求您将屏幕上显示的内容复制到该文件中。如果您需要这样做,在将屏幕内容复制到文件后,不要忘记在config.php中设置权限。执行:

sudo chown librenms:librenms /opt/librenms/config.php

遵循安装过程。请参见下图以获取指导。

使用Nginx在Debian 10上安装和配置LibreNMS

输入数据库用户,数据库路径,数据库名称

使用Nginx在Debian 10上安装和配置LibreNMS

给时间导入数据库

使用Nginx在Debian 10上安装和配置LibreNMS

使用Nginx在Debian 10上安装和配置LibreNMS

添加一个用户,该用户以后将用于登录LibreNMS。

使用Nginx在Debian 10上安装和配置LibreNMS

生成配置

使用Nginx在Debian 10上安装和配置LibreNMS

生成配置后,运行以下命令

sudo chown librenms:librenms /opt/librenms/config.php

完成安装

使用Nginx在Debian 10上安装和配置LibreNMS

单击“验证安装和修复问题”链接以完成

使用Nginx在Debian 10上安装和配置LibreNMS

完成所有操作后,刷新浏览器,您将看到以下登录页面。

使用Nginx在Debian 10上安装和配置LibreNMS

结论

现在,您已经安装了LibreNMS监视工具,仍然需要做的事情。这包括添加设备,创建警报,创建阈值,性能调整等。我们希望您对本指南有所帮助。感谢您的光临。我建议阅读一些文章 LibreNMS文档 继续进行下一步。

另外,请享受以下指南。

如何在CentOS 8 / RHEL 8上安装LibreNMS

在Debian 10(Buster)上安装和配置Zabbix服务器4.4

使用Letsencrypt和Nginx在CentOS上安装LibreNMS监视工具

如何在Ubuntu 18.04和CentOS 7上安装和配置Zabbix Agent 4.0

在Ubuntu 18.04上安装Zabbix服务器

如何使用Nginx在Ubuntu 18.04 LTS上安装和配置LibreNMS

Sidebar