ども。こんばんは。
気づけば年末年始の休暇もあと1日となりました。
この年末年始の最後に、やかして吹き飛ばした旧Zabbixの代わりに、新しいZabbixを構築します。
せっかくなのでCentOS 8にインストールします。
以下、とりあえずzabbixがうごいたやったーくらいの手順です。
SELinuxやfirewalldもノリで無効化しています。
apacheの設定周りとかもデフォルトのままです。
目次
■CentOS 8.0.1905のインストール
VMWare ESXi 6.7.0U3上に仮想マシンを作成してDVD ISOファイルをもとにインストールします。
インストーラーは7とあんまり変わらないです。
とりあえず必要なものは後で入れるので、サーバにしました。
※あとでランレベルは3にします。
とりあえず入りました。
あれ、ifconfigとかnetstatとかそのまま使えちゃうのね。ipとかssとかせっかく覚えかけてたのに。
■CentOS 8 初期設定(1) ランベルを3にしたい
昔の人なので、inittabを探し回ってましたが、今はないようですので、以下のコマンドで変更します。
※CentOS 7系からこれのようですね。おじさんなので、inittabとかinit 3とかrunlevelな人ですorz
# systemctl set-default multi-user.target
以下確認コマンド
# systemctl get-default
■CentOS 8 初期設定(2) SELinuxを無効にする
無効にします。が、やらかしてカーネルパニックになります。
※今でもカーネルパニックっていうのかな。
Failed to load SELinux policy, freezing.
昔ながらのやらかして、/etc/sysconfig/selinuxの書き間違いです。
なので、シングルユーザで入って直します・・・が、シングルユーザモードの入り方がわからない。カーネルパラメータに–singleとか追加して起動すればいいんでしょ?と思ってたらこれも違っていた。。。
4行目のroを消してrw init=/sysroot/bin/shに書き換えてctrl+xで起動します。
はいれました。chroot /sysrootしてもいいですし、今回は/etc/selinuxを直すだけなので直接編集しました。
おバカですねぇ。disabledはそっちじゃない。(このミスはCentOS 5の頃からやらかしている気がしますね)
こんな感じに直してrebootして無事起動しました。
■CentOS 8 初期設定(3) その他初期設定
firewalldの無効化とSSHのrootログインの無効化をしました。
このあたりは特に特殊なことはなかったので割愛。
■(未解決)SSH経由での操作のレスポンスが悪い
ぱっと解決できなかったので放置していますが、ログイン後の操作のレスポンスがとても悪いです。エンター押すだけでもちょっと待たされます。VMWareのコンソール上だとそんなに遅く感じないのでSSH関連かtty関連のなにかかなー。ちょっとイライラします。
これはおいおい調査します。
■CentOS 8 初期設定(4) アップデート
CentOS 8からはyumが廃止されdnfになりました。
※pythonを3系に完全移行するためにdnfに変えたらしいです。
なおyumコマンドはdnfのラッパーとして残っていますのでyum updateでもdnf updateと同義になります。
とりあえずOSはこんな感じでしょうか。
■ZABBIX 4.4のインストール
以下のURLに従います。
https://www.zabbix.com/jp/download
うちは今回、4.4 / CentOS 8 / MySQL / Apache の構成としました。
なお、コマンドどおりに実行してもうまく行かない点がありましたのでその点は補足します。
まず先にmysql-serverとmysqlのインストールが必要です。
※サーバとクライアント。普通にdnf install mysql mysql-serverとかでいいです。自動起動とか忘れずに。
上記サイトに従ってコマンドを実行してきます。
・「a. Install Zabbix repository」はそのまま。
# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
# dnf clean all
・「b. Install Zabbix server, frontend, agent」もそのまま。
# dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
・「c. Create initial database」は案内されたgrant文がmysql 8系では通りません。
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;
mysql> quit;
MySQL 8系ではGRANTと同時にユーザを作れなくなったようで、以下のようなエラーになります。
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘password’;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘password” at line 1
なので、ユーザ作成とGRANTをバラバラに実行します。
※passwordのところにはパスワードを設定します。
(“mysql> create database zabbix character set utf8 collate utf8_bin;”は実行できるはず。)
mysql> create user zabbix@localhost identified by ‘password’;
mysql> grant all privileges on zabbix.* to zabbix@localhost;
以下のコマンドも普通に流せました。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
あとは、サイトの記載どおりです。
とりあえずコアスイッチだけぽいっと追加しましたがうまく動いてそうです。
【バックナンバー】
ではでは。またの機会に。