LibreNMS
LibreNMSはObserviumからフォームしたネットワーク監視ソフトウェア
イケテル!
インストール
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