LibreNMS简介

1 LibreNMS简单介绍

1.1 LibreNMS介绍

LibreNMS 是一个开源的网络监控系统,它基于 Nagios 的核心,提供了一个功能丰富的网络监控解决方案。LibreNMS 旨在提供一个简单易用且高效的系统,用于监控网络设备,包括交换机、路由器、防火墙等。它能够自动发现网络设备,收集详细性能数据,并提供直观的报警和报告功能。
特点:

  • 自动化发现:LibreNMS 可以自动扫描 IP 范围并识别网络上的设备,包括路由器、交换机、服务器等。
  • 全面监控:它可以收集各种性能指标,如 CPU、内存使用率、带宽利用率、接口状态等。
  • 实时告警:当设备或服务出现异常时,LibreNMS 可以发送邮件、短信或 Slack 等通知,确保及时响应。
  • 灵活的报表:系统提供了丰富的图表和报表,帮助分析网络行为和趋势。
  • API 接口:通过 RESTful API,可以与其他系统集成,实现自动化管理和自定义扩展。
  • 易于扩展:由于使用 Docker 容器化部署,添加额外的服务(如第三方集成或插件)十分方便。

2 安装

2.1 Ubuntu安装

1、安装依赖

# 
apt install acl curl fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php-cli php-curl php-fpm php-gd php-gmp php-json php-mbstring php-mysql php-snmp php-xml php-zip rrdtool snmp snmpd unzip python3-pymysql python3-dotenv python3-redis python3-setuptools python3-systemd python3-pip whois traceroute -y

2、添加 librenms 用户

mkdir /opt/librenms
useradd librenms -d /opt/librenms -M -r -s "$(which bash)"

3、下载 LibreNMS

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

4、设置权限

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

5、安装 PHP 依赖项

su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
# 有时,当使用代理来访问互联网时,上述脚本可能会失败。解决方法是手动安装软件包。对于全局安装:composer
wget https://getcomposer.org/composer-stable.phar
mv composer-stable.phar /usr/bin/composer
chmod +x /usr/bin/composer

6、设置时区

vi /etc/php/8.1/fpm/php.ini
date.timezone = Asia/Shanghai
vi /etc/php/8.1/cli/php.ini
date.timezone = Asia/Shanghai

timedatectl set-timezone Asia/Shanghai

7、配置 MariaDB

vi /etc/mysql/mariadb.conf.d/50-server.cnf
# 添加
[mysqld]
innodb_file_per_table=1
lower_case_table_names=0
# 重启
systemctl enable mariadb
systemctl restart mariadb
## 进入数据库进行配置
mysql -u root
CREATE DATABASE librenms CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'root123';
GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost';
flush privileges;
exit

8、配置 PHP-FPM

cp /etc/php/8.1/fpm/pool.d/www.conf /etc/php/8.1/fpm/pool.d/librenms.conf
vi /etc/php/8.1/fpm/pool.d/librenms.conf
### 
更改为 :[www][librenms]
[librenms]

更改为“librenms”:usergroup
user = librenms
group = librenms

# 更改为必须与 Web 服务器配置匹配的唯一路径
listen = /run/php-fpm-librenms.sock
;listen = /run/php/php8.1-fpm.sock

9、配置 Web 服务器

vi /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 ~ [^/]\.php(/|$) {
  fastcgi_pass unix:/run/php-fpm-librenms.sock;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  include fastcgi.conf;
 }
 location ~ /\.(?!well-known).* {
  deny all;
 }
}


rm /etc/nginx/sites-enabled/default
systemctl restart nginx
systemctl restart php8.1-fpm

10、启用 lnms 命令

ln -s /opt/librenms/lnms /usr/bin/lnms
cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

11、配置 snmpd

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

vi /etc/snmp/snmpd.conf
# 设置自己的社区字符串 RANDOMSTRINGGOESHERE

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

12、cron

cp /opt/librenms/dist/librenms.cron /etc/cron.d/librenms

13、启用调度程序

cp /opt/librenms/dist/librenms-scheduler.service /opt/librenms/dist/librenms-scheduler.timer /etc/systemd/system/

systemctl enable librenms-scheduler.timer
systemctl start librenms-scheduler.timer

14、日志配置

LibreNMS 将日志保存在 /opt/librenms/logs 目录下。随着时间的推移,这些日志文件可能会变得很大,并需要进行日志轮转(即删除旧日志或将其移动到其他位置)。为了轮转旧的日志文件,可以使用提供的 logrotate 配置文件。

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

