因為機房內的服務器並不是所有都能上外網,所以利用zabbix官方源的安裝方法就行不通了,又嫌棄編譯安裝麻煩,所以這里選擇離線RPM包安裝zabbix。(如需完整rpm包可以留言與我聯系)
下載zabbix離線安裝包
1.首先在可以上外網的測試機上(測試機系統版本需要與離線服務器相同)安裝zabbix的官方源,隨便挑一個版本
rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm ##3.4 rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm ##3.2 rpm -i https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm ##3.0 rpm -i https://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm ##2.2
2. 利用yum的下載包功能,將zabbix需要的所有軟件都下載下來(yum會解決rpm包的依賴問題)
[root@localhost ~]# yum install --downloadonly --downloaddir=/root zabbix-XXXXXXXXXX
因為zabbix需要LAMP的環境,所以上面利用yum下載的包還應該有httpd、php、php-mysql、mariadb、mariadb-server包。同時離線服務器可能沒有安裝createrepo,無法生成yum索引,所以這里還要下載一個createrepo軟件
3.下載完成后,所有的rpm包都在root目錄下
[root@localhost ~]# ls /root apr-1.4.8-3.el7_4.1.x86_64.rpm apr-util-1.5.2-6.el7.x86_64.rpm dejavu-fonts-common-2.33-6.el7.noarch.rpm dejavu-sans-fonts-2.33-6.el7.noarch.rpm fontpackages-filesystem-1.44-8.el7.noarch.rpm fping-3.10-1.el7.x86_64.rpm httpd-2.4.6-80.el7.centos.1.x86_64.rpm httpd-tools-2.4.6-80.el7.centos.1.x86_64.rpm iksemel-1.4-2.el7.centos.x86_64.rpm libevent-2.0.21-4.el7.x86_64.rpm libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm libXpm-3.5.12-1.el7.x86_64.rpm libxslt-1.1.28-5.el7.x86_64.rpm libzip-0.10.1-8.el7.x86_64.rpm mailcap-2.1.41-2.el7.noarch.rpm mariadb-5.5.56-2.el7.x86_64.rpm mariadb-libs-5.5.56-2.el7.x86_64.rpm mariadb-server-5.5.56-2.el7.x86_64.rpm net-snmp-libs-5.7.2-33.el7_5.2.x86_64.rpm OpenIPMI-libs-2.0.23-2.el7.x86_64.rpm OpenIPMI-modalias-2.0.23-2.el7.x86_64.rpm openssl-1.0.2k-12.el7.x86_64.rpm openssl-libs-1.0.2k-12.el7.x86_64.rpm perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm perl-Data-Dumper-2.145-3.el7.x86_64.rpm perl-DBD-MySQL-4.023-6.el7.x86_64.rpm perl-DBI-1.627-4.el7.x86_64.rpm perl-IO-Compress-2.061-2.el7.noarch.rpm perl-Net-Daemon-0.48-5.el7.noarch.rpm perl-PlRPC-0.2020-14.el7.noarch.rpm php-5.4.16-45.el7.x86_64.rpm php-bcmath-5.4.16-45.el7.x86_64.rpm php-cli-5.4.16-45.el7.x86_64.rpm php-common-5.4.16-45.el7.x86_64.rpm php-fpm-5.4.16-45.el7.x86_64.rpm php-gd-5.4.16-45.el7.x86_64.rpm php-ldap-5.4.16-45.el7.x86_64.rpm php-mbstring-5.4.16-45.el7.x86_64.rpm php-mysql-5.4.16-45.el7.x86_64.rpm php-pdo-5.4.16-45.el7.x86_64.rpm php-xml-5.4.16-45.el7.x86_64.rpm t1lib-5.1.2-14.el7.x86_64.rpm unixODBC-2.3.1-11.el7.x86_64.rpm zabbix-agent-3.4.11-1.el7.x86_64.rpm zabbix-get-3.4.11-1.el7.x86_64.rpm zabbix-proxy-mysql-3.4.11-1.el7.x86_64.rpm zabbix-sender-3.4.11-1.el7.x86_64.rpm zabbix-server-mysql-3.4.11-1.el7.x86_64.rpm zabbix-web-3.4.11-1.el7.noarch.rpm zabbix-web-mysql-3.4.11-1.el7.noarch.rpm
離線服務器安裝zabbix
4.將這些rpm包通過xftp等工具拷出來,放在U盤等其他介質里,拷貝到離線服務器中
5.在離線服務器中新建個/zabbix文件夾存放這些rpm包
[root@localhost ~]# mkdir /zabbix
5.1.將下載好的zabbix離線安裝包通過xftp傳入服務器內
6.在/etc/yum.repos.d文件夾中添加myzabbix.repo文件,並將其他的repo移至back文件夾中
[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# mkdir back [root@localhost yum.repos.d]# mv *.repo back [root@localhost yum.repos.d]# vi myzabbix.repo [base] name=base baseurl=file:///zabbix enable=1 gpgcheck=0
7.前面提到,可能這台離線服務器沒有安裝createrepo軟件,所以去剛剛的rpm文件夾中安裝。這里因為誒依賴關系可能會報錯,不過依賴的兩個包都已經下載下來了。
[root@localhost zabbix]# rpm -ivh createrepo
8.生成本地zabbix源的索引文件
[root@localhost yum.repos.d]# createrepo /zabbix/ Spawning worker 0 with 51 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
9.清空yum緩存后,在查看所有可以安裝的軟件
[root@localhost yum.repos.d]# yum clean all Loaded plugins: fastestmirror, langpacks Cleaning repos: base Cleaning up everything Cleaning up list of fastest mirrors [root@localhost yum.repos.d]# yum list all
10.如果沒有報錯的話,就可以用yum直接裝LAMP環境和zabbix了。如果中途提示缺少依賴性軟件,代表第二步沒有下載完整
[root@localhost zabbix]# yum install mariadb-server zabbix-server-mysql zabbix-web-mysql -y
調試數據庫及PHP
1.新建zabbix數據庫,並把其數據庫所有權限賦予給zabbix用戶,密碼為password
[root@localhost ~] mysql -uroot ##初始沒密碼 mysql> create database zabbix character set utf8 collate utf8_bin; ##調整編碼格式 mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password'; ##給本地的zabbix權限 mysql> quit;
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
3.在zabbix服務端配置文件中,將剛剛設置的密碼填寫到對應位置,注意大小寫
[root@localhost ~]# vi /etc/zabbix/zabbix_server.conf DBPassword=password ##注意大小寫
4.更改httpd中zabbix.conf中的時區為上海
[root@localhost ~]# vi /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/shanghai
5.linux版本zabbix客戶端的安裝
#安裝客戶端 [root@localhost zabbix]# yum install zabbix-agent-3.4.11-1.el7.x86_64.rpm -y #修改配置文件 [root@localhost ~]# vi /etc/zabbix/zabbix_agentd.conf Server=127.0.0.1 ##允許哪個主機來取數據 ServerActive=127.0.0.1 ##將數據發送給哪個主機 #啟動並開機自啟客戶端 [root@localhost zabbix]# systemctl start zabbix-agent [root@localhost zabbix]# systemctl enable zabbix-agent
5.1.windows版本zabbix客戶端的安裝
#在C盤下新建zabbix文件夾 C:\zabbix #解壓下載的zabbix客戶端安裝包,將文件夾內的bin\win64\zabbix_agentd.exe和conf\zabbix_agentd.win.conf兩個文件復制到剛剛新建的zabbix文件夾內 #編輯zabbix_agentd.win.conf文件,指定server地址到對應服務器 #運行cmd命令,安裝客戶端程序 C:\> c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.win.conf -i #到服務下,啟動客戶端程序 #下面是官方文檔 Agent on Windows systems Zabbix agent on Windows runs as a Windows service. Preparation Zabbix agent is distributed as a zip archive. After you download the archive you need to unpack it. Choose any folder to store Zabbix agent and the configuration file, e. g. C:\zabbix Copy bin\win64\zabbix_agentd.exe and conf\zabbix_agentd.win.conf files to c:\zabbix. Edit the c:\zabbix\zabbix_agentd.win.conf file to your needs, making sure to specify a correct “Hostname” parameter. Installation After this is done use the following command to install Zabbix agent as Windows service: C:\> c:\zabbix\zabbix_agentd.exe -c c:\zabbix\zabbix_agentd.win.conf -i Now you should be able to configure “Zabbix agent” service normally as any other Windows service. See more details on installing and running Zabbix agent on Windows.
5.2.到這一步,基本的部署工作就做完了,只剩下啟動服務,在啟動服務之前,需要確定一下SElinux,firewalld是否為關閉狀態。因為這些應用都會干擾zabbix的正常運行。
#查看selinux狀態 [root@localhost zabbix]# getenforce Enforcing #開啟狀態 #設置selinux為被動模式 [root@localhost zabbix]# setenforce 0 [root@localhost zabbix]# getenforce Permissive #被動模式 [root@localhost zabbix]# vi /etc/selinux/config SELINUX=disable
#查看firewall是否開機啟動 [root@localhost zabbix]# systemctl list-unit-files | grep fire firewalld.service enabled #查看firewall是否正在運行 [root@localhost zabbix]# systemctl status firewalld.service [root@localhost zabbix]# systemctl list-units | grep fire #停掉firewall,並禁止開機啟動 [root@localhost zabbix]# systemctl stop firewalld.service [root@localhost zabbix]# systemctl disable firewalld.service #再次查看selinux和firewall是否停掉了
6.開啟服務
[root@localhost ~]# systemctl start httpd zabbix-server zabbix-agent [root@localhost ~]# systemctl restart mariadb.service
7.打開瀏覽器輸入http://serverIP/zabbix
8.點擊下一步后,右側顯示都OK繼續
9.下一步后,對照剛才的配置填寫密碼
10.給自己的zabbix起個名字
11.確認剛才的配置
12.結束就完事了
13.登錄時,默認的用戶名是Admin,密碼為zabbix,注意大小寫
14.到這一步,安裝就已經都完成了
解決zabbix圖形亂碼問題
從windows字體庫中,將楷體字復制出來,放到/usr/share/zabbix/fonts/目錄下
[root@localhost zabbix]# cd /usr/share/zabbix/fonts/ [root@localhost fonts]# ls graphfont.ttf simkai.ttf #將默認字體改為楷體 [root@localhost fonts]# vi /usr/share/zabbix/include/defines.inc.php define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name define('ZBX_FONT_NAME', 'simkai');