🚥

Zabbixを建てる

2022/03/05に公開

はじめに

zabbixとはサーバ監視などを行うツールです。
基本的に監視対象のサーバにAgentというソフトウェアをインストールしてCPUなどの負荷を監視するイメージ
他にも諸々と機能はある様子

参考資料

公式のこちらを参照
https://www.zabbix.com/documentation/5.4/en/manual/installation/install_from_packages/debian_ubuntu

今回はGCPのDebianにインストールする計画です

$ cat /etc/debian_version
10.11

Versionは10.11らしい

インストールする Zabbix5.4でDBはmariadbで10.3.31-MariaDB-0+deb10u1 Debian 10を利用しました。

手順

1. ダウンロード

ここはOSやバージョンによって異なるため、参考ページで選択して、そちらのページに移動してください。

Debianのversion10は下記っぽいです
https://www.zabbix.com/download?zabbix=5.4&os_distribution=debian&os_version=10_buster&db=mysql

こちらのコマンドを参考に進めます。
ただし、wgetコマンドが存在しなかったため、インストールします。

sudo apt update
sudo apt install wget

ここからはDebian10でやっていきます。
他の方は、各所書き換えて進めてください。

wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1+debian10_all.deb
sudo dpkg -i zabbix-release_5.4-1+debian10_all.deb
sudo apt update
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

Create initial databaseの章でDatabaseが必要なことを知る。

2. Databaseをインストール

今回はmariadbをインストールしてみる。

sudo apt install mariadb-server
sudo mysql_secure_installation

passwordをpassとかわかりやすいのに変更して終了。
下記のコマンドでアクセスできることを確認。

sudo mysql -uroot -p

2.1 sudo無しでログインできるように変更

初期値だと、rootはrootユーザでしかアクセスできない設定になっているため、sudoが必須になってしまう。
権限設定を変更して、別のユーザでも入れるようにする。

sudo mysql -uroot -p
>grant all privileges on *.* to root@localhost identified by 'pass' with grant option;
>flush privileges;
>exit
mysql -uroot -p

3. DBへの初期化・接続設定

zabbixというDatabaseを作成し、新しいzabbixというユーザを作成する。
※このあたり、バージョンによって異なるため注意

mysql -uroot -p
> create database zabbix character set utf8 collate utf8_bin;
> create user zabbix@localhost identified by 'password';
> grant all privileges on zabbix.* to zabbix@localhost;
> quit;

下記のコマンドで、DBに初期データを挿入。
※パスワードはpasswordですので注意

zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -uzabbix -p zabbix

Zabbixの設定ファイルを更新

sudo nano /etc/zabbix/zabbix_server.conf

下記のように修正

### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=password

4.アプリケーションを再起動・確認

systemdのコマンドを使って再起動、自動起動設定を有効化

sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

5. httpアクセス

下記のURLにアクセスする。
http://{{ServerIP}}/zabbix

※GCPの場合はネットワークタグ設定で、80番ポートをアクセス許可にする必要があります。

上手く動いてることが分かりました。

Discussion