眠っていたラズパイを起こしてZabbix入れたった その参
このブログは、大国魂(ITブログ) Advent Calendar 2018 の13日目です。
Advent Calendar も折り返し地点ですね。時間が過ぎるのは早いものです。
前回のおさらいと今回やること
前回は
ラズパイにZabbixサーバーを入れる前の下地作りとして、SSHを有効にしたりユーザーの権限周りの設定をしました。
今回(やっと)Zabbixをインストールしますが、そのデータ領域としてUSBフラッシュメモリを使用しますので、先にそちらをマウントしてからインストールの流れで進めていきます。
USBメモリのマウント
USBメモリをZabbix(MySQL)のデータ領域にしようとしたのはMicroSDカードの書き換え回数上限を気にして、というのが発端です。
しかしながらよく考えれば同じNANDフラッシュメモリの部類に入るUSBメモリも、その点においては一緒でしたねw
話が少し逸れるかもしれませんが、耐久性を考慮するのであればSLCやMLCのものを検討するのが無難でしょう。(今回使用しているMicroSDとUSBメモリは安価な物なのでTLCでしょう。)
とりあえず今回のはデータ領域とシステム領域を物理的に分けるっていうのが趣旨ってことで。
まずはUSBメモリを挿入し、デバイスとして認識していることを確認します。
$ lsusb Bus 001 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive #恐らくコレ Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubfdisk でフォーマットをします。
$ sudo fdisk /dev/sda $ sudo fdisk -l /dev/sda Disk /dev/sda: 7.3 GiB, 7811891200 bytes, 15257600 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xaeb06f67 Device Boot Start End Sectors Size Id Type /dev/sda1 2048 15257599 15255552 7.3G 83 Linuxファイルシステムを作成します。
$ sudo mkfs.ext4 /dev/sda1起動時にマウントするよう /etc/fstab を書き換えます。
$ sudo vi /etc/fstab $ cat /etc/fstab proc /proc proc defaults 0 0 /dev/mmcblk0p6 /boot vfat defaults 0 2 /dev/mmcblk0p7 / ext4 defaults,noatime 0 1 /dev/sda1 /data ext4 defaults,noatime 0 0 # a swapfile is not a swap partition, no line hereマウント用に /data ディレクトリを作成してそこへマウントします。
$ sudo mkdir /data $ sudo mount /dev/sda1 /data $ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 13G 4.9G 6.9G 42% / devtmpfs 460M 0 460M 0% /dev tmpfs 464M 0 464M 0% /dev/shm tmpfs 464M 12M 452M 3% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 464M 0 464M 0% /sys/fs/cgroup /dev/mmcblk0p6 68M 23M 46M 33% /boot tmpfs 93M 0 93M 0% /run/user/1001 /dev/sda1 7.1G 33M 6.7G 1% /data
Zabbixのインストール
バージョンは今年安定版(LTS)としてリリースされた4.0にします。ありがたいことに早速Raspbian向けのパッケージが提供されているので、それを使います。
手順はこちらの公式ページを参考にしています。
ます初めにリポジトリをダウンロードしてインストールします。
リポジトリ一覧の更新もしておきます。
$ sudo wget https://repo.zabbix.com/zabbix/4.0/raspbian/pool/main/z/zabbix-release/zabbix-release_4.0-2+stretch_all.deb $ sudo dpkg -i zabbix-release_4.0-2+stretch_all.deb $ sudo apt updatezabbix-server-mysql zabbix-frontend-php をインストールします。
名前から想像できますが前者にはMySQL(MariaDB)、後者にはApacheとPHPが含まれています。
$ sudo apt install zabbix-server-mysql $ sudo apt install zabbix-frontend-phpインストールが完了したらMySQLとApacheのプロセスが動作していることを確認します。
$ ps -ef | egrep 'mysql|apache' root 4369 1 0 01:44 ? 00:00:00 /bin/bash /usr/bin/mysqld_safe mysql 4514 4369 0 01:44 ? 00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/arm-linux-gnueabihf/mariadb18/plugin --user=mysql --skip-log-error --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306 root 4515 4369 0 01:44 ? 00:00:00 logger -t mysqld -p daemon error root 4941 1 0 01:59 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4945 4941 0 01:59 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4946 4941 0 01:59 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4947 4941 0 01:59 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4948 4941 0 01:59 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4949 4941 0 01:59 ? 00:00:00 /usr/sbin/apache2 -k start設定ファイルを編集してデータ領域をUSBメモリ側に指定します。
デフォルトのDB達もUSBメモリ側へお引越しさせます。
$ sudo systemctl mysql stop $ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf #下記を /data/mysql へ書き換え datadir = /var/lib/mysql $ grep 'datadir' /etc/mysql/mariadb.conf.d/50-server.cnf datadir = /data/mysql $ cp -rp /var/lib/mysql /data/ $ sudo systemctl mysql start再びMySQLが問題なく起動していることを、今度は systemctl status にて確認します。
注目すべきは、 mysqld のデータディレクトリを指定する起動オプション --datadir が /data/mysql にちゃんと変わっているところです。
$ sudo systemctl status mysql ● mysql.service - LSB: Start and stop the mysql database server daemon Loaded: loaded (/etc/init.d/mysql; generated; vendor preset: enabled) Active: active (running) since Thu 2018-12-13 01:44:21 JST; 47min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/mysql.service ├─4369 /bin/bash /usr/bin/mysqld_safe ├─4514 /usr/sbin/mysqld --basedir=/usr --datadir=/data/mysql --plugin-dir=/usr/lib/arm-linux-gnueabihf/mariadb18/plugin --user=mysql --skip-log-error --pid-file=/var/run/mysqld/mysqld.pid --s └─4515 logger -t mysqld -p daemon error
今回のまとめ
Zabbixのデータ領域として用意していたUSBメモリをマウントして、Zabbixサーバーのインストールまで実施しました。Zabbixのインストールについては、Rasbian向けにパッケージが用意されていたのでありがたかったです。
正直なところARM向けのパッケージはまだ無いかな〜と思っていました。
次回はZabbixのデータベースを作成して、初期設定を実施していきます。
今回はこの辺で。
コメント
コメントを投稿