运维百科

Centos7下zabbix4.0.1编译安装

Zabbix是什么?

官方手册对Zabbix的介绍

  • Zabbix 是由Alexei Vladishev创建,目前由ZabbixSIA在持续开发和支持。

  • Zabbix 是一个企业级的分布式开源监控方案。

  • Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。

  • Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务
    器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。

  • Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。

Zabbix Architecture

Zabbix-2.jpg

优点:
1、开源,无软件成本投入
2、Server 对设备性能要求低
3、支持设备多,自带多种监控模板
4、支持分布式集中管理,有自动发现功能,可以实现自动化监控
5、开放式接口,扩展性强,插件编写容易
6、当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动 从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。
7、Api 的支持,方便与其他系统结合
缺点:
1、需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
2、zabbix系统基于PHP环境运行,所以前提是系统上有PHP的运行环境,lnmp或者lamp环境

1、下载源码包

http://sourceforge.mirrorservice.org/z/za/zabbix/ZABBIX%20Latest%20Stable/4.0.1/zabbix-4.0.1.tar.gz

2. 安装依赖库

yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel

3、解压并编译

tar -xvf zabbix-4.0.1.tar.gz
cd zabbix-4.0.1
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

错误1:

configure: error: MySQL library not found

解决办法:

a、查找mysql_config

#find / -name "mysql_config*"

/usr/local/mysql/bin/mysql_config

b、把--with-mysql改成

--with-mysql=/usr/local/mysql/bin/mysql_config,正常通过。

错误2:

configure: error: unixODBC library not found

解决办法:

#yum install unixODBC-devel

错误3:

configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config

解决办法:

#yum install -y net-snmp-devel

错误4:

configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h

解决办法:

#yum install OpenIPMI-devel

4、安装

make && make install

5、创建zabbix用户和用户组

# groupadd zabbix
# useradd -r -g zabbix zabbix
# cd /usr/local && chown -R zabbix:zabbix zabbix

6、创建zabbix数据库,并导入表结构,注意要按顺序导入,否则会报错。

# mysql -uroot -p
mysql> create database if not exists zabbix default character set utf8 collate utf8_general_ci;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix2018';
mysql> exit
# mysql -uroot -pzabbix2018 zabbix < /usr/local/src/zabbix-4.0.1/database/mysql/schema.sql
# mysql -uroot -pzabbix2018 zabbix < /usr/local/src/zabbix-4.0.1/database/mysql/images.sql 
# mysql -uroot -pzabbix2018 zabbix < /usr/local/src/zabbix-4.0.1/database/mysql/data.sql

7、创建日志目录

# cd /usr/local/zabbix
# mkdir logs
# chown zabbix:zabbix logs

8、修改zabbix_server.conf

# vim ./etc/zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix2018
DBSocket=/tmp/mysql.sock
Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

9、修改zabbix_agent.conf

# vim ./etc/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

10、启动zabbix_server 和 zabiix_agent服务

# /usr/local/zabbix/sbin/zabbix_server
# /usr/local/zabbix/sbin/zabbix_agent
PS:如果再启动的时候报错:error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
解决方法:
# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/
# ldconfig
然后再次启动服务

11、拷贝WEB应用程序,/data/html为nginx或者Apache的运行PHP程序的目录

# cp -rf /usr/local/src/zabbix-4.0.1/frontends/php/ /home/wwwroot/default/zabbix/
# chown -R www:www /home/wwwroot/default/zabbix/

4、修改PHP的配置参数

# vim /usr/local/php/etc/php.ini
date.timezone= Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 1
max_input_time = 300
always_populate_raw_post_data = -1
# /etc/init.d/php-fpm restart

9、zabbix服务启动脚本

# cp zabbix-4.0.1/misc/init.d/fedora/core/zabbix_server /etc/init.d/
# cp zabbix-4.0.1/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
修改启动脚本的zabbix路径
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix

10、开机启动

chkconfig --add zabbix_server
chkconfig zabbix_server on
/etc/init.d/zabbix_server restart

chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on
/etc/init.d/zabbix_agentd restart

11、web服务初始化

输入服务器IP地址192.168.2.3/zabbix,初始化安装的默认账号:Admin,密码:zabbix


至此,zabbix服务端搭建完成。

本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

1
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址