15、登录

地址:ip
在这里插入图片描述

直接选择数据库图标,输入密码,点击”check Credentials“
在这里插入图片描述

选择”build Database“
在这里插入图片描述

创建admin用户
在这里插入图片描述在这里插入图片描述

进行简单设置
在这里插入图片描述
在这里插入图片描述

16、设置中文

在这里插入图片描述
在这里插入图片描述

2.2 Docker环境下的安装

前提:Docker、docker-compose 已经安装完成

# 1、下载
mkdir librenms
cd librenms
wget https://github.com/librenms/docker/archive/refs/heads/master.zip
unzip master.zip
cd docker-master/examples/compose
 
# 2、设置新的MySQL 密码
vim  .env 
MYSQL_PASSWORD=asyourpasswd

# 3、启动 docker 容器
sudo docker-compose -f compose.yml up -d

登录:ip:8000

  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,关于librenms部署步骤,以下是详细说明: 1. 系统要求 首先,确保你的服务器满足以下系统要求: - 操作系统:Ubuntu / Debian / CentOS / RHEL / Fedora - PHP版本:7.2或更高版本 - 软件包:fping, snmp, mysql-client, python-memcached, rrdtool 2. 安装基础软件包 然后,安装必要的软件包。根据不同的操作系统,安装的命令如下所示: Ubuntu / Debian: sudo apt-get update sudo apt-get install acl curl composer fping git graphviz imagemagick libapache2-mod-php7.2 libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg-turbo8-dev libmcrypt-dev libpng-dev libssl-dev libxml2-dev libxslt1-dev mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.2-cli php7.2-curl php7.2-fpm php7.2-gd php7.2-json php7.2-mysql php7.2-snmp php7.2-xml php7.2-zip python-memcache python-mysqldb python-pip python-setuptools python-wheel rrdtool snmp snmpd whois CentOS / RHEL / Fedora: sudo yum update sudo yum install acl curl composer fping git graphviz ImageMagick httpd httpd-devel mod_ssl net-snmp net-snmp-utils net-snmp-devel mariadb mariadb-server mtr nginx-full nmap php-cli php-curl php-fpm php-gd php-json php-ldap php-mbstring php-mysqlnd php-opcache php-pecl-mcrypt php-process php-snmp php-xml php-zip python-memcached python-mysqldb rrdtool whois 3. 安装LibreNMS 接下来,我们将使用Git从LibreNMS存储库安装。 cd /opt sudo git clone https://github.com/librenms/librenms.git cd librenms sudo composer install --no-dev sudo ./scripts/composer_wrapper.php install --no-dev 4. 配置Web服务器 然后,在LibreNMS目录中创建一个符号链接并配置Web服务器。 Ubuntu / Debian: sudo ln -s /opt/librenms/html /var/www/html/librenms sudo cp /opt/librenms/librenms.nonroot.nginx.conf /etc/nginx/conf.d/librenms.conf sudo service nginx restart CentOS / RHEL / Fedora: sudo ln -s /opt/librenms/html /var/www/html/librenms sudo cp /opt/librenms/librenms.nonroot.httpd.conf /etc/httpd/conf.d/librenms.conf sudo service httpd restart 5. 配置MySQL数据库 创建一个新的MySQL数据库并为LibreNMS分配一个新的MySQL用户。运行以下命令: sudo mysql -u root -p CREATE DATABASE librenms CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE USER 'librenms'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON librenms.* TO 'librenms'@'localhost'; FLUSH PRIVILEGES; exit 6. 配置LibreNMS 现在,我们开始配置LibreNMS。运行以下命令,更改文件的所有权和权限: sudo chown -R librenms:librenms /opt/librenms sudo chmod 771 /opt/librenms/bootstrap/cache /opt/librenms/storage /opt/librenms/logs cp /opt/librenms/.env.example /opt/librenms/.env php /opt/librenms/build-base.php php /opt/librenms/adduser.php 7. 配置SNMP 最后,配置SNMP,使LibreNMS能够监视网络设备。在网络设备上配置SNMP,并确保在LibreNMS服务器上安装了snmp软件包。然后在LibreNMS服务器上重新启动SNMP守护程序: sudo service snmpd restart 8. 访问LibreNMS 现在,你可以在Web浏览器中访问你的LibreNMS实例,并使用你在上面创建的管理员帐户登录。默认情况下,管理员帐户的用户名为“admin”,密码为“admin”。 以上就是librenms部署的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值