Ubuntu 20.04/18.04使用nginx安装和配置Librenms
Librenms是一种基于社区的GPL-许可自动发现网络监控工具,基于PHP,MySQL和SNMP。
Librenms包括支持各种网络硬件和操作系统,包括瞻博网络,思科,Linux,铸造,FreeBSD,Brocade,HP,Windows等。
它是"舞台"监测工具的叉子。
在本教程中,我们将介绍Ubuntu 20.04/18.04 LTS服务器的Librenms的安装和配置,代码为仿生海狸。
我们在 Cacti ,Zabbix,Grafana,Prometheus和 Influx 的其他监控教程。
LibreNMS的特点
以下是Librenms网络监控工具的特点
具有自动发现 - 它将使用CDP,FDP,LLDP,OSPF,BGP,SNMP和ARPAPI访问自动发现整个网络 - Librenms提供全部API来管理,图形和从安装中检索数据通过新功能和错误修复自动留下来.Customisable警报 - 高度灵活的警报系统,通过电子邮件,IRC,Slack等通知通过水平缩放的分布式轮询,并通过NetworkBilling系统增长 - 轻松生成带宽账单基于使用或者托管的网络上的端口烟熏,腐臭,氧化
在Ubuntu 20.04/18.04上安装和配置Librenms - 准备工作
以下是在Ubuntudatabase服务器上运行Librenms的要求 - 我们将使用MariadbphpWeb服务器 - 我们将使用nginx
第1步:安装LEMP堆栈(MariaDB,Nginx和PHP)
按照下面的教程在Ubuntu上安装MariaDB:
在Ubuntu 18.04和Centos 7上安装MariaDB 10.3
现在,Librenms与MySQL严格模式完全兼容,请在安装MySQL后禁用此功能。
sudo vim /etc/mysql/mariadb.cnf
在这内 [mysqld]
请补充:
innodb_file_per_table=1 sql-mode="" lower_case_table_names=0
然后重启 mysql
sudo systemctl restart mysql
已安装和配置数据库服务器后,我们需要创建一个 database
对于自卑。
create database librenms; grant all privileges on librenms.* to Hyman@theitroad IDENTIFIED by "StrongPassword"; flush privileges; quit
通过在终端上运行下面的命令来安装PHP:
sudo apt-get -y install wget php php-pear php-cgi php-common php-curl \ php-mbstring php-gd php-mysql php-gettext php-bcmath \ php-imap php-json php-xml php-snmp php-fpm php-zip
要确认已安装的PHP版本,请使用命令 php -v
# php -v PHP 7.2.8 (cli) (built: May 17 2016 09:50:46) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies
配置和启动PHP-FPM
确保DateZone在PHP.ini中设置为首选时区:
编辑两个文件:
sudo vim /etc/php/7.2/fpm/php.ini sudo vim /etc/php/7.2/cli/php.ini
改变 date.timezone
在下面 [Date]
部分:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Africa/Nairobi
重新启动PHP FPM:
sudo systemctl restart php7.2-fpm.service
对于此设置,我们将使用nginx作为Librenms的Web服务器,通过运行安装它:
$sudo apt-get install nginx
第2步:下载并安装Librenms
我们将在此步骤下载并安装Librenms。
如果我们没有git,请首先安装它:
$sudo apt-get install git
自由将在自己的用户下运行,称为Librenms,我们需要添加:
$sudo useradd -r -M -d /opt/librenms librenms $getent passwd librenms librenms:x:997:996::/opt/librenms:/bin/sh
将此用户添加到Web用户组 www-data
sudo usermod -a -G librenms www-data
完成后。
继续安装Librenms所需的包
sudo apt-get update sudo apt install rrdtool whois fping imagemagick graphviz mtr-tiny \ nmap python-mysqldb snmp snmpd python-memcache mtr-tiny acl
来自GitHub的克隆自由源代码:
$git clone https://github.com/librenms/librenms.git librenms Cloning into 'librenms'... remote: Counting objects: 130428, done. remote: Compressing objects: 100% (27/27), done. remote: Total 130428 (delta 10), reused 10 (delta 4), pack-reused 130396 Receiving objects: 100% (130428/130428), 128.54 MiB | 19.52 MiB/s, done. Resolving deltas: 100% (88754/88754), done. Checking out files: 100% (8476/8476), done.
移动文件夹 librenms
到 /opt
sudo mv librenms//opt/
更改目录的权限:
sudo chown -R librenms:librenms /opt/librenms/ sudo chmod -R 775 /opt/librenms/
配置SNMPD.
sudo cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf sudo vim /etc/snmp/snmpd.conf
编辑说的文字 RANDOMSTRINGGOESHERE
并设置自己的社区字符串。
curl -o distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro chmod +x distro sudo mv distro /usr/bin/distro
重新开始 snmpd
sudo systemctl restart snmpd
创造librenms cron工作
运行以下命令以设置Cron作业:
sudo cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
复制Logrotate Config.
Librenms让登录登录 /opt/librenms/logs
。
随着时间的推移,这些可以变大并被旋转。
要旋转旧日志,可以使用提供的Logotate配置文件:
sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
修复自由权限
最后,修复所有权限
sudo chown -R librenms:librenms /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/
第2步:配置nginx
让我们创建Librenms使用nginx的VirtualHost定义。
$sudo vim /etc/nginx/conf.d/librenms.conf server { listen 80; server_name librenms.example.com; 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.2-fpm.sock; } location ~ /\.ht { deny all; } }
检查语法:
$sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
如果一切正常,请重新启动nginx:
$sudo systemctl restart nginx
第3步:在Web UI上配置Librenms
运行Composer安装:
cd /opt/librenms ./scripts/composer_wrapper.php install --no-dev
现在打开Web浏览器并启动安装程序:
http://librenms.example.com/install.php
继续配置数据库连接,然后添加管理员用户。
Web Installer可能会提示我们手动在Librenms安装位置创建Config.php文件,将显示的内容复制到文件中显示的内容。
sudo vim /opt/librenms/config.php
如果我们必须这样做,请记得设置权限 config.php
将屏幕内容复制到文件后。
运行:
sudo chown librenms:librenms /opt/librenms/config.php
我们有一个准备好的Librenms监控工具,通过单击"验证安装并修复任何问题"验证安装,或者使用:
# cd /opt/librenms # ./validate.php ==================================== Component | Version --------- | ------ LibreNMS | 1.42 DB Schema | 257 PHP | 7.2.7-0ubuntu0.18.04.2 MySQL | 10.3.8-MariaDB-1:10.3.8+maria~bionic-log RRDTool | 1.7.0 SNMP | NET-SNMP 5.7.3 ==================================== [OK] Composer Version: 1.6.5 [OK] Dependencies up-to-date. [OK] Database connection successful [OK] Database schema correct [WARN] You have not added any devices yet. [FIX] You can add a device in the webui or with ./addhost.php [WARN] Your local git contains modified files, this could prevent automatic updates. [FIX] You can fix this with ./scripts/github-remove Modified Files: rrd/.gitignore
登录Librenms管理员门户并开始配置网络监控