如何在Ubuntu 16.04 LTS上使用Nginx设置LibreNMS监控工具

如何在Ubuntu 16.04 LTS上使用Nginx设置LibreNMS监控工具

LibreNMS是一个基于PHP / MYSQL / SNMP的开源监控工具。 这是一个功能强大的网络监控系统,可以支持广泛的网络硬件和操作系统,包括FreeBSD,Cisco,Linux,HP等。

在本教程中,我将向您展示如何使用Nginx作为Web服务器,MariaDB作为数据库,Ubuntu 16.04服务器作为我们的主服务器来安装和配置开源监视工具“LibreNMS”。 我们将逐步指导您如何在Ubuntu 16.04 Xenial Xerus服务器上安装和配置'LibreNMS'。

我们将要做什么

  1. 安装软件包
  2. 安装Nginx Webserver
  3. 安装和配置PHP-FPM
  4. 安装和配置MariaDB
  5. 下载并配置LibreNMS
  6. LibreNMS Web安装程序
  7. 最终配置

先决条件

  • Ubuntu 16.04服务器
  • 根权限

第1步 - 安装软件包

安装LibreNMS Monitoring Tools必须做的第一步是安装服务器上需要的一些软件包。 连接到您的服务器并更新存储库。

ssh root@hakase-labs-server
sudo apt update

使用以下命令从Ubuntu资源库安装LibreNMS所需的所有软件包。

apt install fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd  rrdtool git snmp graphviz

安装完成后,进入下一步。

第2步 - 安装Nginx Web服务器

在本教程中,我们将在Nginx Web服务器下运行LibreNMS。 Nginx是Ubuntu存储库中的强大的Web服务器。

按以下方式使用apt中的apt命令安装nginx。

apt install nginx

完成后,启动服务并使其每次在系统启动时自动运行。

systemctl start nginx
systemctl enable nginx

Nginx Web服务器运行在默认端口80下。我们可以使用netstat命令检查端口,并使用curl命令检查Nginx获取HTTP状态代码,如下所示。

netstat -plntu | grep 80
curl -I localhost

Nginx的安装已经完成。

第3步 - 安装和配置PHP-FPM

LibreNMS是基于PHP的Web应用程序监视工具。 它支持新的PHP 7.0版本,我们将在本指南中使用它。

使用下面的apt命令安装PHP,PHP-FPM以及LibreNMS安装所需的所有扩展/模块。

apt install php7.0-cli php7.0-mysql php7.0-gd php7.0-snmp php-pear php7.0-curl php7.0-fpm php7.0-mcrypt php7.0-json php-net-ipv4 php-net-ipv6

接下来,我们需要添加一些配置到php.ini文件。 我们需要在php.ini文件中定义默认的时区,并确保时区与系统使用的当前时区匹配。

使用以下命令检查系统使用的当前时区。

timedatectl

你应该得到类似于以下的结果。

你可以看到服务器正在使用“ 欧洲/巴黎 ”时区。

现在转到PHP配置目录,编辑cli和fpm config的php.ini文件。

cd /etc/php/7.0/
vim fpm/php.ini
vim cli/php.ini

取消注释“ date.time ”行,并使用我们的系统时区“ 欧洲/巴黎 ”更改值。

date.time = Europe/Paris

取消注释下面的cgi配置,将值更改为0。

cgi.fix_pathinfo = 0

保存并退出。

所有配置完成。 现在启动该服务,并使用以下systemctl命令在启动时进行启动。

systemctl start php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM现在在ubuntu服务器上运行 - 它在sock文件下运行。 用netstat命令检查它。

netstat -pl | grep php

第4步 - 安装和配置MariaDB

在这一步中,我们将为LibreNMS数据库安装mariadb-server。 我们将为LibreNMS安装安装,配置和创建新的数据库和新用户。

使用下面的apt命令从ubuntu存储库安装mariadb-server。

apt install mariadb-server mariadb-client mariadb

完成后,启动该服务,并使其在系统引导时自动运行,您可以使用以下systemctl命令执行此操作。

systemctl start mysql
systemctl enable mysql

数据库服务器mariadb现在正在运行。 接下来,我们需要为mariadb配置root密码。 我们可以使用下面的'mysql_secure_installation'命令来配置root密码。

mysql_secure_installation

您将被问到新的root密码 - 输入您的密码,然后按“Enter”继续。

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

mariadb的根密码已被配置。

接下来,我们必须为LibreNMS创建一个新的数据库和用户。 我们将创建一个名为“librenms”的新数据库,一个名为“librenms”的新用户,密码为“hakase-labs123”。

使用以下命令登录到mariadb shell。

mysql -u root -p
Type the ROOT Password:

运行下面的mariadb查询来创建新的数据库和用户,并将数据库的所有权限授予新用户。

CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'hakase-labs123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
FLUSH PRIVILEGES;

LibreNMS的新数据库和用户已创建。

对于LibreNMS安装,我们需要在配置文件中添加一些配置。 转到“/ etc / mysql /”目录并编辑mariadb配置文件。

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

粘贴下面的“ [mysqld] ”部分下的配置。

innodb_file_per_table=1
sql-mode=""
lower_case_table_names=0

保存并退出。

现在通过重新启动服务来应用新的配置。

systemctl restart mysql

mariadb数据库配置已经完成。

第5步 - 下载和配置LibreNMS

