1. 程式人生 > >RHEL6 最小化系統 編譯安裝部署zabbix (mysql)

RHEL6 最小化系統 編譯安裝部署zabbix (mysql)

RHEL6 最小化系統 編譯安裝部署zabbix (mysql)
官方說明詳細見:https://www.zabbix.com/documentation/4.0/manual/installation/install#installing_frontend

 

前言

為了避免在不同時期部署的裝置環境不同而導致安裝失敗,有必要測試幾乎為0的系統中到底部署zabbix具體需要哪些模組,

實際上本次zabbix部署是依賴於LAMP架構,更多詳情可百度LAMP部署實驗。

 

0. 配置網路

伺服器ip為:192.168.1.99,準備yum庫,同步時間(略):
echo "
[base]
baseurl=http://vault.centos.org/6.9/os/x86_64
enabled=1
gpgcheck=0

[updates]
name=centos6_updates
baseurl=http://vault.centos.org/6.9/updates/x86_64
enabled=1
gpgcheck=0

[extras]
name=centos6_extras
baseurl=http://vault.centos.org/6.9/extras/x86_64
enabled=1
gpgcheck=0
" > /etc/yum.repos.d/centos6.repo

1. 安裝必要庫及軟體

( 先確定主機有沒有在用的資料庫,如果有的話很容易悲劇!):
#yum install lrzsz pcre-devel libevent-devel make mysql-server httpd httpd-devel php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y

2. 建立一個zabbix安裝目錄,下載編譯檔案
#useradd zabbix
#cd /home/zabbix
#wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.2/zabbix-4.0.2.tar.gz
#tar -zxvf zabbix-4.0.2.tar.gz

3. 給zabbix建立一個庫,同時匯入庫檔案
#service mysqld start
#mysqlamin -uroot password rootpassword
#mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* TO

[email protected] identified by 'zabbixpassword';
mysql> flush privileges;
mysql> quit;
#mysql zabbix -uzabbix -p < /home/zabbix/zabbix*/database/mysql/schema.sql
#mysql zabbix -uzabbix -p < /home/zabbix/zabbix*/database/mysql/images.sql
#mysql zabbix -uzabbix -p < /home/zabbix/zabbix*/database/mysql/data.sql

4.編譯安裝zabbix
#cd /home/zabbix/zabbix*
#./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix
#make && make install

5、新增埠(其實編譯過程中已經被修改了,可略)
vim /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper

 

6、修改配置檔案
#vi /usr/local/zabbix/etc/zabbix_server.conf
引數修改如下,其實改密碼就可以:
DBName=zabbix
DBUser=zabbix 連線資料庫的賬號,與Mysql授權賬號對應
DBPassword=zabbixpass 連線資料庫的密碼,與Mysql授權賬號的密碼對應

#cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/ #如果安裝其他地方,記得做軟連線到 /usr/local/sbin, 或者修改此檔案ZABBIX_BIN= 引數
#cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/ #如果安裝其他地方,記得做軟連線到 /usr/local/sbin, 或者修改此檔案ZABBIX_BIN= 引數
#chmod 700 /etc/init.d/zabbix_*

 

7、啟動服務
#service zbbix_agentd start
#service zbbix_server start
#chkconfig zabbix_agentd on
#netstat -tunlp|grep zabbix

 

 

8. 配置httpd提供網頁服務,記得調整防火牆、selinux!
setenforce 0
iptables -F
vi /etc/httpd/conf/httpd.conf
加個php的頁面:
DirectoryIndex index.html index.html.var index.php

vi /etc/php.ini
修改:
display_errors = yes
service httpd restart

 

 

9. 修改zabbix配置檔案
vi `find / -name zabbix.conf.php`
$DB['SERVER'] = '192.168.1.99';
$ZBX_SERVER = '192.168.1.99';

 

 

10. 新增開機自動啟動
chkconfig --add zabbix_agentd
chkconfig --add zabbix_server
chkconfig --add mysqld
chkconfig --add httpd
chkconfig --level 345 myqld on
chkconfig --level 345 httpd on
chkconfig --level 345 zabbix_agentd
chkconfig --level 345 zabbix_server


故障情況:
一、php版本不對的話會導致index.php打開不了,編譯安裝php需要以下庫:
1. yum -y install gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel gmp-devel libXpm-devel

2. 生成php的說明檔案,複製其中的./config 說明
cat > phpinfo.php << EOF
<?php
phpinfo();
?>
EOF

3. 根據第三步獲得的指令,進行 ./config make make install
'./configure' '--build=x86_64-redhat-linux-gnu' '--enable-bcmath' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf' '--with-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--with-kerberos' '--enable-ucd-snmp-hack' '--enable-shmop' '--enable-calendar' '--without-sqlite' '--with-libxml-dir=/usr' '--enable-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--with-mysql=/usr' '--with-mysqli=/usr/bin/mysql_config' '--with-gd' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--enable-xmlreader' '--enable-xmlwriter' '--without-sqlite3' '--disable-phar' '--disable-fileinfo' '--disable-json' '--without-pspell' '--disable-wddx' '--without-curl' '--disable-posix' '--disable-sysvmsg' '--disable-sysvshm' '--disable-sysvsem' '--enable-mbstring' && make && make install


二、密碼忘記
1.echo -n <新密碼>|openssl md5
2.複製上面輸出MD5加密結果
3. mysql zabbix -uzabbix -p
3. mysql>update zabbix.users set passwd='上面複製的串' where userid = '1';
4. mysql>flush privileges;
5. exit;

三、zabbix提示zabbixserver沒啟動,zabbix server is running: no
參考11步、12步

