分享最新优惠信息
购买主机更加划算

Debian 11/10系统安装LibreNMS监控工具

LibreNMS是一款开源且功能齐全的网络监控工具,可以为网络设备提供广泛的监控特性和功能,其主要特点包括以下几点:

  • 使用 ARP、SNMP、BGP、OSPF、LLDP 和 FDP 协议自动发现整个网络。
  • 一个高度可定制的警报系统,可以调整以通过电子邮件、Slack和其它渠道发送警报。
  • 一个简单且易于定制的仪表板。
  • 全面的API支持,用于管理和绘制来自监控服务器的数据。
  • 广泛的设备支持—支持广泛的硬件供应商,例如Cisco、Juniper、HP等。
  • 自动更新和错误修复。
  • 多因素身份验证。
  • 对Android和iOS应用程序的原生支持。

当然,在本指南当中,小编将简单介绍Debian 11/10系统上安装LibreNMS监控工具的简单过程,感兴趣的小伙伴可以看看。

第 1 步:安装 Nginx、MariaDB和PHP

首先,刷新存储库并安装必备软件包,命令如下:

$ sudo apt update
$ sudo apt install software-properties-common wget apt-transport-https

下一步是安装Nginx和其他软件包,例如libreNMS监控工具所需的curl、git、snmp和python软件包。

所以,运行以下命令:

$ sudo apt install nginx-full curl acl fping graphviz composer git imagemagick mtr-tiny nmap python3-pip python3-memcache python3-mysqldb python3-dotenv python3-pymysql rrdtool snmp snmpd whois python3-redis python3-systemd python3-setuptools python3-systemd

接下来,安装LibreNMS监控工具所需的MariaDB数据库服务器、PHP和其它PHP扩展。

$ sudo apt install mariadb-server php php-fpm php-cli php-xml php-common php-gd php-json php-snmp php-pdo php-mysql php-zip php-curl php-mbstring php-pear php-bcmath

安装后,请务必启用Nginx、php-fpm、MariaDB和SNMP服务,命令如下:

$ sudo systemctl enable --now nginx
$ sudo systemctl enable --now php7.4-fpm
$ sudo systemctl enable --now mariadb
$ sudo systemctl enable --now snmpd.service

第 2 步:为PHP配置TimeZone

下一步需要配置或设置PHP时区,这是在默认的PHP配置文件php.ini文件中完成的。

使用你喜欢的编辑器访问以下路径中的php.ini配置文件。

$ sudo nano /etc/php/7.4/fpm/php.ini
$ sudo nano /etc/php/7.4/cli/php.ini

导航到date.timezone参数并将其设置为你的时区。

在本文中,小编将时区设置为UTC。

date.timezone = UTC

然后保存更改并退出文件。

第 3 步:为LibreNMS创建数据库

在这一步中,将为LibreNMS安装创建一个数据库。首先,需要通过运行以下脚本来保护数据库的安全:

$ sudo mysql_secure_installation

按照详细的提示,将指导你如何创建MariaDB根密码、删除匿名用户和测试数据库,最后禁止远程根登录。这些在之前的文章重复说了很多遍了,这里就不演示了。

接下来,登录MariaDB数据库:

$ sudo mysql -u root -p

然后运行以下命令创建数据库和数据库用户,并将所有权限分配给数据库用户。

CREATE DATABASE librenms_db CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms_user'@'localhost' IDENTIFIED BY 'P@ssword321'; 
GRANT ALL PRIVILEGES ON librenms_db.* TO 'librenms_user'@'localhost';

然后保存更改并退出MariaDB提示符。

FLUSH PRIVILEGES;
EXIT;

创建LibreNMS数据库

此外,需要进行一些数据库微调,打开如下所示的MariaDB配置文件:

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

然后将以下代码行粘贴到“ mysqld ”部分。

innodb_file_per_table=1
lower_case_table_names=0

保存更改并退出文件,要应用更改,请重新启动数据库服务器。

$ sudo systemctl restart mariadb

第 4 步:添加LibreNMS用户

这里还需要创建一个新的LibreNMS用户,这是LibreNMS将在其下运行的用户。在此示例中,正在创建一个名为librenms的用户,该用户具有以下属性。

$ sudo useradd librenms -d /opt/librenms -M -r -s /bin/bash
$ sudo usermod -aG librenms www-data
  • -d选项将librenms用户的主目录设置为/opt/librenms目录。
  • -r选项将librenms用户配置为系统用户。
  • -M选项跳过为用户创建主目录,因为它已使用该-d选项定义。
  • -s选项指定shell的类型,在本例中为bash。

第 5 步:克隆LibreNMS Git存储库

接下来要克隆LibreNMS git 存储库以开始设置它。

运行以下命令来克隆Git存储库

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

然后切换回主目录。

$ cd  ~

然后需要将目录所有权和权限分配给Librenms主目录。为此,请运行以下命令:

$ sudo chown -R librenms:librenms /opt/librenms
$ sudo chmod 771 /opt/librenms

此外,使用setfacl命令修改Librenms主目录的访问控制列表。这将授予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依赖项

在设置LibreNMS监控工具期间,PHP需要一些依赖项。为此,需要以librenmsuser身份登录。

$ sudo su - librenms

