1. 程式人生 > >004.Zabbix3.x-Server服務端安裝

004.Zabbix3.x-Server服務端安裝

系統 輸入 tom art users -i innodb 存儲 color

一 環境基礎

1.1 部署基礎環境

部署Zabbix需要LAMP或LANP環境,數據庫可以為MySQL或者MariaDB。硬件及存儲條件按需配置。

1.2 常見依賴列表

Web前端需要支持的軟件環境如下:
軟件 版本 描述
Apache 1.3以上 主程序
PHP 5.3以上 主程序
PHP擴展庫
gd 2.0以上 PHP GD擴展庫需支持PNG/JPEG/FreeType2
bcmath php-bcmath(--enable-bcmath)
ctype
php-ctype(--enable-ctype)
libXML 2.6以上 php-xml
xmlreader php-xmlreader
xmlwriter php-xmlreader
session php-net-socket
sockets php-net-socket(--enable-sockets)
mbstring php-mbstring(--with-gettext)
ibm_db2 使用DB2虛此支持
mysqli 使用MySQL需此支持
oci8 使用oracle需此支持
pgsql 使用postgresql需此支持
sqlite3 使用sqlite需此支持
註意:如是RHEL系統,自帶的RPM包可能缺少php-mbstring和php-bcmatch包,若編譯安裝,請確保以上參數開啟。

1.3 Zabbix-Server需要軟件環境

依賴的軟件包 描述
OpenIPMI 如需支持IPMI
libssh 2 如需支持SSH,則需此包
fping ICMP ping的支持
libcurl Web監控
libiksemel Jabber告警介質
net-snmp SNMP的支持
註意:Zabbix-Server對時間精度要求很高,盡量采用NTP自動同步。

二 安裝

