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

[经验分享] zabbix源码搭建

[复制链接]

尚未签到

发表于 2017-10-30 13:36:34 | 显示全部楼层 |阅读模式
参考文档:https://www.zabbix.com/documenta ... abbix_web_interface


前提:先搭好一个LNMP,PHP需要支持gd库,要不然后面web界面会有比较坎坷。。。
配置PHP对GD库的支持    http://10630401.blog.51cto.com/10620401/1976886



一、创建用户
groupadd zabbix
useradd -g zabbix zabbix

二、下载安装zabbix
yum install net-snmp-devel libevent-devel
#先安装一些依赖库(编译过程中可能会有依赖的报错,缺什么库装什么就好)

cd /tmp
wget "http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz
tar zxf zabbix-3.4.3.tar.gz
cd /tmp/zabbix-3.4.3
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
#在zabbix server一般充当两个角色:server、angent,所以上面的配置参数也同时加上了--enable-agent。

make install

三、初始化数据库
mysql -uroot -p123456
mysql> create database zabbix default charset utf8;
#创建数据库请别忘记加default charset utf8,有可能会导致你出现中文乱码问题
cd /tmp/zabbix-3.4.3/database
mysql -uroot -p123456 zabbix < ./mysql/schema.sql
mysql -uroot -p123456 zabbix < ./mysql/images.sql
mysql -uroot -p123456 zabbix < ./mysql/data.sql
#zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个schema.sql文件,而server一共要导入3个sql文件。

四、配置zabbix服务端
cd /usr/local/etc/
vim zabbix_server.conf
    DBName=zabbix
    DBUser=root
    DBPassword=123456
    DBPort=3306

五、启动zabbix_server服务
/usr/local/sbin/zabbix_server
netstat -ntlp(默认端口10051)

六、配置zabbix客户端
cd /usr/local/etc/
vim zabbix_server.conf
    Server=127.0.0.1
    ServerActive=127.0.0.1
    Hostname=Zabbix server
#其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他

七、启动zabbix_agent服务
/usr/local/sbin/zabbix_agentd
netstat -ntlp(默认端口10050)
至此,zabbix这块就装好了,下面是把zabbix-web接入nginx

八、nginx配置虚拟站点
vim nginx.conf
    server {
        listen       80;
        server_name  zabbix.test.com;
        root   /data/server/zabbix;          #这个就是zabbix-web的根目录
        index  index.html index.htm index.php;

        location ~* .*\.(php|html)?$
        {
             fastcgi_pass  127.0.0.1:9000;
             fastcgi_index index.php;
             include fastcgi.conf;
        }
    }
#别忘了重新加载nginx配置文件哦!

九、导入zabbix-web的PHP文件
cp -rp /tmp/zabbix-3.4.3/frontends/php/* /data/server/zabbix


十、在线配置zabbix
没有DNS解析的话,就直接本地绑host(IP    zabbix.test.com)
浏览器打开http://zabbix.test.com/zabbix 到安装界面

1)PHP需求检查(zabbix的前端是PHP语言写的,php编译的有问题的话这个问题就会很多,表示尝试了n多次,终于成功了)
72d5afc460916cba9b1f6312c93010c3.png
2)mysql配置(database host记得要写127.0.0.1 除非你对数据库做授权)
713020d90e48f5bce5548f491918c78b.png
3)zabbix服务端的详细信息
d218376167a573517d7b28547a5c7038.png
4)zabbix安装前的详细信息
a976d27bf306a262e102c4df40f4be26.png
5)安装完成,终于看到胜利的曙光
5823e7cb34da5e43cdf74ea35f914db1.png
6)登陆zabbix,默认用户名:Admin,密码:zabbix
8cdb389b14f935fc181395d868ca2682.png
7)zabbix的监控页面

6a41c75c993ccd30648425223c7f6405.png



PS:安装过程中可能出现的问题汇总

问题1:error while loading shared libraries:xxx.so.x
解决办法:现在机器上找下这个库find / -name 'libmysqlclient.so.18'
1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令
ldconfig命令的用途, 主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下, 搜索出可共享的动态链接库(格式如lib*.so*), 进而创建出动态装入程序(ld.so)所需的连接和缓存文件. 缓存文件默认为/etc/ld.so.cache, 此文件保存已排好序的动态链接库名字列表.

2)如果这个共享库文件安装到了/usr/local/lib或其它目录下,需要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig


问题2:zabbix_web安装中PHP需求检测fail
1)PHP 一些参数的大小问题
解决:在php.ini文件里面按照指定的大小修改相关参数,完了之后需要重启php,刷新zabbix页面即可

2)always-populate-raw-post-data = -1的问题
解决方案:vim /data/server/zabbix/include/classes/setup/CFrontendSetup.php
找到下面代码、关于always-populate-raw-post-data;
添加 $current = -1;
public function checkPhpAlwaysPopulateRawPostData() {
                $current = ini_get('always_populate_raw_post_data');
                $current = -1;
                return array(
                        'name' => _('PHP always_populate_raw_post_data'),
                        'current' => ($current != -1) ? _('on') : _('off'),
                        'required' => _('off'),
                        'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
                        'error' => _('PHP always_populate_raw_post_data must be set to -1.')
                );
        }
3)有些模块没有编译进去的,那你只能重新编译PHP了,下面是我编译php的一些参数,提供参考!
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --enable-sockets --enable-bcmath  --enable-mbstring --with-gd --with-zlib --with-png-dir=/usr/local/include/libpng16/  --with-jpeg-dir=/usr/local/include  --with-freetype-dir=/usr/local/include/freetype2/freetype

具体请看PHP的源码编译篇!



运维网声明 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-406211-1-1.html 上篇帖子: zabbix-agnet扩展问题 下篇帖子: Ubuntu 16下安装zabbix agent
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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