0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi OS (Bookworm) への Zabbix 7.0 LTS 導入メモ

Posted at

実行環境

  • Raspberry Pi 4 Model B (8GB)
  • Raspberry Pi OS (Bookworm)

導入手順

1 Choose your platform

Key Value
ZABBIX VERSION 7.0 LTS
OS DISTRIBUTION Raspberry Pi OS
OS VERSION 12 (Bookworm)
ZABBIX COMPONENT Server, Fontend, Agent
DATABASE PostgreSQL
WEB SERVER Nginx

2 Install and configure Zabbix for your platform

a. Install Zabbix repository

wget https://repo.zabbix.com/zabbix/7.0/raspbian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian12_all.deb
rm zabbix-release_latest_7.0+debian12_all.deb
sudo apt update 

b. Install Zabbix server, frontend, agent

sudo apt install -y zabbix-server-pgsql zabbix-frontend-php php8.2-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
  • 別で PostgreSQL の導入も必要だったので Install
sudo apt install -y postgresql postgresql-server-dev-all 

c. Create initial database

  • non-interactive で操作する
POSTGRES_USER="zabbix"
POSTGRES_PASSWORD="zabbix"
#sudo -u postgres createuser --pwprompt "${POSTGRES_USER}"
sudo -u postgres psql -c "create role ${POSTGRES_USER} with login password '${POSTGRES_PASSWORD}';"
sudo -u postgres createdb -O ${POSTGRES_USER} zabbix 
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix 

d. Configure the database for Zabbix server

sudo sed -i.bak -e "s/# DBPassword=/DBPassword=${POSTGRES_PASSWORD}/" /etc/zabbix/zabbix_server.conf

e. Configure PHP for Zabbix frontend

  • (ここの項目名 PHP じゃなくて Nginx じゃない?)
  • 80 番ポートで待ち受けるようにする
sudo sed -i.bak -i "2i listen 80;" /etc/zabbix/nginx.conf
sudo sed -i.ba2k -i "3i server_name <your domain>;" /etc/zabbix/nginx.conf
  • Zabbix 公式サイトの手順から抜けている Nginx の設定を行う
    • 初期設定のままだと、Nginx と Zabbix Nginx の設定が衝突して Nginx 側の設定が優先されてしまう
--- /etc/nginx/sites-enabled/default.bak        2025-01-02 09:10:38.301240963 +0900
+++ /etc/nginx/sites-enabled/default    2025-01-02 09:18:23.499717591 +0900
@@ -18,57 +18,57 @@
 
 # Default server configuration
 #
-server {
-       listen 80 default_server;
-       listen [::]:80 default_server;
-
-       # SSL configuration
-       #
-       # listen 443 ssl default_server;
-       # listen [::]:443 ssl default_server;
-       #
-       # Note: You should disable gzip for SSL traffic.
-       # See: https://bugs.debian.org/773332
-       #
-       # Read up on ssl_ciphers to ensure a secure configuration.
-       # See: https://bugs.debian.org/765782
-       #
-       # Self signed certs generated by the ssl-cert package
-       # Don't use them in a production server!
-       #
-       # include snippets/snakeoil.conf;
-
-       root /var/www/html;
-
-       # Add index.php to the list if you are using PHP
-       index index.html index.htm index.nginx-debian.html;
-
-       server_name _;
-
-       location / {
-               # First attempt to serve request as file, then
-               # as directory, then fall back to displaying a 404.
-               try_files $uri $uri/ =404;
-       }
-
-       # pass PHP scripts to FastCGI server
-       #
-       #location ~ \.php$ {
-       #       include snippets/fastcgi-php.conf;
-       #
-       #       # With php-fpm (or other unix sockets):
-       #       fastcgi_pass unix:/run/php/php7.4-fpm.sock;
-       #       # With php-cgi (or other tcp sockets):
-       #       fastcgi_pass 127.0.0.1:9000;
-       #}
-
-       # deny access to .htaccess files, if Apache's document root
-       # concurs with nginx's one
-       #
-       #location ~ /\.ht {
-       #       deny all;
-       #}
-}
+#server {
+#      listen 80 default_server;
+#      listen [::]:80 default_server;
+
+#      # SSL configuration
+#      #
+#      # listen 443 ssl default_server;
+#      # listen [::]:443 ssl default_server;
+#      #
+#      # Note: You should disable gzip for SSL traffic.
+#      # See: https://bugs.debian.org/773332
+#      #
+#      # Read up on ssl_ciphers to ensure a secure configuration.
+#      # See: https://bugs.debian.org/765782
+#      #
+#      # Self signed certs generated by the ssl-cert package
+#      # Don't use them in a production server!
+#      #
+#      # include snippets/snakeoil.conf;
+
+#      root /var/www/html;
+
+#      # Add index.php to the list if you are using PHP
+#      index index.html index.htm index.nginx-debian.html;
+
+#      server_name _;
+
+#      location / {
+#              # First attempt to serve request as file, then
+#              # as directory, then fall back to displaying a 404.
+#              try_files $uri $uri/ =404;
+#      }
+
+#      # pass PHP scripts to FastCGI server
+#      #
+#      #location ~ \.php$ {
+#      #       include snippets/fastcgi-php.conf;
+#      #
+#      #       # With php-fpm (or other unix sockets):
+#      #       fastcgi_pass unix:/run/php/php7.4-fpm.sock;
+#      #       # With php-cgi (or other tcp sockets):
+#      #       fastcgi_pass 127.0.0.1:9000;
+#      #}
+
+#      # deny access to .htaccess files, if Apache's document root
+#      # concurs with nginx's one
+#      #
+#      #location ~ /\.ht {
+#      #       deny all;
+#      #}
+#}
 
 
 # Virtual Host configuration for example.com

z. raspi の初期設定だといくつかエラーが出るのでその設定を行う

# Locale (en_US) 導入
sudo raspi-config nonint do_change_locale en_US.UTF-8

f. Start Zabbix server and agent processes

sudo systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
sudo systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm 

g. Open Zabbix UI web page

  • Zabbix が走っているサーバの http://***.***.***.***/ でアクセス
    • ユーザ名:Admin、パスワード:zabbix
  • Pre-Check で Locale のエラーが出る場合は、適切 Locale が Install されていない
  • Zabbix UI ではなく Nginx の Welcome page が表示される場合、Nginx 側の設定が無効化できていない
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?