设为首页 收藏本站
查看: 1205|回复: 0

[经验分享] Zabbix基于lamp的安装流程

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-10 17:25:31 | 显示全部楼层 |阅读模式
目录
[url=]Zabbix基于lamp的安装流程... 1[/url]
[url=]1安装Mysql... 1[/url]
[url=]先安装相关的库和工具... 1[/url]
[url=]Mysql的安装... 1[/url]
[url=]2httpd的安装... 2[/url]
[url=]先安装相关的库和工具... 2[/url]
[url=]Httpd的安装... 2[/url]
[url=]3PHP的安装... 3[/url]
[url=]先安装相关的库和工具... 3[/url]
[url=]PHP的安装... 3[/url]
[url=]4zabbix的安装... 4[/url]
[url=]先安装相关的库和工具... 4[/url]
[url=]Zabbix的安装... 4[/url]
[url=]Zabbix的相关配置... 4[/url]
[url=]zabbix浏览器安装... 5[/url]
[url=]Zabbix配置php-ini的修改... 6[/url]
[url=]注意事项... 12[/url]

[url=]1[/url]安装Mysql[url=]先安装相关的库和工具[/url]
yum install  cmake*  ncurses*  bison*  gcc-c++*  libxml2*  gettext*  openssl* libcurl*  net-snmp* libxml2* make* -y
说明
需联网安装
[url=]Mysql[/url]的安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock  -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DSYSCONFDIR=/etc -DEXTRA_CHARSETS=all
说明
把mysql的源码包copy到/usr/local/src下然后tar解压进入到mysql目录下
Cmake下指令安装的路径生成config配置文件供make使用

make && make install
说明
编译安装

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chown mysql:mysql /usr/local/mysql/ -R
scripts/mysql_install_db  --user=mysql --skip-name-resolve --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
说明
mysql_install_db 用于生成一份新的MYSQL权限表创建新的实例不会影响现有的权限表

用户登录mysql总是提示找不到socket的解决办法
vi /etc/my.cnf
把socket的路径都写上
两个模块都写上
spacer.jpg

[url=]2[/url]httpd的安装[url=]先安装相关的库和工具[/url]
yum install   pcre-devel pcre libxml2-devel libpng libpng-devel  freetype-devel fontconfig-devel  jpeg-devel   libjpeg-devel  libXpm-devel libvpx-devel libtiff-devel gettext-devel libgcrypt-devel

./configure --prefix=/usr/local/libiconv && make && make install  
centos7  make编译出现 spacer.jpg
vim srclib/stdio.h
直接把1010行注释掉再make即可
./configure --prefix=/usr/local/apr && make && make install
./configure --prefix=/usr/local/apr-util --with-iconv=/usr/local/libiconv/ --with-mysql=/usr/local/mysql/ --with-openssl=/usr/   --with-apr=/usr/local/apr/
make && make install
说明
使用源码包预先安装libiconv  apr  apr-util 用于http安装时指定相应的路径

禁止apache显示目录
spacer.jpg
spacer.jpg

[url=]Httpd[/url]的安装
./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/  --with-pcre=/usr --with-libxml2=/usr --with-ssl=/usr   -enable-rewrite -enable-so  --enable-load-all-modules
Make && make install
说明
使用源码包安装httpd后在浏览器中输入ip出现 IT WORKS!说明httpd安装成功

[url=]3[/url]PHP的安装[url=]先安装相关的库和工具[/url]
./configure --prefix=/usr/local/zlib  && make && make install
./configure --prefix=/usr/local/libgd --with-zlib=/usr/local/zlib/  --with-png=/usr/ --with-freetype=/usr/  --with-fontconfig=/usr/ --with-jpeg=/usr/  --with-xpm=/usr/ --with-vpx=/usr/ --with-tiff=/usr/ && make && make install
./configure --prefix=/usr/local/mcrypt  && make && make install
说明
使用源码包预先安装 zlib/libgd,用于php安装是指定相应的路径
提示php configure: error: Cannot find OpenSSL's libraries
解决 ln -s /usr/lib64/libssl.so /usr/lib/ configure: error: Please reinstall the BZip2 distribution
yum install bzip2*

