宣伝
BeeX Advent Calendar 2022 の2日目で~す(/・ω・)/
BeeX Advent Calendar 2022
はじめに
Redhat8の環境で、Zabbix6.0/Grafana環境を構築したのでその備忘録として書きます。
実行環境に関しては、下記記事で作成した環境を利用するものとします。
CloudFormationテンプレートのベストプラクティスな書き方について考えてみた
環境構築
(1)OS初期設定
(1.1)タイムゾーン変更(Asia/Tokyo)
# timedatectl |grep "Time zone"
# timedatectl set-timezone Asia/Tokyo
# timedatectl |grep "Time zone"
(1.2)SELINUXの無効化
# getenforce
# vi /etc/selinux/config
--
SELINUX=enforcing
↓
SELINUX=disabled
--
# shutdown -r now
# getenforce
(2)Zabbix6.0の構築
(2.1)Zabbixの環境構築(CUI)
Zabbix Repositoryをインストールする
# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
# dnf clean all
Zabbixの必須パッケージをインストールする
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent2
MySQLをインストールする
# cd /tmp
# curl -OL https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar
# tar -xvf mysql-8.0.30-1.el8.x86_64.rpm-bundle.tar
# dnf localinstall mysql-community-*
MySQL ログイン時のパスワード要求を無効化 ※一時的
# vi /etc/my.cnf
--
[mysqld]
skip-grant-tables
--
※「mysqld」セクションの末尾に追加
MySQL起動
# systemctl start mysqld
MySQLRootパスワードを設定
# mysql -u root
mysql> USE mysql;
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' identified BY 'RootP@ssword01';
mysql> quit
MySQL ログイン時のパスワード要求を有効化
# vi /etc/my.cnf
--
[mysqld]
skip-grant-tables ←削除
--
MySQL再起動
# systemctl restart mysqld
Zabbix用のDB設定
# mysql -uroot -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'ZabbixP@ssword01';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> USE mysql;
mysql> select user, host, plugin from user;
mysql> ALTER USER 'zabbix'@'localhost' identified with mysql_native_password by 'ZabbixP@ssword01';
mysql> select user, host, plugin from user;
mysql> show variables like 'log_bin_trust_function_creators';
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
mysql> show variables like 'log_bin_trust_function_creators';
mysql> quit
Zabbixデータの流し込み
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Zabbixの設定ファイルで、MySQLパスワードを定義
# vi /etc/zabbix/zabbix_server.conf
--
DBPassword=ZabbixP@ssword01
--
PHP側のユーザ/グループを変更①
# vi /etc/php-fpm.d/www.conf
--
user = apache
group = apache
↓
user = nginx
group = nginx
--
PHP側のユーザ/グループを変更②+タイムゾーンを追加
# vi /etc/php-fpm.d/zabbix.conf
--
user = apache
group = apache
↓
user = nginx
group = nginx
php_value[date.timezone] = Asia/Tokyo
--
PHP側の定義ファイルで、Zabbix構築時の前提条件項目を設定
# vi /etc/php.ini
--
;date.timezone =
↓
date.timezone = Asia/Tokyo
max_execution_time = 30
↓
max_execution_time = 300
max_input_time = 60
↓
max_input_time = 300
post_max_size = 8M
↓
post_max_size = 16M
--
シンボリックリンク作成
# ln -s /usr/share/zabbix /usr/share/nginx/html/zabbix
オーナー変更
# chown -R nginx.nginx /etc/zabbix/web
各種サービスの起動/自動起動を実施
# systemctl start zabbix-server zabbix-agent2 nginx php-fpm
# systemctl enable zabbix-server zabbix-agent2 nginx php-fpm
(2.2)Zabbixの環境構築(GUI)
下記URLをたたく
「デフォルトの言語」で日本語(jp_JP)を選択し、「次のステップ」を押下する。
前提条件のチェックで、全てのがOKであることを確認し、「次のステップ」を押下する。
データベースの接続設定で、パスワード入力画面で「ZabbixP@ssword01」を入力し、「次のステップ」を押下する。
Zabbixサーバー名に「Zabbix01(任意の名前)」を入力し、「次のステップ」を押下する。
インストール事前準備概要で、内容に誤りが無いことを確認し、「次のステップ」を押下する。
デフォルトの管理者ユーザの接続情報を入力し、ログインする。
ログイン時の初期パスワードは下記となります。
項目 | 入力値 |
---|---|
user | Admin |
Password | zabbix |
(3)Grafanaの構築
続いて、Grafanaを構築していきます。
今回構築するGrafanaは、RedHat8のリポジトリに入っているGrafanaを使うものとします。
grafanaをインストールする
・バージョン指定なし
# dnf install grafana
・バージョン指定有
wget https://dl.grafana.com/oss/release/grafana-9.3.6-1.x86_64.rpm
sudo yum localinstall grafana-9.3.6-1.x86_64.rpm
Zabbix用のGrafanaプラグインをインストールする
# grafana-cli plugins install alexanderzobnin-zabbix-app
Grafanaの起動/自動起動を実施
# systemctl start grafana-server
# systemctl enable grafana-server
下記URLをたたく
ログイン時の初期パスワードは下記となります。
項目 | 入力値 |
---|---|
user | admin |
Password | admin |
最後に
今回は、構築するだけで終わりますが、次回の記事では構築した環境に実際の設定をしていく記事について書いていこうと思います。
終わりです(●´ω`●)