今回やったこと
以前クリスタルシグナルパイの組み立て・ミドルウェアのインストールを行って、イルミネーションとしてしか使っていなかったので、パトランプとしても使えるようにしました。
ほとんどのサーバやネットワーク機器はSNMPで稼働情報を監視サーバに送信する機能がついています。
(※家庭用ネットワーク機器には無いものもあります)
それらの情報を取得監視して、障害が発生したらクリスタルシグナルパイを光らせるようにしました。
- クリスタルシグナルパイを新規インストール
- Zabbixのインストール
- アラート時の設定
- 動作テスト
クリスタルシグナルパイのインストール
以前(18回)でインストールしましたが、Raspbian OSのレポジトリが更新され、PHP5からPHP7がデフォルトバージョンになった為、通常にインストールできませんでした。
おそらく近日中に公式のインストールスクリプトが更新されると思いますが、現時点での方法を記載しておきます
事前にOSのアップデート
- パッケージリストの更新
- パッケージの更新
- OSの更新
- ラズベリーパイのファームウェアの更新
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get dist-upgrade $ sudo rpi-updateクリスタルシグナルパイのミドルウェアのインストール
インストール用スクリプトではPHP5をインストールしようとしますが、この記事の執筆時点ではPHP7.0に変更になっていました。
そのため、インストール用スクリプトではPHPがインストールされず、ブラウザでコントロールパネルを表示させるとPHPのソースコードが表示されてしまいました。
解決方法として手動でPHPをインストールし、インストール用スクリプトでフルインストールし直すと、正常に動作するようになりました。
おそらく一時的なものだと思いますが・・・・^^;(アップデートを待ってます♪)$ curl -O https://raw.githubusercontent.com/infiniteloop-inc/crystal-signal/master/install.sh $ sudo bash install.sh $ sudo apt-get install php $ sudo bash install.sh fullinstall2017/12/13日メモ
既にこの不具合は修正されていました。
上記の1行目のみでインストールが可能です。
さらに、スマホ対応のCSSの要望を開発者に連絡した所、公式に対応していただけました。Zabbixのインストール
Zabbixのインストールは色々悩まされました。が、結局以下の様な方法で無事にインストールできました
必要なパッケージのインストール
$ sudo apt-get install zabbix-server-mysql zabbix-frontend-php $ sudo apt-get install zabbix-agent $ sudo apt-get install php-mysqlデータベースの作成
MySQL(MariaDB)にZabbix用のデータベースを作成します。
3行目の「パスワード」はご自身が設定したいパスワードに変更してください
$ sudo mysql -u root -p mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'パスワード'; mysql> exit初期テーブルのインポート
作成したデータベースにZabbixの初期テーブルなどのデータをインポートします
$ cd /usr/share/zabbix-server-mysql $ zcat schema.sql.gz | mysql -v -uzabbix -p zabbix $ zcat images.sql.gz | mysql -v -uzabbix -p zabbix $ zcat data.sql.gz | mysql -v -uzabbix -p zabbixフロントエンドのPHPファイルを公開用ディレクトリにコピー
$ sudo mkdir /var/www/html/zabbix $ sudo cp -arf /usr/share/zabbix/* /var/www/html/zabbix/ $ sudo chown -R www-data:www-data /var/www/html/zabbix/*zabbix-serverの設定ファイル編集
$ sudo vi /etc/zabbix/zabbix_server.conf以下の項目を編集
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=パスワードzabbixサーバの再起動
$ sudo service zabbix-server restartphp.iniの編集
設定ファイルの編集
$ sudo vi /etc/php/7.0/apache2/php.ini以下の項目を編集
post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Tokyoapacheの再起動
$ sudo ln -s /usr/share/doc/zabbix-frontend-php/examples/apache.conf /etc/apache2/conf-available/zabbix.conf $ sudo a2enconf zabbix $ sudo service apache2 restartブラウザからアクセスして設定
http://ホストネーム/zabbix/
にアクセスしてウィザードにそって設定します。
私の環境ではMySQLのパスワードだけ設定したものを入力するだけでほかはデフォルトで大丈夫でした。設定ファイルの作成
ウィザードの最後に設定ファイルを作成するように促されます。
生成された設定ファイルをダウンロードして指定された場所(/var/www/html/zabbix/conf/)に作成しますログイン確認
初期アカウントを使用してログインします。
初期ユーザ:Admin
初期パスワード:zabbixアラート時の設定
監視対象機器にトラブルが発生したときにクリスタルシグナルパイが光るように設定していきます。
アラート時の発光スクリプト作成
$ sudo vi /var/lib/crystal-signal/scripts/alert.shスクリプトの内容
#!/bin/bash /usr/bin/curl -s "http://picrystal.local/ctrl/?color=248,0,0&mode=2&repeat=20&period=530&json=0" > /dev/null実行権限の付与
$ sudo chmod 755 /var/lib/crystal-signal/scripts/alert.shアクションの設定
ブラウザからZabbixの設定をします。
設定 → アクション から「アクションの作成」
- アクションの名前を入力
- アクションの実行条件の設定
このあたりの条件はお好みに変更してください。
Bの初期値は「トリガーの値 = 障害」でしたが、頻繁に発生してしまったので下図の様にしました。
- アクションの実行内容の設定
動作テスト
動作テストは、実際にzabbixに監視対象を追加し、対象端末にsnmp設定をしたあとで、監視対象機器の電源を落としてテストしました。
今回の作業についてあとがき
zabbixのインストールですが、最初apt-getでインストールしたところ、バージョン2.2がインストールされました。その時にはzabbix-serverとzabbix-agentが自動起動してくれない状況で、ソースパッケージからのインストールに変更したりなど試行錯誤していました。(何回もOSをインストールしなおしました^^;)
何度目かのOS再インストール後にクリスタルシグナルパイのコントロールパネルが正常に表示されなくなり、余計に混乱しました^^;
どうやら、作業している途中でパッケージリストが更新されたようで、zabbixも3.0.7がapt-getからインストールできるようになってました。今回、色々やりすぎて抜けている作業項目があるかもしれませんm(_ _)m
参考サイト
コメント