原文出自:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/
在了解《zabbix硬件、软件需求》之后,在你心里应该有备选的机器。今天开始安装zabbix。zabbix需要LNMP或者LAMP环境。环境的搭建不在本章范围内。
LNMP环境配置
Linux安装:http://www.osyunwei.com/archives/1024.html
NGINX安装:http://www.ttlsa.com/nginx/nginx-install-on-linux/
PHP安装+NGINX配置:http://www.ttlsa.com/nginx/nginx-php-5_5/ (安装前一定要看1.1 PHP安装参数)
MYSQL安装:http://www.ttlsa.com/mysql/install-mysql5_6/
1. PHP配置参数
zabbix对PHP参数、PHP模块有特殊要求。
1.1 PHP安装参数
php具体安装方法参考上面的链接,不过如下模块要特别留意加上
bcmath --enable-bcmath
mbstring --enable-mbstring
sockets --enable-sockets
gd --with-gd
libxml --with-libxml-dir=/usr/local
xmlwriter 同上
xmlreader 同上
ctype 默认支持
session 默认支持
gettext 默认支持
以下是我PHP的配置参数
|
.
/
configure
--
prefix
=
/
usr
/
local
/
php
-
5.5.7
\
--
with
-
config
-
file
-
path
=
/
usr
/
local
/
php
-
5.5.7
/
etc
--
with
-
bz2
--
with
-
curl
\
--
enable
-
ftp
--
enable
-
sockets
--
disable
-
ipv6
--
with
-
gd
\
--
with
-
jpeg
-
dir
=
/
usr
/
local
--
with
-
png
-
dir
=
/
usr
/
local
\
--
with
-
freetype
-
dir
=
/
usr
/
local
--
enable
-
gd
-
native
-
ttf
\
--
with
-
iconv
-
dir
=
/
usr
/
local
--
enable
-
mbstring
--
enable
-
calendar
\
--
with
-
gettext
--
with
-
libxml
-
dir
=
/
usr
/
local
--
with
-
zlib
\
--
with
-
pdo
-
mysql
=
mysqlnd
--
with
-
mysqli
=
mysqlnd
--
with
-
mysql
=
mysqlnd
\
--
enable
-
dom
--
enable
-
xml
--
enable
-
fpm
--
with
-
libdir
=
lib64
--
enable
-
bcmath
|
1.2 PHP配置参数
打开php.ini配置文件,修改如下参数为如下值,否则zabbix安装不了。
|
max_execution_time
=
300
memory_limit
=
128M
post_max_size
=
16M
upload_max_filesize
=
2M
max_input_time
=
300
date
.
timezone
PRC
|
2 zabbix服务端安装
2.1 下载安装zabbix
所有版本下载地址:http://www.zabbix.com/download.php
|
# yum install net-snmp-devel libxml2-devel libcurl-devel // 一定先安装依赖
# cd /usr/local/src
# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"
# tar -xzvf zabbix-2.2.2.tar.gz
# cd zabbix-2.2.2
# ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-server \
--
enable
-
agent
--
with
-
mysql
--
with
-
net
-
snmp
--
with
-
libcurl
--
with
-
libxml2
# make
# make install
|
在zabbix server一般充当两个角色:server、angent,所以上面的配置参数也同时加上了--enable-agent。
备注:请安装好MySQL,snmp,curl开发库。
2.2 创建用户
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:
# groupadd zabbix
# useradd -g zabbix zabbix
2.3 初始化数据库
zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。我当时在搭建proxy的时候导入了3个sql,导致出现报错。后来才发现proxy只需要导入一个表结构即可。
我假想你安装好了MySQL,用户名为root,密码为ttlsapwd
|
# mysql -uroot -pttlsapwd
mysql
>
create
database
zabbix
default
charset
utf8
;
mysql
>
quit
;
# mysql -uroot -pttlsapwd zabbix < database/mysql/schema.sql
|
备注:创建数据库请别忘记加default charset utf8,有可能会导致你出现中文乱码问题,具体问题请查看《zabbix中文乱码解决方法》
如果你仅仅是初始化proxy的数据库,那么够了。如果初始化server,那么接着导入下面两个sql
|
# mysql -uroot -pttlsapwd zabbix < database/mysql/images.sql
# mysql -uroot -ppttlsapwd zabbix < database/mysql/data.sql
|
其他数据库(db2\sqlite\oracle)数据库初始化方法参考:https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts
2.4 配置zabbix
配置zabbix_server配置文件,zabbix源码目录下
|
# mkdir /etc/zabbix
# cp config/zabbix_server.conf /etc/zabbix/
# vim /etc/zabbix/zabbix_server.conf
DBName
=
zabbix
DBUser
=
root
DBPassword
=
ttlsapwd
DBPort
=
3306
|
2.5 启动zabbix server
|
# /usr/local/zabbix-2.2.2/sbin/zabbix_server
|
默认端口10051
3. 客户端安装配置
3.1 下载安装客户端
所有版本下载地址:http://www.zabbix.com/download.php,可以直接下载已经编译好的二进制文件,或者也可以源码安装。
|
# cd /usr/local/src
# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"
# tar -xzvf zabbix-2.2.2.tar.gz
# cd zabbix-2.2.2
# ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-agent
# make
# make install
|
3.2 zabbix客户端配置
配置zabbix_server配置文件,zabbix源码目录下
|
# vim /usr/local/zabbix-2.2.2/etc/zabbix_agentd.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用户。
3.3 zabbix客户端启动
|
# /usr/local/zabbix-2.2.2/sbin/zabbix_agentd
|
默认端口10050
4. zabbix管理网站配置
4.1 拷贝前端文件
|
# mkdir /data/logs/nginx
# mkdir /data/site/monitor.ttlsa.com/zabbix
# cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix
|
4.2 配置虚拟主机
请相应修改你的配置文件路径
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf
server
{
listen
80
;
server_name
monitor
.
ttlsa
.
com
;
access
_log
/
data
/
logs
/
nginx
/
monitor
.
ttlsa
.
com
.
access
.
log
main
;
index
index
.
html
index
.
php
index
.
html
;
root
/
data
/
site
/
monitor
.
ttlsa
.
com
;
location
/
{
try
_files
$
uri
$
uri
/
/
index
.
php
?
$
args
;
}
location
~
^
(
.
+
.
php
)
(
.
*
)
$
{
fastcgi_split_path_info
^
(
.
+
.
php
)
(
.
*
)
$
;
include
fastcgi
.
conf
;
fastcgi
_pass
127.0.0.1
:
9000
;
fastcgi_index
index
.
php
;
fastcgi
_param
PATH
_INFO
$
fastcgi_path_info
;
}
}
|
4.3 在线配置zabbix
浏览器打开http://monitor.ttlsa.com/zabbix。
如下是zabbix 2.2的安装界面,包括欢迎界面一共6步.
4.3.1 欢迎界面
zabbix安装
4.3.2 php需求检查
zabbix php环境检查
4.3.3 MySQL配置
zabbix MySQL配置
4.3.4 zabbix服务端详细信息
zabbix-detail
4.3.5 zabbix安装前信息列表
zabbix安装前信息
4.3.6 安装完成
如果失败了,一般情况是php对zabbix没有写权限
zabbix安装完成
登陆zabbix,默认用户名:Admin,密码:zabbix
zabbix登陆
如下是zabbix首页