zabbix 作業メモ（自分用）

※現在構築中のため自分用のメモを残します
構築が完了した後に情報を改めてまとめる予定です


centos 8+zabbix+Apach+MariaDB

■SElinuxの無効化
vi /etc/sysconfig/selinux
SELINUX=enforcing
　↓
SELINUX=disabled
■IPアドレスの設定
nmtui
ipv6→Ignoreに変更

nmcli device
■バージョン確認
#cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

# uname -r
4.18.0-147.el8.x86_64

■zabbixのインストール
バージョン情報
Zabbix 5.4（最新)
CentOS 8 には、「CentOS Linux 8」と「CentOS Stream 8」の２種類があり、
これまでサーバーOSとしてよく利用されてきた「CentOS Linux 8」は、2021年末でサポートが終了します。

rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm
→yumにzabbixのリポジトリを追加

yum serch zabbix 
→yumにzabbixのパッケージリストが表示されていれば、正常にリポジトリが登録されていることになるため

dnf clean all

※未実施
dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apach-conf zabbix-sql-scripts zabbix-agent
■■zabiixサーバのインストール■■
■MariaDBのインストール
→移行前のデータベース設定を確認すること
データベースの設定
データベース名→zabbix

yum install mariadb-server


下記を追記
zabbixが利用する文字エンコードはUTF-8のみであるため
MariaDBのデータベースのデフォルトの文字エンコードをUTF-8に設定することにより
文字エンコード処理関連の問題を事前に回避する

/etc/my.cnf.d/mariadb-server.cnf
[mysqld]
innodb_file_per_table
character-set-server = utf8
collation-server     = utf8_bin
#デフォルトエンコードをutf8に設定
innodb_file_per_table

#単一のデータファイルの肥大化を防ぐために、テーブルごとにデータファイルを作成する
#ttps://assets.zabbix.com/img/zabconf2019_jp/presentations/08_zabconf2019.pdf

innodb_buffer_pool_size=2048M
#DBのキャッシュサイズをデフォルト8Mから変更(物理メモリの50%～80%)

innodb_log_file_size=128M
#更新ログを記録するためのファイルサイズ デフォルト値は5MB
innodb_log_files_in_group=2

systemctl status mariadb
systemctl start mariadb

----------------------------------------------------------
mysql -uroot
#データベースへログイン

CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
#zabbix用のDB作成

show databases;
#zabbix用のDBの確認

GRANT all privileges ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbixpassword';
#接続ユーザzabbixを作成し、パスワードを設定。接続ユーザzabbixはzabbixデータベース以下のテーブルに対して一般的なSQL実行権限を有するように設定

select user, host from mysql.user;
#作成したzabbixユーザを確認

show create user zabbix@localhost
#zabbixユーザーが作成された時のCREATE USER文を確認する

exit
#MariaDBからログアウト
----------------------------------------------------------
systemctl enable mariadb
#自動起動設定

■時刻同期（NTP）設定
→移行前のサーバを確認すること
yum install chrony
#導入済みの場合は不要
--------------------------------------------------------
/etc/chrony.conf
server 「NTPのIP」
--------------------------------------------------------
■zabbixのRPMをインストール
yum install zabbix-server-mysql
※y/nで聞かれる箇所を確認すること
■データベースへの初期データへのインポート
※移行の場合元のDBに依存する？
cd /usr/share/doc/zabbix-server-mysql
zcat create.sql.gz | mysql -uzabbix -p zabbix
※zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
→データベースユーザzabbixのパスワードを入力

■zabbixサーバの設定と起動
#zabbixサーバが動作するために必要な設定を行う
#/etc/zabbix/zabbix_server.confを下記の通り修正
#egrep -v "^#|^$" /etc/zabbix/zabbix_server.conf
#grepコマンドでコメント行を除外して表示すると、どのような設定がされているかわかりやすくなります。
vi /etc/zabbix/zabbix_server.conf
DBname=zabbix
DBUser=zabbix
DBPassword=zabbixpassword

#zabbixサーバスタート
systemctl start zabbix-server

#このコマンドで[active]と表示されればzabbixサーバは正常に起動していることを確認
systemctl status zabbix-server

※起動・停止・再起動について
systemctl start zabbix-server
systemctl stop zabbix-server
systemctl restart zabbix-server

OS起動時にzabbixサーバが自動起動するように設定
systemctl enable zabbix-server
#/usr/lib/systemd/system/zabbix-server.service
で指定している、PIDと、
/etc/zabbix/zabbix_server.conf
で指定している、PIDが食い違っていることがあります。
両者のPIDを一致させましょう。

/etc/zabbix/zabbix_server.conf
→PidFile=/var/run/zabbix/zabbix_server.pid

/usr/lib/systemd/system/zabbix-server.service
→PIDFile=/run/zabbix/zabbix_server.pid
#リロード実行
systemctl daemon-reload

■■Webインターフェースのインストール■■
WebinterfaceのRPMをインストール
・データベース
→RPMパッケージ:zabbix-web
・Mysql用
→RPMパッケージ:zabbix-web