[url=]PHP[/url]的安装

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --enable-fpm  --with-libxml-dir=/usr/ --with-openssl=/usr/  --with-zlib=/usr/local/zlib/  --enable-bcmath --with-bz2=/usr/  --with-curl=/usr/  --with-libxml-dir=/usr/ --with-pcre-dir=/usr/ --with-openssl-dir=/usr/ --with-gd=/usr/local/libgd/  --with-vpx-dir=/usr --with-jpeg-dir=/usr/ --with-png-dir=/usr/  --with-zlib-dir=/usr/ --with-xpm-dir=/usr --with-freetype-dir=/usr/   --with-gettext=/usr/  --enable-mbstring   --with-mcrypt=/usr/local/mcrypt --with-mysql=/usr/local/mysql/  --with-zlib-dir=/usr/local/zlib/ --with-libxml-dir=/usr/ --enable-bcmath --with-mysqli=/usr/bin/mysql_config --with-gettext=/usr --enable-sockets

centos7错误:
configure: error: Cannot find libmysqlclient_r under /usr/local/mysql/.
Note that the MySQL client library is not bundled anymore!
其实这跟PHP没有关系那是因为在编译APACHE的时候使用--with-mpm模块所以就必须在编译MYSQL的时候加上--enable-thread-safe-client.参数
这是PHP5.2的一个改进在PHP5.2.0之前的版本都不需要MYSQL启用安全线程。关于--enable-thread-safe-client项的官方介绍如下:如何生成线程式客户端库总是线程安全的。最大的问题在于从套接字读取的net.c中的子程序并不是中断安全的。或许你可能希望用自己的告警中断对服务器的长时间读取以此来解决问题。如果为SIGPIPE中断安装了中断处理程序套接字处理功能应是线程安全的。SupeSite/X-为了避免连接中断时放弃程序MySQL将在首次调用mysql_server_init()、mysql_init()或mysql_connect()时屏蔽SIGPIPE。如果你打算使用自己的SIGPIPE处理程序首先应调用mysql_server_init()然后安装你的处理程序.

还有第二种解决方法比较方便编译之前先处理一下mysql的库默认查找libmysqlclient_r.so可是mysql默认为libmysqlclient.so内容完全一样做个链接即可
# cd /usr/local/mysql/lib/mysql/
# ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so

Make && make install
说明
1安装完成后需要修改httpd的配置文件是httpd支持php
Vi /etc/httpd/httpd.conf
添加
AddType application/x-httpd-php .php .phtml
重启下httpd使配置生效   service httpd restart
在Listen的ip后面加上端口可以改变http的固定端口
例如Listen 127.0.0.18888
2cp php.ini-development /usr/local/php/lib/php.ini  生成php的配置文件
3在httpd的htdocs目录下创建test.php文件内容如下
<?php
phpinfo();
?>
用于验证php是否正确安装成功
[iyunv@bbs conf]# httpd start
AH00557: httpd: apr_sockaddr_info_get() failed for bbs
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message

把httpd.conf的ServerName改成127.0.0.1

root@bbs logs]# more error_log
[Fri Oct 16 14:31:34.638670 2015] [unique_id:alert] [pid 10800:tid 140113200580352] (EAI 2)Name or service not known: AH01564:
unable to find IPv4 address of "bbs"
AH00016: Configuration Failed
修改/etc/hosts
127.0.0.1   bbs localhost localhost.localdomain localhost4 localhost4.localdomain4

[url=]4[/url]zabbix的安装
zabbix 备份基本数据  
mysqldump --socket=/usr/local/mysql/mysql.sock\
--ignore-table=zabbix.history \
--ignore-table=zabbix.history_log\
--ignore-table=zabbix.history_str\
--ignore-table=zabbix.history_text\
--ignore-table=zabbix.history_uint\
--ignore-table=zabbix.trends\
--ignore-table=zabbix.trends_uint zabbix > zabbix.sql
[url=]先安装相关的库和工具[/url]
yum install OpenIPMI-devel OpenIPMI-libs ipmitoolfreeipmi-devel OpenIPMI-python –y

groupadd zabbix
useradd -r -s /sbin/nologin -g zabbix zabbix
说明
增加zabbix 和用户组
[url=]Zabbix[/url]的安装
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl=/usr/bin/curl-config --with-iconv=/usr/local/libiconv/ --with-openipmi=/usr/ --with-ssh2=/usr/ --with-net-snmp=/usr/bin/net-snmp-config --with-libxml2=/usr/bin/xml2-config --enable-java  (使能java用于jvm监控比如tomcat)
Make && make install
[url=]Zabbix[/url]的相关配置
mysql -u root –p
mysql> create database zabbix;
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-2.0.14/ database/mysql/schema.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/images.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/data.sql
mysql> exit
说明
对mysql进行配置创建授权给zabbix用户用于登录数据库导入zabbix源码包中的数据到数据库中

