zabbix 源碼安裝

  1. 下載地址
    https://www.zabbix.com/download?zabbix=4.4&os_distribution=centos&os_version=7&db=mysql&ws=nginx

2.沒法安裝的yum
安裝的時候帶上-y 否則我去喝杯水回來,服務器都斷開了php

yum install zabbix-server-mysql zabbix-agent -y
zabbix-server-mysql-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.
zabbix-agent-4.4.6-1.el7.x86_64: [Errno 256] No more mirrors to try.
好好的官方軟件步驟,安裝出個這個問題,又是咱們神奇的網絡,沒法鏈接。html

第一步就走不走了,發現安裝不下去。報錯前端

試圖修改,步驟 更換官方的源, 無效java

cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
 
 
cd /etc/yum.repos.d
 
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
 
yum clean all
 
yum makecache
無效mysql

網上有說更換DNS能解決的,DNS換成4.4.4.4 由於個人服務器是阿里雲的看了半天不敢亂動,怕重啓動網絡,連不上就麻煩了。linux

  1. 源碼安裝
    以我以前對其餘軟件的理解,linux其實都有源碼安裝的辦法,只要能yum

3.1 選擇zabbix Sources 2020年3月7日版本爲4.4.6nginx

https://www.zabbix.com/documentation/3.4/zh/manual/installation/installgit

轉存失敗
從新上傳
取消
tar -zxvf zabbix-4.4.6.tar.gz
3.2 建立用戶和組zabbix
提示:使用root,bin或其餘特殊權限的帳戶運行Zabbix是一個安全風險,這句話來自官方文檔sql

groupadd zabbix
useradd -g zabbix zabbix
3.3 建立Zabbix數據庫數據庫

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbi111!';
若是mysql出現
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
說明密碼強度不夠,包含大寫字母,數字,特殊字符就行了

3.4. 編譯
官方文檔有點囉嗦,直接這句話就行了

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
踩坑1:mysql庫的問題

configure: error: MySQL library not found
這裏的關鍵不是去找Mysql的事兒,是要看mysql_config

我找了mysql的事兒

which mysql
 
mysqladmin -u root -p variables
找到相似日誌的地方,就能判斷mysql到底安裝在哪裏了。

| slow_query_log_file | /var/lib/mysql/rh64-slow.log |
| socket | /var/lib/mysql/mysql.sock |
 
mysql
結果

yum install mysql-devel
whereis mysql_config
就行了

踩坑2.libxml2

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
報錯

configure: error: Not found libxml2 library
這個頁面下載
http://www.xmlsoft.org/downloads.html

wget ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz
 
/configure
make
make install
踩坑3.Curl (注意不是curl)

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
configure: error: Curl library not found

yum install curl
yum install curl-devel
踩坑4. libxml沒法執行
./configure 成功運行,到了make的時候

make && make install

 
expression.c:31:28: fatal error: libxml/parser.h: No such file or directory
 
 

find / -name parser.h

 
/usr/local/include/libxml2/libxml/parser.h
發現安裝到了/usr/local/include/下了

通常狀況下都是查找 /usr/lib在這個下面的庫

因此在/usr/include下建一個軟鏈接libxml

ln -s /usr/local/include/libxml2/libxml /usr/include/libxml

make && make install

服務器成功安裝

3.5 啓動服務端和客戶端
在 Zabbix server 端運行 zabbix_server:

zabbix_server

在此編輯 Zabbix server 的配置文件 /usr/local/etc/zabbix_server.conf

zabbix_agentd

在此編輯 Zabbix agent 的配置文件 /usr/local/etc/zabbix_agentd.conf

若是您安裝了 Zabbix proxy,請運行 zabbix_proxy:(月小升手工編譯的文件,並無這個玩意)

zabbix_proxy

3.6 配置php

前端文件路徑

cd /backup/soft/zabbix-4.4.6/frontends/php
 
cp -a . /var/www/zabbix
配置本身的nginx 這裏很少說 路徑/var/www/zabbix便可。

在您的瀏覽器打開 Zabbix 連接:http:///zabbix

https://java-er.com/zabbix/setup.php
踩坑1.修改php.ini半天無效,最終修改了php-fpm的www.conf

轉存失敗
從新上傳
取消
安裝的時候出錯,php的選項都在php.ini裏改一遍而後重啓php-fpm

whereis php.ini
 
whereis php-fpm.conf
部分屬性在php-fpm配置裏,這個文件比php.ini優先級別高。

php -i | grep php.ini
 
php-fpm -i | grep php.ini
反覆修改/etc/php.ini 重啓php-fpm 無效

修改
/etc/php-fpm.d/www.conf 當即生效了

php_value[post_max_size] = 16M
 
php_value[max_execution_time] = 300
 
php_value[date.timezone] = Asia/Shanghai
 
php_value[always_populate_raw_post_data] = -1
php_value[always_populate_raw_post_data] = -1 #提示裏把off 改爲on,我寫了on沒用,查了下,寫-1 有效

bcmath 我開始覺得是個變量,查了一下才知道是個插件

安裝bcmath

yum install php-bcmath
 
yum provides php-bcmath
php56w-bcmath-5.6.40-1.w7.x86_64 找到個人版本

yum install php56w-bcmath-5.6.40-1.w7.x86_64
重啓php-fpm 就都顯示OK了

踩坑2.說前端數據庫不匹配
下一步出來(月小升有時候以爲能遇到的問題都被我撞上了)
The frontend does not match Zabbix database

我最終去下載的源代碼的包裏,找到了mysql文件

ls /backup/soft/zabbix-4.4.6/database/mysql
 
data.sql images.sql Makefile Makefile.am Makefile.in schema.sql
一共三個

  1. /backup/soft/zabbix-4.4.6/database/mysql/schema.sql

  2. /backup/soft/zabbix-4.4.6/database/mysql/data.sql

  3. /backup/soft/zabbix-4.4.6/database/mysql/images.sql

最原始的辦法導入數據庫

mysql -u zabbix -p
source /backup/soft/zabbix-4.4.6/database/mysql/schema.sql
相繼倒入文件刷新直接過去了

轉存失敗
從新上傳
取消
默認帳號Admin

默認密碼爲zabbix

踩坑3.說時區設置不對

DateTime::construct(): Invalid date.timezone value 'Asia/Shaihang', we selected the timezone 'UTC' for now.
 
 
DateTime::
construct(): Invalid date.timezone value 'Asia/Shaihang', we selected the timezone 'UTC' for now.
vi /etc/php-fpm.d/www.conf
修改成UTC

php_value[date.timezone] = UTC

轉存失敗
從新上傳
取消

結束

https://java-er.com/blog/zabbix-source-install/

相關文章
相關標籤/搜索