眠っていたラズパイを起こして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 hub
fdisk でフォーマットをします。$ 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 update
zabbix-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のデータベースを作成して、初期設定を実施していきます。
今回はこの辺で。
コメント
コメントを投稿