共计 5112 个字符,预计需要花费 13 分钟才能阅读完成。
由于 ubuntu 源里自带有 zabbix,可以直接通过 apt-get 的方式进行安装,所以这里就以 centos6.5 为例,介绍下 zabbix 的源码包编译安装的过程。
1、yum 安装 lamp
#yum -y update | |
#yum -y install | |
gcc gcc-c++ autoconf | |
httpd php mysql mysql-server php-mysql | |
httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap | |
php-pear | |
php-xmlrpc | |
php-bcmath | |
mysql-connector-odbc | |
mysql-devel | |
libdbi-dbd-mysql | |
net-snmp-devel curl-devel | |
unixODBC-devel | |
OpenIPMI-devel | |
java-devel |
2、修改 php.ini
由于后面的安装时会对 php.ini 的相关参数进行检测,发现不满足时在页面上会报错,所以这里需要提前修改相关参数,其中需要修改的部分如下:
# vim /etc/php.ini | |
date.timezone = Asia/Shanghai | |
max_execution_time = 300 | |
post_max_size = 32M | |
max_input_time=300 | |
memory_limit = 128M | |
mbstring.func_overload = 2 |
也可以直接通过 shell 语句的方式进行修改,如下:
1、安装 zabbix 编译时所需的依赖包
# yum -y install curl curl-devel pcre pcre-devel libssh2-devel openldap-devel
2、zabbix 的下载安装
到 zabbix 的下官方下载页面下载取新的 stable 版本,目前的最新版本为 2.2.3
3、编译安装
# useradd zabbix | |
# ./configure --prefix=/usr | |
--sysconfdir=/etc/zabbix | |
--enable-server --enable-proxy | |
--enable-agent | |
--enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp | |
--with-libcurl | |
--with-openipmi | |
--with-unixodbc | |
--with-ldap | |
--with-ssh2 | |
--enable-java | |
# make install | |
注: |
a、如果你只是想安装一个服务端,只需开启 –enable-server 即可,其他参数可以不用选,但这里是为了后面的各项功能都可以使用,所以开启了非常多的参数。
b、通常在需要进行自动化处理的环境中,一般需要统一批量主机的用户名的 ID 值,可以通过
groupadd -g 201 zabbix ;useradd -g zabbix -u 201 -m zabbix | |
的方式新增用户。 |
4、增加 services 配置
编辑 /etc/services 配置文件,新增下面部分:
# vim /etc/services | |
zabbix-agent 10050/tcp #Zabbix Agent | |
zabbix-agent 10050/udp #Zabbix Agent | |
zabbix-trapper 10051/tcp #Zabbix Trapper | |
zabbix-trapper 10051/udp #Zabbix Trapper |
配置 mysql 默认开机启动,并启动 mysql 服务:
# chkconfig mysqld on | |
# services mysqld start |
修改 mysql root 密码,并登录测试:
# mysqladmin -uroot password 123456 | |
# mysql -uroot -p123456 |
创建 zabbix 使用的数据库,并配置用户名密码:
mysql> create database zabbix character set utf8; | |
Query OK, 1 row affected (0.00 sec) | |
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; | |
Query OK, 0 rows affected (0.00 sec) | |
mysql> flush privileges; | |
Query OK, 0 rows affected (0.00 sec) |
这里新建了一个用户名密码都为 zabbix 的账号,完成后记得使用 zabbix -uzabbix -pzabbix 测试是否可以正常进行连接。
进入 zabbix 源码包解压目录,导入 mysql 数据:
[ | ]|
[ | ]|
[ | ]
1、配置 zabbix 启动脚本,并设置为开机自启动
// 设置开机自启动 | |
2、zabbix_server.conf 服务端配置
修改 /etc/zabbix/zabbix_server.conf 配置文件,修改后配置文件结果类似如下:
# egrep -v "(#|^$)" /etc/zabbix/zabbix_server.conf | |
LogFile=/var/log/zabbix/zabbix_server.log | |
DBHost=localhost | |
DBName=zabbix | |
DBUser=zabbix | |
DBPassword=zabbix | |
// 以下部分为可选项,可以使用默认值即可 | |
DBSocket=/var/lib/mysql/mysql.sock | |
DBPort=3306 | |
StartPollers=160 | |
StartTrappers=20 | |
StartPingers=100 | |
StartDiscoverers=120 | |
MaxHousekeeperDelete=5000 | |
CacheSize=1024M | |
StartDBSyncers=16 | |
HistoryCacheSize=1024M | |
TrendCacheSize=1024M | |
HistoryTextCacheSize=512M | |
AlertScriptsPath=/etc/zabbix/alertscripts | |
LogSlowQueries=1000 |
3、zabbix_agentd.conf
需要注意的是在 /etc/zabbix/ 目录下会有一个 zabbix_agent.conf 和一个 zabbix_agentd.conf,这里使用的是带 d 的配置文件,两都的区别是:zabbix_agent.conf 是用超级服务(xinetd)的方式来启动的,zabbix_agentd.conf 是以独立进程的方式来启动的。
# egrep -v "(#|^$)" /etc/zabbix/zabbix_agentd.conf | |
LogFile=/var/log/zabbix/zabbix_agentd.log | |
EnableRemoteCommands=0 | |
Server=127.0.0.1,192.168.1.100 | |
StartAgents=8 | |
ServerActive=192.168.1.100:10051 | |
Hostname=test1 | |
Timeout=30 | |
Include=/etc/zabbix/zabbix_agentd.conf.d/ | |
UnsafeUserParameters=1 |
工作模式:
Server 是采用被动工作模式,允许访问的 ip 地址,server 端获取数据。
ServerActive 是采用主动工作模式,将数据上传到哪台服务器,需要填写 server 的端口,默认是 10051 语法是“ip1,ip2”,可以填写多个 server 端,中间用逗号隔开。
UnsafeUserParameters 的值表示是否启用自定义脚本,默认是 0 表示不启用。
4、启动服务
完成以上配置后,通过以下命令启动服务:
# service zabbix_server start | |
# service zabbix_agentd start |
1、复制 frontend 页面文件
# cp -r ./frontends/php/ /var/www/html/zabbix | |
# chown -R apache.apache /var/www/html/zabbix# service httpd start |
2、配置 apache 虚拟主机
ServerAdmin admin@361way.com | |
DocumentRoot /var/www/html/zabbix | |
ServerName zabbix.361way.com | |
ErrorLog logs/dummy-zabbix.361way.com-error_log | |
CustomLog logs/dummy-zabbix.361way.com-access_log common |
3、zabbix.conf.php 配置文件的生成
在浏览器中输入上面配置的虚拟主机名,进入 zabbix_frontend 配置安装界面,如下:
上图中如果不按第一步中 lamp 的安装中修改 /etc/php.ini 的参数,这里会出现红色告警。
以上为 zabbix 的数据库配置部分。
此处建议使用主机名,因为 IP 地址可能会更改,而主机名更改的机率要小。使用主机名的话,IP 地址更改对参数也不会有影响。
此处可能会遇到无法创建文件的问题,该问题是由于没有写权限造成的。可以通过下面的命令解决:
# chown -R apache.apache /var/www/html/zabbix
按 finish 完成安后,默认登录的用户名是 admin,密码是 zabbix。
进入 web 页面登录后,发现报错内容如下:
Zabbix server is not running:the information displayed may not be cuurrent .
解决方法:vim /etc/sysconfig/selinux修改里面的 selinux=disabled 后,重启服务器后解决。
