がらくたネット


LibreNMS

LibreNMS

LibreNMSはObserviumからフォームしたネットワーク監視ソフトウェア

イケテル!8-)

Page Title
agent
contacts
snmptrap

AlertメールのContacts

LibreNMSでのSNMPTrap

インストール

CentOS7標準のMariaDBは5.5系なので、ここは10.1系で作成。 5.5系でも正常動作するからバージョン選定は好みで。 MariDB10.1はリポジトリが公開されているのでそこからインストールする。

まずはdb回りとSNMP

vi /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

yum install net-snmp net-snmp-utils mariadb-server mariadb-client
systemctl enable mariadb
systemctl start mariadb

vi /etc/snmp/snmpd.conf
rocommunity public 127.0.0.1
最低これぐらい、SNMP管理するなら色々設定しとく

systemctl enable snmpd
systemctl start snmpd
mysql_secure_installation
mysql -uroot -p

MariaDB [(none)]>
CREATE DATABASE librenms;
GRANT ALL PRIVILEGES ON librenms.*
  TO 'librenms'@'localhost'
  IDENTIFIED BY '<password>'
;
FLUSH PRIVILEGES;
exit

vi /etc/my.cnf.d/server.cnf
innodb_file_per_table=1を[server]セクションに追記

systemctl restart mariadb

次にhttpとphp
要件はなさそうなので好きなようにインストールしておく。 php7.0にしてみた。その上で必要なモジュールを追加

yum install php-gd php-mysql php-snmp php-pear php-curl httpd net-snmp graphviz graphviz-php mariadb\
            ImageMagick jwhois nmap mtr rrdtool MySQL-python net-snmp-utils cronie php-mcrypt fping mod_php git
pear install Net_IPv4-1.3.4
pear install Net_IPv6-1.2.2b2

はい、嵌りました。
依存関係でエラー発生
graphviz-phpからの流れがインストールできません

remiのリポジトリを利用してphp7.0系をインストールしてました
remiのリポジトリでphp5.6系にしてみても同じ結果でした
って事でOS標準のphpに戻す…

今回WebサーバとしてApacheを使うので、それ用の設定

useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms apache

Apacheのconf設定は適宜
ドキュメントサイト上では次の通り
自動起動

systemctl enable httpd

/etc/httpd/conf.d/librenms.conf

<VirtualHost *:80>
  DocumentRoot /opt/librenms/html/
  ServerName  librenms.example.com
  CustomLog /opt/librenms/logs/access_log combined
  ErrorLog /opt/librenms/logs/error_log
  AllowEncodedSlashes NoDecode
  <Directory "/opt/librenms/html/">
    AllowOverride All
    Options FollowSymLinks MultiViews
    Require all granted
  </Directory>
</VirtualHost>

welcom.confを移動しておく

mv /etc/httpd/conf.d/welcom.conf /etc/httpd/conf.d/welcome.conf.bak

php関係ではphp.iniのtimezone設定も忘れずに
allow_url_fopenはenableにしておいてね
次のfunctionも使うのでよろしくね
exec,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,popen

本体のクローニング

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

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

install.phpにアクセス
ウィザードで進んで、最後config.phpを手動で作成する
firewallのポートが空いてないとダメだぞ

firewall-cmd --list-all

firewall-cmd --add-service http --permanent
firewall-cmd --add-service http --permanent
firewall-cmd --reload

次。 ここで終わりぢゃないのです。

chown librenms: config.php
vi config.php
$config['fping'] = "/usr/sbin/fping";
最終行に追記

インストールの確認

php validate.php
エラーがあれば修正
rrdディレクトリのパーミッションとかfpingのパスとか…

ローカルホストの追加と検出

php addhost.php localhost public v2c
php discovery.php -h all

cron設定

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