在这一步中,我们将配置LibreNMS安装系统。

- 添加新用户和下载LibreNMS

创建一个名为“librenms”的新系统用户,将“/ opt / librenms”定义为用户的默认主目录,并将新的“librenms”用户分配给www-data组。

运行以下命令完成所有操作。

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data

现在进入'/ opt /'目录并使用git命令下载LibreNMS源代码。

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

接下来,为libreNMS日志文件和rrd文件创建一个新目录。

mkdir -p /opt/librenms/{logs,rrd}

将“rrd”目录的所有者权限更改为“775”,并将“librenms”目录的所有者更改为“librenms”用户和组。

chmod -R 775 /opt/librenms/rrd/
chown -R librenms:librenms /opt/librenms/

一个新的“librenms”已经创建,并且LibreNMS源代码已经被下载。

- 配置LibreNMS虚拟主机

转到'nginx'配置目录,用vim创建一个新的虚拟主机文件'librenms'

cd /etc/nginx/
vim sites-available/librenms

在那里粘贴以下的LibreNMS虚拟主机配置。

server {

    # Add your own domain name
    listen      80;
    server_name librenms.irsyadf.me;

    # LibreNMS Webroot directory
    root        /opt/librenms/html;
    index       index.php;

    # LibreNMS logs
    access_log  /opt/librenms/logs/access_log;
    error_log   /opt/librenms/logs/error_log;
   
    # Enabling Gzip compression on Nginx
    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;
    }

    # PHP-FPM handle all .php files requests
    location ~ \.php {
        include fastcgi.conf;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
 
    location ~ /\.ht {
        deny all;
    }
}

保存并退出。 现在,激活虚拟主机。

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

测试nginx配置并确保没有错误。 然后重新启动服务。

nginx -t
systemctl restart nginx

- 配置UFW防火墙

添加新的端口到防火墙。 将新的ssh,http,https和snmpd 161 udp类型使用的端口添加到ufw防火墙。

运行以下ufw命令。

ufw allow ssh
ufw allow http
ufw allow https
ufw allow 161/udp

使用ufw enable命令启动ufw防火墙,如下所示。

ufw enable

输入'y',然后按'Enter'确认。 启动并启用它在系统启动时每次启动。

如果您想查看防火墙状态,请运行“ufw status”命令。

ufw status

您将获得防火墙状态 - 活动或不活动 - 以及添加到防火墙的端口和服务列表。

第6步 - LibreNMS Web安装程序

完成上述所有步骤后,我们需要通过Web浏览器安装LibreNMS。 打开你的网络浏览器,在地址栏中输入LibreNMS域名“librenms.hakase-labs.co”,然后按Enter键。

- 检查PHP模块

您将被重定向到显示PHP模块支持检查结果的install.php页面。 确保所有状态都是绿色的,如下所示。

点击“ 下一阶段 ”继续。

- 数据库配置

用你自己的db填充所有的数据库信息。

  • 数据库用户:librenms
  • 数据库通行证:hakase-labs123
  • 数据库名称:librenms

然后点击“ 下一阶段 ”。

- 导入MySQL数据库

等待安装程序脚本将数据库的示例导入到我们的数据库中 - 在此过程中请勿关闭浏览器选项卡。

所有数据库导入后,点击“ 转到添加用户 ”。

- 添加管理员用户

在这里,键入您的管理员用户,电子邮件和密码。

点击“ 添加用户 ”。

- 生成LibreNMS配置

点击“ 生成配置 ”按钮。

你会得到一个类似于下面所示的配置文件。

复制php配置脚本,然后回到你的ssh会话。 转到'/ opt / librenms'目录并使用vim手动创建'config.php'文件。

cd /etc/librenms/
vim config.php

粘贴配置,并将文件的所有权更改为librenms用户和组。

chown librenms:librenms config.php

返回到您的网络浏览器并点击“ 完成安装 ”按钮。

现在你到达librenms web安装程序的最后一页 - 见下面。

第7步 - 最终配置

通过网页浏览器安装完成后,我们需要做其他一些步骤。

- 配置SNMP

备份默认配置文件并将示例配置复制到“/ etc / snmp /”目录。

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.aseli
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf

用vim编辑新的配置。

vim /etc/snmp/snmpd.conf

将“RANDOMSTRINGGOESHERE”行替换为您自己的社区名称“hakaselabs”,如下所示。

com2sec readonly  default         hakaselabs

保存并退出。

接下来,我们需要下载发行版检测脚本。 使用curl下载它,然后使脚本可执行,最后重新启动snmp服务。

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

- Crontab和Logrotate配置

转到librenms目录并复制Crontab和Logrotate的示例配置。

cd /opt/librenms/

复制配置。

cp librenms.nonroot.cron /etc/cron.d/librenms
cp misc/librenms.logrotate /etc/logrotate.d/librenms

现在重新启动cron服务并重新加载logrotate配置。

systemctl restart cron
logrotate -f /etc/logrotate.conf

- 验证配置

等待一段时间,直到cron脚本在系统上运行。 一旦完成,使用'validate.php'脚本进行验证。

转到librenms目录并运行验证脚本。

cd /opt/librenms/
./validate.php

如果你的安装是正确的,你将得到如下所示的结果。

在Ubuntu 16.04上使用Nginx Webserver进行LibreNMS安装已经完成。

参考

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