2.1 安裝Zabbix官方源和epel源

  1 [root@imxhy01 ~]# yum -y install epel-release.noarch
  2 [root@imxhy01 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
3 [root@imxhy01 ~]# ls /etc/yum.repos.d/ #查看Zabbix源是否安裝成功 4 epel.repo epel-testing.repo zabbix.repo 5 [root@imxhy ~]# yum -y install zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-agent
註意:1 Zabbix官方的yum源為:http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/。 2 服務器端也需要監控,因此也安裝Zabbix-Agent。
  1 [root@imxhy01 ~]# yum -y install php-bcmath
  2 [root@imxhy01 ~]# yum -y install php-mbstring		#安裝缺少的兩個包,v3版本可以不安裝。

2.2 安裝MariaDB

  1 [root@imxhy01 ~]# yum -y install mariadb mariadb-server
  2 [root@imxhy01 ~]# vi /etc/my.cnf
  3 [mysqld]
  4 datadir=/var/lib/mysql
  5 socket=/var/lib/mysql/mysql.sock
  6 symbolic-links=0
  7 character-set-server=utf8				#設置字符集為utf8
  8 innodb_file_per_table=1                             #設置innodb的每個表文件單獨存儲
 10 [mysqld_safe]
 11 log-error=/var/log/mariadb/mariadb.log
 12 pid-file=/var/run/mariadb/mariadb.pid
 13 ……
 14 [root@imxhy01 ~]# systemctl enable mariadb		#設為開機啟動
 15 [root@imxhy01 ~]# systemctl start mariadb		#開啟MariaDB數據

三 創建相關數據庫

3.1 設置數據庫相關項

  1 [root@imxhy01 ~]# groupadd zabbix			#添加Zabbix組,3.x不需要手動添加
  3 [root@imxhy01 ~]# useradd -g zabbix zabbix		#添加Zabbix組,3.x不需要手動添加
  5 [root@imxhy01 ~]# mysql_secure_installation		#設置安全性,並設置數據庫root密碼
  6 [root@imxhy01 ~]# mysql -u root -p
  7 MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;		#創建數據庫且字符集為utf8,使web界面顯示中文不出現亂碼
  8 MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@‘localhost‘ identified by ‘x120952576‘;
  9 #創建zabbix數據庫和Zabbix用戶,且賦予此用戶擁有此數據庫全部權限。
 10 MariaDB [(none)]> flush privileges;
 11 MariaDB [(none)]> exit;
註意:1 若之後忘記該密碼可使用以下命令修改密碼——
  1 UPDATE zabbix.user SET passwd=md5(‘zabbix‘) WHERE alias=‘Admin‘

3.2 導入數據庫

  1 [root@imxhy01 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.1/			  #進入數據庫模板所在目錄
  2 [root@imxhy01 zabbix-server-mysql-3.2.0]# ls
  3 AUTHORS  ChangeLog  COPYING  create.sql.gz  NEWS  README
  4 [root@imxhy01 zabbix-server-mysql-3.2.0]# zcat create.sql.gz | mysql -uroot -p zabbix #將模板數據恢復至Zabbix數據庫
  6 Enter password:
  7 [root@imxhy01 ~]# mysql -u zabbix -p                                                  #用Zabbix用戶登錄
註意:也可以gunzip create.sql.gz解壓後使用mysql -uroot -p zabbix < create.sql恢復模板。
  1 MariaDB [(none)]> show databases;
  2 +-----------------------+
  3 | Database		    |
  4 +-----------------------+
  5 | information_schema    |
  6 | zabbix                |
  7 +-----------------------+
  8 2 rows in set (0.00 sec)
  9 MariaDB [(none)]> use zabbix;
 10 MariaDB [zabbix]> show tables;				#查看數據表項

四 Zabbix服務配置

4.1 配置Zabbix_server.conf項

  1 [root@imxhy01 ~]# vi /etc/zabbix/zabbix_server.conf
  2 LogFile=/var/log/zabbix/zabbix_server.log
  3 LogFileSize=0
  4 PidFile=/var/run/zabbix/zabbix_server.pid
  5 DBHost=localhost					#修改主機
  6 DBName=zabbix
  7 DBUser=zabbix
  8 DBPassword=x120952576				#修改DB密碼(之前所創建密碼)
  9 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
 10 Timeout=4
 11 AlertScriptsPath=/usr/lib/zabbix/alertscripts
 12 ExternalScripts=/usr/lib/zabbix/externalscripts
 13 LogSlowQueries=3000

4.2 啟動Zabbix服務

  1 [root@imxhy01 ~]# systemctl enable zabbix-server	        #設為開機啟動Zabbix服務
  2 [root@imxhy01 ~]# systemctl start zabbix-server		#啟動Zabbix服務
  3 [root@imxhy01 ~]# systemctl start zabbix-agent		#需要監控自己,因此也開啟agent
  4 [root@imxhy01 ~]# systemctl enable zabbix-agent		#啟動Zabbix服務

4.3 配置php

  1 [root@imxhy ~] vi /etc/php.ini
  2 date.timezone= Asia/Shanghai
  3 max_execution_time = 300
  4 post_max_size = 16M
  5 memory_limit = 128M
  6 [root@imxhy ~]# vi /etc/httpd/conf.d/zabbix.conf
  7 Alias /zabbix /usr/share/zabbix
  8 <Directory "/usr/share/zabbix">
  9     Options FollowSymLinks
 10     AllowOverride None
 11     Require all granted
 12     Allow from all
 13     php_value max_execution_time 300
 14     php_value memory_limit 128M
 15     php_value post_max_size 16M
 16     php_value upload_max_filesize 2M
 17     php_value max_input_time 300
 18     php_value always_populate_raw_post_data -1
 19     php_value date.timezone Asia/Shanghai
 20 </Directory>
註意:1 若之後配置web時,提示任何參數不滿足安裝配置要求,修改對應的參數後重啟httpd即可。 2 yum安裝可能zabbix.conf中已包含相關配置。

五 服務測試

5.1 防火墻及SELinux

  1 [root@imxhy01 ~]# firewall-cmd --permanent --add-service=http	#防火墻開放Apache服務
  2 [root@imxhy01 ~]# firewall-cmd --permanent --add-port=10051/tcp	#防火墻開放Zabbix所需端口
  3 [root@imxhy01 ~]# firewall-cmd --permanent --add-port=10050/tcp	#防火墻開放Zabbix所需端口
  4 [root@imxhy01 ~]# firewall-cmd --reload
  5 [root@imxhy01 ~]# chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
  6 [root@imxhy01 ~]# yum -y install policycoreutils-python
  7 [root@imxhy01 ~]# setsebool -P httpd_can_network_connect=true
  8 [root@imxhy01 ~]# semanage port -a -t http_port_t -p tcp 10051

5.2 啟動Apache服務

  1 [root@imxhy01 ~]# systemctl start httpd.service
  2 [root@imxhy01 ~]# systemctl enable httpd.service
註意:此處建議為了防止不必要的問題,可關閉SELinux和防火墻。

六 配置Web界面

6.1 確認各項參數

打開瀏覽器。輸入http://IP地址/zabbix。 技術分享圖片 下一步可查看各項參數均ok,若有failed可重新進行相應的php.ini修改,之後重啟服務即可。

6.2 連接數據庫

技術分享圖片
  • Database type:MySQL(選擇數據庫的類型)
  • Database host:localhost(填寫執行數據庫的主機名或者IP)
  • Database port:默認(3306)
  • Database name:zabbix(創建Zabbix數據庫時指定的名字)
  • User:Zabbix數據庫的用戶名
  • Password:Zabbix數據庫的密碼

6.3 設置Zabbix-server

技術分享圖片 技術分享圖片 Zabbix-server的鏈接地址、端口、名稱設置等。 註意:若Zabbix-server在其他機器中,此處的Host填寫Zabbix-server所在機器的IP。

6.4 登錄測試

技術分享圖片 技術分享圖片 測試登錄,此處默認用戶名:Admin,默認密碼為:zabbix。 註意:1 若無法正常運行,分別檢查zabbix_server.conf中各項配置; 2 檢查SELinux和防火墻是否開放相應端口和服務; 3 檢查/usr/share/zabbix/conf/zabbix.conf.php中各項設置。

附一:修改admin密碼

若admin默認密碼zabbix無法登錄,可采用以下方式修改。
  1 [root@imxhy01 ~]# echo -n admin | openssl md5
  2 (stdin)= 21232f297a57a5a743894a0e4a801fc3	#admin經過md5生成的加密的密碼
  3 [root@imxhy01 ~]# mysql -u root -p		#進入數據庫
  4 MariaDB [(none)]> use zabbix;		#選擇zabbix數據庫
  5 MariaDB [zabbix]> select * from users;	#查看users用戶表可知Admin用戶的ID為1,passwd為一串加密的密碼
  6 MariaDB [zabbix]> update users set passwd=‘21232f297a57a5a743894a0e4a801fc3‘ where userid = ‘1‘;					#將userid為1的用戶即Admin的密碼更新。
  7 MariaDB [(none)]> flush privileges;		#刷新權限即可
  8 MariaDB [(none)]> exit;

004.Zabbix3.x-Server服務端安裝