在CentOS6上运行Zabbix 3.0(使用PatchELF)
对于官方的 RHEL6/CentOS6,Zabbix Server 包是没有提供的。
虽然有几个原因导致不再提供支持,但在 RHEL6/CentOS6 上仍存在希望运行 Zabbix Server 的需求。
最好的方法是通过源代码编译的方式。在CentOS6上运行Zabbix 3.0 (自己编译部分)。虽然编译比较麻烦,但是以包的形式安装可以更容易管理。此外,将curl更新并放置在/usr/local目录下,考虑了兼容性配置。
我之前写过关于在CentOS 6上使用Zabbix 3.0进行轻松运行(通过手动配置而非编译构建)的方法,在这种方法中,您可以解压rpm软件包并将相应的glibc、libmysqlclient和libcurl文件放置到相应位置来进行运行确认。
由于yum和rpm命令可以指定替代路径来安装软件包,因此结合PatchELF可以进行软件包管理。因此,我们对原稿进行了手动修改,使其相对更易管理,并在此介绍。
添加EPEL和Remi软件包库。
# yum install epel-release
# yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# yum update
安装MySQL软件包。
# yum install --enablerepo remi mysql-libs compat-mysql51 mysql perl-DBD-MySQL mysql-server
由于需要一些CentOS 7的软件包,所以让它们能够通过yum进行获取。
# sed 's/CentOS-6/CentOS-7/; s/\]$/7]/
/\[base/,/^$/{
/^$/ienabled=0
}
/\[updates/,/^$/{
/^$/ienabled=0
}
/\[extras/,/^$/{
/^$/ienabled=0
}' /etc/yum.repos.d/CentOS-Base.repo >/etc/yum.repos.d/CentOS7-Base.repo
安装DownloadOnly插件,可以仅下载软件包而不进行安装。
注:似乎不需要安装 yum-3.2.29-69.el6.centos.noarch 。
# yum install yum-plugin-downloadonly
将依赖于CentOS7的软件包安装到替代路径中。
注:包裝版本可能已經更新了。
# mkdir download
# cd download
# mkdir /opt/centos7
# yum --installroot=/opt/centos7 --releasever=7 --disablerepo base,updates --enablerepo base7,updates7 --downloadonly --downloaddir=`pwd` install glibc net-snmp-libs libcurl mariadb-libs
# rpm -r /opt/centos7/ --nodeps -ivh glibc-2.17-106.el7_2.4.x86_64.rpm net-snmp-libs-5.7.2-24.el7.x86_64.rpm libcurl-7.29.0-25.el7.centos.x86_64.rpm mariadb-libs-5.5.47-1.el7_2.x86_64.rpm
从Remi软件库中安装PHP。
# yum --enablerepo remi install php-common php php-mysql php-bcmath php-xml httpd-tools httpd php-cli php-pdo php-mbstring php-gd php-ldap
我們將引入Zabbix。我們將添加EL6的倉庫。
# rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
使EL7的软件包可以被重用。
# rpm -r /opt/centos7 -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
# sed 's/\]/7]/; s/enabled=1/enabled=0/' /opt/centos7/etc/yum.repos.d/zabbix.repo >/etc/yum.repos.d/zabbix7.repo
# yum clean all
# yum install zabbix-agent zabbix-get zabbix-sender zabbix-java-gateway zabbix-proxy-mysql zabbix-sender
# yum install --enablerepo zabbix7 zabbix-web zabbix-web-japanese zabbix-web-mysql
只需要处理iksemel这个特殊情况。
# yum --downloadonly --downloaddir=`pwd` install iksemel
# yum install iksemel
# rpm -r /opt/centos7 --nodeps -ivh iksemel-1.4-2.el6.x86_64.rpm
将适用于CentOS 7的软件包安装到常规路径下。
# rpm --nodeps -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-server-mysql-3.0.1-1.el7.x86_64.rpm
使用PatchELF替换解释器和rpath。
# /usr/local/bin/patchelf --set-interpreter /opt/zabbix/lib64/ld-linux-x86-64.so.2 --set-rpath /opt/zabbix/lib64:/opt/zabbix/usr/lib64:/opt/zabbix/usr/lib64/mysql /usr/sbin/zabbix_server_mysql
确认。
ldd /usr/sbin/zabbix_server
打扫卫生。
yum clean all
创业脚本
在 CentOS7 上,由于使用 systemd,因此不包含传统的启动脚本。
那么,我们使用 Zabbix 2.4 软件包中包含的内容。
$ curl http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-server-2.4.7-1.el6.x86_64.rpm >zabbix-server-2.4.7-1.el6.x86_64.rpm
# rpm2cpio zabbix-server-2.4.7-1.el6.x86_64.rpm | (cd / && cpio -idmvu ./etc/init.d/zabbix-server)
就是这样。
请用中文将以下内容进行改述,请给出一种选项:
原文:The new movie is set to be released next month.
改述:这部新电影计划于下个月上映。