因为机房内的服务器并不是所有都能上外网,所以利用zabbix官方源的安装方法就行不通了,又嫌弃编译安装麻烦,所以这里选择离线RPM包安装zabbix。(如需完整rpm包可以留言与我联系)

下载zabbix离线安装包

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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;
2.将zabbix 的数据库表导入zabbix数据库中
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

离线服务器安装zabbix Linux 第1张

8.点击下一步后,右侧显示都OK继续

离线服务器安装zabbix Linux 第2张

9.下一步后,对照刚才的配置填写密码

离线服务器安装zabbix Linux 第3张

10.给自己的zabbix起个名字

离线服务器安装zabbix Linux 第4张

11.确认刚才的配置

离线服务器安装zabbix Linux 第5张

12.结束就完事了

离线服务器安装zabbix Linux 第6张

13.登录时,默认的用户名是Admin,密码为zabbix,注意大小写

离线服务器安装zabbix Linux 第7张

14.到这一步,安装就已经都完成了

离线服务器安装zabbix Linux 第8张

 

解决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

  

 

 

 

 

 

 

 

 

 

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