四、提示 is not allowed to connect to this MySql server,MySQL 不允許連資料庫
參考3步:
mysql> grant all privileges on zabbix.* TO [email protected] identified by 'zabbixpassword';

RHEL6 最小化系統 編譯安裝部署zabbix (mysql)官方說明詳細見:https://www.zabbix.com/documentation/4.0/manual/installation/install#installing_frontend
0. 配置網路 伺服器ip為:192.168.1.99,準備yum庫,同步時間(略):echo "[base]baseurl=http://vault.centos.org/6.9/os/x86_64enabled=1gpgcheck=0
[updates]name=centos6_updatesbaseurl=http://vault.centos.org/6.9/updates/x86_64enabled=1gpgcheck=0
[extras]name=centos6_extrasbaseurl=http://vault.centos.org/6.9/extras/x86_64enabled=1gpgcheck=0" > /etc/yum.repos.d/centos6.repo
1. 安裝必要庫及軟體(  先確定主機沒有資料庫且有資料,如果有的話很容易悲劇!):#yum install lrzsz pcre-devel libevent-devel make mysql-server httpd httpd-devel php mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y 
2. 建立一個zabbix安裝目錄,下載編譯檔案#useradd zabbix#cd /home/zabbix#wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.2/zabbix-4.0.2.tar.gz#tar -zxvf zabbix-4.0.2.tar.gz
3. 給zabbix建立一個庫,同時匯入庫檔案#service mysqld start#mysqlamin -uroot password rootpassword#mysql -uroot -p mysql> create database zabbix character set utf8 collate utf8_bin;mysql> grant all privileges on zabbix.* TO [email protected] identified by 'zabbixpassword';mysql> flush privileges;mysql> quit;#mysql zabbix -uzabbix -p < /home/zabbix/zabbix*/database/mysql/schema.sql #mysql zabbix -uzabbix -p < /home/zabbix/zabbix*/database/mysql/images.sql #mysql zabbix -uzabbix -p < /home/zabbix/zabbix*/database/mysql/data.sql 
4.編譯安裝zabbix#cd /home/zabbix/zabbix*#./configure --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy --prefix=/usr/local/zabbix#make && make install
7、新增埠(其實本來就有,可略)vim /etc/serviceszabbix-agent 10050/tcp # Zabbix Agentzabbix-agent 10050/udp # Zabbix Agentzabbix-trapper 10051/tcp # Zabbix Trapperzabbix-trapper 10051/udp # Zabbix Trapper
8、修改配置檔案#vi /usr/local/zabbix/etc/zabbix_server.conf引數修改如下,其實改密碼就可以:DBName=zabbixDBUser=zabbix 連線資料庫的賬號,與Mysql授權賬號對應DBPassword=zabbixpass 連線資料庫的密碼,與Mysql授權賬號的密碼對應
#cp misc/init.d/fedora/core5/zabbix_server /etc/init.d/#如果安裝其他地方,記得做軟連線到 /usr/local/sbin, 或者修改此檔案ZABBIX_BIN= 引數#cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/#如果安裝其他地方,記得做軟連線到 /usr/local/sbin, 或者修改此檔案ZABBIX_BIN= 引數#chmod 700 /etc/init.d/zabbix_*
9、啟動服務#service zbbix_agentd start#service zbbix_server start#chkconfig zabbix_agentd on#netstat -tunlp|grep zabbix
10. 配置httpd提供網頁服務,記得調整防火牆、selinux!setenforce 0iptables -Fvi /etc/httpd/conf/httpd.conf加個php的頁面:DirectoryIndex index.html index.html.var index.php
vi /etc/php.ini修改:display_errors = yesservice httpd restart
11. 修改zabbix配置檔案vi `find / -name zabbix.conf.php`$DB['SERVER']   = '192.168.1.99';$ZBX_SERVER   = '192.168.1.99';
12. 新增開機自動啟動 chkconfig --add zabbix_agentdchkconfig --add zabbix_serverchkconfig --add mysqldchkconfig --add httpdchkconfig --level 345 myqld onchkconfig --level 345 httpd onchkconfig --level 345 zabbix_agentdchkconfig --level 345 zabbix_server

故障情況:一、php版本不對的話會導致index.php打開不了,編譯安裝php需要以下庫:1. yum -y install gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel  gmp-devel  libXpm-devel
2. 生成php的說明檔案,複製其中的./config 說明 cat > phpinfo.php << EOF<?php    phpinfo();?>EOF
3. 根據第三步獲得的指令,進行 ./config  make make install'./configure' '--build=x86_64-redhat-linux-gnu' '--enable-bcmath' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf' '--with-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--with-kerberos' '--enable-ucd-snmp-hack' '--enable-shmop' '--enable-calendar' '--without-sqlite' '--with-libxml-dir=/usr' '--enable-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--with-mysql=/usr' '--with-mysqli=/usr/bin/mysql_config' '--with-gd' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--enable-xmlreader' '--enable-xmlwriter' '--without-sqlite3' '--disable-phar' '--disable-fileinfo' '--disable-json' '--without-pspell' '--disable-wddx' '--without-curl' '--disable-posix' '--disable-sysvmsg' '--disable-sysvshm' '--disable-sysvsem'   '--enable-mbstring' && make && make install

二、密碼忘記1.echo -n <新密碼>|openssl md52.複製上面輸出MD5加密結果3. mysql zabbix -uzabbix -p3. mysql>update zabbix.users set passwd='上面複製的串' where userid = '1';4. mysql>flush privileges;5. exit;
三、zabbix提示zabbixserver沒啟動,zabbix server is running: no參考11步、12步
四、提示 is not allowed to connect to this MySql server,MySQL 不允許連資料庫參考3步:mysql> grant all privileges on zabbix.* TO [email protected] identified by 'zabbixpassword';