Zabbix6.2はCentOS7でのyumを使ったインストールには対応していませんが、CentOS8/9やRocky等であれば、dnf(yum)パッケージを使って直接インストール可能です。ソースコードコンパイルほど柔軟ではありませんが、シンプルかつ高速で、ほとんどの使用シナリオのニーズを満たすことができます。一方、Zabbix6.2ではMySQL8データベースを使用する必要があり、導入予定のサーバにはMySQL8に対応していないシステムも導入されているため、ZabbixサーバのデータベースとしてPostgreSQLを使用しています。
-
Zabbix アーキテクチャ情報:
1.zabbixサーバー
zabbix のサーバー側は、エージェントによって送信された監視データの受信と、zabbix のすべてのコア機能の提供を担当します。
2.データベース
監視データと構成情報を保存するために使用されるデータベース。現在、一般的に使用されるデータベースは mysql と postgresql の 2 つです。
3. ザビックスウェブ
zabbixのUI側では、操作コンソールや監視表示などの機能を提供します。
4.zabbix-java-ゲートウェイ
Java プログラムの JVM ステータスを監視するために使用されます。Zabbix 自体は JVM から監視インジケーターを直接取得できないため、これを実現するにはこのゲートウェイを使用する必要があります。
5.zabbixエージェント
zabbixのエージェントは対象ホストに配備され、ホストの監視データを収集し、zabbixサーバーに提供します。
-
設置環境
-
1.php74をインストールする
#查看系统自带php包 rpm -qa | grep php #卸载php,注意先卸载依赖包 rpm -e <包名> #安装PHP74 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm -Uvh epel-release-latest-7.noarch.rpm rpm -Uvh remi-release-7.rpm yum install yum-utils yum-config-manager --enable remi-php74 yum install php74-php-gd php74-php-pdo php74-php-mbstring php74-php-cli php74-php-fpm php74-php-mysqlnd php-pgsql yum -y install curl-devl libxml2 libxml2-devel systemctl enable php74-php-fpm.service systemctl start php74-php-fpm.service #如果php命令找不到,创建软连接 ln -s /opt/remi/php74/root/usr/bin/php /usr/bin/php #修改php参数 vim /etc/php.ini #修改post_max_size为16M #修改max_execution_time为300 #修改max_input_time为300 systemctl restart httpd php74-php-fpm.service
2.postgresql 15をインストールする
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libzstd-1.5.2-1.el7.x86_64.rpm wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-devel-5.0.1-7.el7.x86_64.rpm wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-5.0.1-7.el7.x86_64.rpm wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/l/llvm5.0-libs-5.0.1-7.el7.x86_64.rpm yum install -y ./libzstd-1.5.2-1.el7.x86_64.rpm yum install -y centos-release-scl-rh llvm5* yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm yum install postgresql15-server postgresql15-devel postgresql-15-setup initdb systemctl enable postgresql-15 systemctl start postgresql-15 #修改postgres用户密码 passwd postgres systemctl restart postgresql-15 #修改数据库密码 sudo -u postgres psql \password #退出psql命令行 \q
-
ソースコードのコンパイルと展開 Zabbix6.2:
1. 公式 Web サイトから ZABBIX ソース コード インストール パッケージ (tar.gz) をダウンロードします。
2.解凍します。
cd /home/cgyxt/workspace/zabbix
tar -zxvf zabbix-6.2.6.tar.gz
3.ユーザーの作成
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
3. データベースをインポートする
chmod -R 777 /home/cgyxt/workspace/zabbix/
#データベースユーザーzabbixの作成
sudo -u postgres createuser --pwprompt zabbix
#データベースの作成
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
#データベースのインポート
cd /home/cgyxt/workspace/zabbix/zabbix-6.2.6/database/postgresql
cat schema.sql | sudo -u zabbix psql zabbix
cat images.sql | sudo -u zabbix psql zabbix
cat data.sql | sudo -u zabbix psql zabbix
4. 必要に応じて依存関係をインストールします
yum install -y net-snmp-devel OpenIPMI-devel libevent-devel curl-devel java-1.6.0-openjdk-devel libssh2-devel go fping openldap openldap-devel unixODBC unixODBC-devel freetds mysql-connector-odbc
データの送信に Modbus プロトコルを使用する必要がある場合: ソース コードのインストールは libmodbus に依存します
tar -zxvf libmodbus-3.1.6.tar.gz
cd libmodbus-3.1.6/
./configure
make install
5. コンパイルとインストール
cd /home/cgyxt/workspace/zabbix/zabbix-6.2.6/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-postgresql=/usr/pgsql-15/bin/pg_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-zlib --with-libpthread --with-libevent --with-libpcre --with-libmodbus=/usr/local --with-openipmi --with-ssh2 --with-unixodbc --with-ldap --with-openssl --with-iconv --enable-java --enable-webservice
注: openssl 暗号化の代わりに gnutls を使用することもできます。
yum install gnutls.x86_64 gnutls-c++.x86_64 gnutls-dane.x86_64 gnutls-devel.x86_64 gnutls-utils.x86_64 -y
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-postgresql=/usr/pgsql-15/bin/pg_config --enable-ipv6 --with-net- snmp --with-libcurl --with-libxml2 --with-zlib --with-libpthread --with-libevent --with-libpcre --with-libmodbus=/usr/local --with-openipmi --with- ssh2 --with-unixodbc --with-ldap --with-gnutls --with-iconv --enable-java --enable-webservice
make install
6. 設定ファイルを変更する
vim /usr/local/zabbix/etc/zabbix_server.conf
DBPassword=<password>
CacheSize=1024M #增大zabbix_server缓存空间,避免主机较多时缓存用尽导致服务停止
7. 起動スクリプトの作成
#创建环境变量,用于直接用zabbix_server命令启动服务
echo "export PATH=$PATH:/usr/local/zabbix/sbin" >> ~/.bashrc
#创建zabbix_server守护文件
vim /lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_server.conf"
#EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutStopSec=10s
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/zabbix-server.service
#创建zabbix_agentd守护文件
vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/zabbix/etc/zabbix_agentd.conf"
#EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
[Install]
WantedBy=multi-user.target
chmod 754 /lib/systemd/system/zabbix-agent.service
8. フロントエンド ファイルを Apache サービス ディレクトリに移動します
mkdir /var/www/html/zabbix/
cp -r /home/cgyxt/workspace/zabbix/zabbix-6.2.6/ui/* /var/www/html/zabbix/
chmod -R 777 /var/www/html/zabbix/
9. サービスを開始する
systemctl daemon-reload
systemctl enable zabbix-server.service
systemctl start zabbix-server.service
systemctl enable zabbix-agent.service
systemctl start zabbix-agent.service
#查看进程检查结果
ps -ef | grep zabbix
#检查服务运行情况
systemctl -a | grep zabbix
10. Web インターフェースのウィザードに従ってインストールします。
11.中国語の文字化けを修正
#从电脑fonts文件夹中拷贝出微软雅黑字体,放入zabbix字体文件夹中
cp /home/cgyxt/workspace/zabbix/msyh.ttc /var/www/html/zabbix/assets/fonts/
#备份原有字体
mv /var/www/html/zabbix/assets/fonts/DejaVuSans.ttf /var/www/html/zabbix/assets/fonts/DejaVuSans.ttf.bak
#建立软连接
ln -s /var/www/html/zabbix/assets/fonts/msyh.ttc /var/www/html/zabbix/assets/fonts/DejaVuSans.ttf
#或直接覆盖:mv /var/www/html/zabbix/assets/fonts/msyh.ttc /var/www/html/zabbix/assets/fonts/DejaVuSans.ttf
11. その後のスクリプト作成を容易にするために、zabbix ユーザーにパスワードなしの sudo 権限を設定します。
vim /etc/sudoers
#添加:zabbix ALL=(ALL) NOPASSWD:ALL
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zabbix ALL=(ALL) NOPASSWD:ALL
-
yum で zabbix エージェント 2 をインストールします
rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/7/x86_64/zabbix-release-6.2-3.el7.noarch.rpm
yum clean all
yum install zabbix-agent2 zabbix-agent2-plugin-* -y
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
-
grafana をインストールし、Zabbix と統合する
1. rpm パッケージをダウンロードしてインストールします。
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.2-1.x86_64.rpm
yum -y install grafana-enterprise-9.3.2-1.x86_64.rpm
systemctl start grafana-server && systemctl enable grafana-server
ブラウザアクセス IP: 3000、ユーザー名/パスワード: admin
2. Zabbix プラグインをダウンロードしてインストールします
(1) 方法1
ブラウザが開きます:
https://grafana.com/api/plugins/alexanderzobnin-zabbix-app
「downloadurl」を検索し、結果の「/api…」の前に「 Grafanaダウンロード ページにアクセスして、ダウンロード アドレスにリダイレクトします。
#ダウンロードが完了したら、サーバーにアップロードし、/var/lib/grafana/plugins フォルダーにコピーして解凍します。
cp alexanderzobnin-zabbix-app-4.2.10.zip /var/lib/grafana/plugins/
cd /var/lib/grafana/plugins/
unzip alexanderzobnin-zabbix-app-4.2.10.zip
(2) 方法2
grafana-cli plugins install alexanderzobnin-zabbix-app
3. grafana-server を再起動し、Web インターフェイスに入り、Zabbix プラグインのインストールを有効にします。
systemctl restart grafana-server
Web インターフェイスの [設定] > [プラグイン] > [Zabbix] で、[有効化] をクリックします。
4. zabbix データソースの構成
#Configuration>Datasources、追加、zabbix を選択
テストする Zabbix サーバーのアドレス、ユーザー名、パスワードを入力します。