接下来,安装所有PHP依赖项,命令如下:

$ ./scripts/composer_wrapper.php install --no-dev

安装librenms依赖项

依赖项安装完成后,退出librenms用户。

$ exit

第 7 步:为LibreNMS安装配置PHP-FPM

接下来需要对PHP-FPM进行一些更改以支持LibreNMS。

要实现这一点,需要将默认配置文件“ www.conf ”文件复制到“ librenms.conf ”文件中,命令如下:

$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/librenms.conf

接下来,编辑“ librenms.conf ”文件,命令如下:

$ sudo nano /etc/php/7.4/fpm/pool.d/librenms.conf

将用户和组参数更改为librenms,命令如下:

user = librenms
group = librenms

接下来,将listen属性修改为/run/php-fpm-librenms.sock,如下命令:

listen = /run/php-fpm-librenms.sock

保存更改并退出配置,请务必重新启动PHP-FPM服务以应用更改。

$ sudo systemctl restart php7.4-fpm

步骤 8:配置SNMP守护程序

SNMP协议是一种TCP/IP 协议,它通过网络收集和组织来自受管设备的指标或信息。大多数监控工具(如Cacti)利用SNMP服务从远程主机收集信息,对于LibreNMS也是如此。

要配置SNMP服务,请继续将snmpd.conf.example文件复制到/etc/snmp/snmpd.conf文件。

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

接下来,编辑snmpd.conf文件。

$ sudo vim /etc/snmp/snmpd.conf

找到RANDOMSTRINGGOESHERE字符串,如下:

com2sec readonly  default         RANDOMSTRINGGOESHERE

将其更改为librenms。

com2sec readonly  default	  librenms

保存更改并退出。

接下来,下载distro文件,这是一个自动检测被管节点的操作系统并区分其分布的文件。

$ sudo curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro

使其可执行并重新启动SNMP服务。

$ sudo chmod +x /usr/bin/distro
$ sudo systemctl restart snmpd

第 9 步:为LibreNMS配置Nginx

使用Nginx作为首选的Web服务器,需要执行额外的步骤并对其进行配置,以便为LibreNMS提供服务。

首先,将创建一个Nginx服务器块,命令如下:

$ sudo nano /etc/nginx/sites-available/librenms

粘贴以下代码行。注意,对于server_name属性,填写你服务器绑定的域名或IP地址。

server {
  listen      80;
  server_name 23.92.31.14;        
  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/php-fpm.sock;
  }
  location ~ /.ht {
   deny all;
  }
 }

保存更改并退出配置文件。接下来,通过创建符号链接启用Nginx服务器块,命令如下:

$ sudo ln -s /etc/nginx/sites-available/librenms /etc/nginx/sites-enabled/

然后重新启动 Nginx 以应用对配置所做的更改。

$ sudo systemctl restart nginx

此外,可以通过运行以下命令确认所有Nginx设置都正常:

$ sudo nginx -t

第 10 步:复制Logrotate和Cron配置

默认情况下,LibreNMS将其日志存储在/opt/librenms/logs目录中。随着时间的推移,这很容易占满并出现空间不足。为防止这种情况,建议定期替换旧日志文件。

因此将LibreNMS目录中的logrotate文件复制到/etc/logrotate.d/目录中。

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

同样需要设置的是,按如下方式复制cron作业文件以允许自动轮询和发现新设备:

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

第 11 步:从浏览器完成LibreNMS的设置

要从浏览器完成设置,请访问以下URL:

http://server-ip    #替换成你的服务器IP地址

这时会出现安装前检查表的页面,如果一切正常,请单击右侧的“数据库”图标。

LibreNMS预安装检查

请务必填写所有数据库详细信息,然后单击“Check Credentials”按钮,如下图所示:

LibreNMS数据库设置

验证数据库详细信息后,单击“Build Database”按钮:

LibreNMS构建数据库

完成此步骤后,单击下一个图标以创建管理员用户。提供管理员用户的用户名、密码和电子邮件,然后单击“Add User”按钮:

Failed to write file: /opt/librenms/.env

最后,点击最后一个按钮完成安装即可:

LibreNMS安装

注意,在安装时可能遇到此错误,通知安装程序“Failed to write file: /opt/librenms/.env ”。

这个不用担心,只需使用提供的数据库详细信息,然后手动更新/opt/librenms/.env文件。当然这些细节会因你自身情况而异。

因此,访问该文件,命令如下:

$ sudo nano /opt/librenms/.env

删除文件中的所有内容并将上图提供的详细信息(红框中)粘贴到该文件中,然后保存更改即可:

接下来返回并单击“Retry”按钮,这样就会进入LibreNMS登录页面,提供登录凭据并单击“Login”按钮即可:

LibreNMS登录

登录后,将会看到这样的仪表板,在这里可以开始添加主机并监控各种指标,功能很强大:

LibreNMS仪表板

总结

以上就是在Debian 11/10系统中安装LibreNMS监控工具的全部过程,设置仅供参考。

众所周知,LibreNMS是一款比较不错的服务器监控工具,比肩Zabbix。所以,如果想体验LibreNMS监控工具的强大功能,那就赶快去安装吧!

未经允许不得转载:惠主机 » Debian 11/10系统安装LibreNMS监控工具

相关文章