vim /etc/services
zabbix-agent    10050/tcp       # zabbix-agent
zabbix-agent    10050/udp
zabbix-trapper  10051/tcp      # zabbix-trapper
zabbix-trapper  10051/udp
说明
在services中添加zabbix的端口

cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

cp -R frontends/php/ /usr/local/apache/htdocs/zabbix

vim /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log      
DBName=zabbix                                 
DBUser=zabbix                                 
DBPassword=zabbix                        
说明
拷贝zabbix_server zabbix-agnetd到/etc/init.d/用于服务启动使用
把frontends/php/下所有的文件拷贝到httpd的htdocs/zabbix目录下用于浏览器安装使用
修改zabbix_server的配置文件定义数据库的用户名和密码

vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
说明
修改zabbix_server zabbix_agentd 中zabbix的安装目录路径

service zabbix_server start
service zabbix_agentd start
说明
启动zabbix的服务
如果提示找不到libmysqlclient.so.18做如下操作
ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib
如果提示找不到libiconv.so.2做如下操作
ln -s /usr/local/libiconv/lib/libiconv.so.2 /usr/lib
[url=]zabbix[/url]浏览器安装
在浏览器地址栏中输入IP/zabbix
迁移的问题
把之前的htdoc下的所有文件copy到新主机上包裹php.ini等
spacer.jpg

出现如下进入zabbix的欢迎页面点击netx
spacer.jpg
说明
这就需要修改php的配置文件  php.ini(路径可通过php的测试页面可查看到)


[url=]Zabbix[/url]配置php-ini的修改
vim /usr/local/php/lib/php.ini
post_max_size = 16M         
max_execution_time = 300     
max_input_time = 300            
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1

解决databases support的问题
分布进入到mysqli和 /bcmath/ 和 /gettext/的目录数据库源码中
分布用phpize生成configure文件:
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
./configure --prefix=/usr/local/mysqli \
--with-php-config=/usr/local/php/bin/php-config \  
--with-mysqli=/usr/local/mysql/bin/mysql_config

说明  
---根据环境实际路径find / -name mysql_config
--根据环境实际路径find / -name php-config

make
说明
如果提示找不到ext/mysqlnd/mysql_float_to_double.h,但是mysql_float_to_double.h确实存在查看报错.c的文件include包含的“ext/mysqlnd/mysql_float_to_double.h”,包含的是相对路径改成绝对路径“/usr/local/src/php-5.6.10/ext/mysqlnd”,然后重新make即可

make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/debug-non-zts-20060613/


然后在/usr/local/lib/php.ini
加上一句
extension=/usr/local/php/lib/php/extensions/debug-non-zts-20060613/mysqli.so

/bcmath/ 和 /gettext/的操作同上
重新启动apache即可看到已经加载mysqli成功。

解决 mbstring.func_overload的问题
修改php.ini 把mbstring.func_overload值修改为0即可

解决always_populate_raw_post_data的问题
修改php.ini 把always_populate_raw_post_data值修改为-1即可
把相对应的错误修改OK后retry即可查看到如下界面
spacer.jpg
点解next配置mysql的相关信息
spacer.jpg
spacer.jpg
spacer.jpg
点击next
spacer.jpg

点击next
spacer.jpg

点击next
spacer.jpg

如果出现zabbix.conf.php文件创建失败点击下载配置文件按钮下载该配置文件并把该文件上传到/usr/local/httpd/htdocs/zabbix/conf/目录下点击retry
spacer.jpg

点击finish进入登录zabbix的页面

spacer.jpg
输入admin  zabbix默认进入zabbix监控页面
spacer.jpg

至此zabbix安装完成


[url=]注意事项[/url]
1在选择zabbix版本时可以不要选择最新的zabbix版本zabbix2.4.5
在安装中最新的zabbix可能存在和lamp其他安装包兼容的问题
在zabbix浏览器安装过程中可能会出现总会在welcome页面和第二个配置页面循环出现不能进入到第三部的配置mysql的界面导致zabbix无法安装。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-189111-1-1.html 上篇帖子: zabbix图表显示异常 下篇帖子: Zabbix 监控某无法获取某主机信息记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表