zabbix需要lnmp或lamp环境,在这里不介绍了,其他文章有介绍lnmp的搭建,直接进入zabbix服务端和agent端的安装。
一、下载及编译安装。
cd /usr/local/src/
wgethttp://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.9/zabbix-2.2.9.tar.gz
tar -zxvf zabbix-2.2.9.tar.gz
cd zabbix-2.2.9
./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make && make install
安装完毕,注意:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/ ,ttlsa大神帖子说zabbix对php的编译参数有特殊要求,我是直接按照他的php参数编译安装的php,下面是php编译参数。
“./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/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”
二、配置zabbix服务端
2.1、创建zabbix用户
useradd -s /sbin/nologin zabbix
2.2、添加zabbix服务端口
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
保存退出!
2.3、数据库授权及导入zabbix数据库
create database zabbix default charset utf8;
use zabbix;
source /usr/local/src/zabbix-2.2.9/database/mysql/schema.sql
source /usr/local/src/zabbix-2.2.9/database/mysql/p_w_picpaths.sql
source /usr/local/src/zabbix-2.2.9/database/mysql/data.sql
grant all on zabbix.* to 'zabbix数据库用户'@'允许zabbix登录的IP' identified by 'zabbix用户密码'
2.4、监控端配置文件
vim /usr/local/zabbix-2.2.2/etc/zabbix_server.conf
更改配置文件
ListenPort=10051
LogFile=/tmp/zabbix_server.log
DBHost=数据库的host名字
DBName=数据库名
DBUser=zabbix连接数据库的用户
DBPassword=数据库的连接密码
DBPort=数据库的端口
ListenIP=你的zabbix_server监听的IP地址
注意:这里的配置一定要写正确,否则后面会出很多问题。
2.5、拷贝zabbix的sysv启动脚本并配置开机启动
cp /usr/local/src/zabbix-2.2.9/misc/init.d/fedora/core/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server
chkconfig --add zabbix_server
chkconfig --level 35 zabbix_server on
service zabbix_server start
2.6、至此,zabbix的监控端就配置好了,下面来验证启动是否正常。
[root@Redis ~] ps -ef |grep zabbix_server
命令输出:
[root@Redis ~]# ps -ef |grep zabbix
zabbix 12808 1 0 11:20 ? 00:00:00 /usr/local/sbin/zabbix_server
[root@Redis ~] netstat -tlup |grep zabbix
命令输出:
[root@Redis ~]# netstat -tlunp |grep zabbix
tcp 0 0 这里应该是配置文件中设置的listenIP:10051 0.0.0.0:* LISTEN 12808/zabbix_server
有上面的输出则表示zabbix已经正常启动并等带客户端的连接了。
三、配置web访问
3.1、拷贝web文件到nginx的虚拟目录下
mkdir /usr/local/nginx/html/zabbix
cp /usr/local/src/zabbix-2.2.9/frontends/php/* /usr/local/nginx/html/zabbix/
3.2、修改php.ini配置
vim /etc/php.ini
查找到下面的几行配置并修改其值
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
date.timezone = Asia/Shanghai
mbstring.func_overload = 2
注意:这里的配置一定要写正确,否则在web安装的时候会check不通过。如果发现这里的值配置全部正确,web安装还是无法通过的话,请考虑系统还有别的php.ini文件,或者你更改的值是说明中的值。
3.3、修改nginx的配置文件
vim /usr/local/nginx/etc/nginx.conf
server {
listen 80;
server_name 10.0.182.117;
location / {
root html;
index index.html index.php index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
现在,可以访问zabbix的web页面进行安装了。
http://10.0.182.117/zabbix
四、安装配置监控端
4.1、编译安装监控端
cd /usr/local/src/
wgethttp://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.9/zabbix-2.2.9.tar.gz
tar -zxvf zabbix-2.2.9.tar.gz
cd zabbix-2.2.9
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
4.2、编辑agent配置文件
vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=123.57.146.77
Hostname=Zabbix server
其中的Hostname的名字要和zabbix web页面中的hostname一样,否则不能监控。server的IP地址是服务端的IP地址,也就是服务端配置文件中的ListenIP的地址。
4.3、拷贝sysv的启动脚本并设置开机启动
cp /usr/local/src/zabbix-2.2.9/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
chkconfig --add zabbix_agentd
chkconfig --level 35 zabbix_agentd on
service zabbix_agentd start
4.4、至此,zabbix的监控端就配置好了,下面来验证启动是否正常。
[root@Redis ~] ps -ef |grep zabbix_agentd
命令输出:
zabbix 12873 1 0 11:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd
zabbix 12875 12873 0 11:21 ? 00:00:04 /usr/local/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 12876 12873 0 11:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 12877 12873 0 11:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 12878 12873 0 11:21 ? 00:00:00 /usr/local/sbin/zabbix_agentd: listener #3 [waiting for connection]
[root@Redis ~] netstat -tlup |grep zabbix_agentd
命令输出:
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 12873/zabbix_agentd
有上面的输出则表示agent已经启动。
五、安装遇到的问题及解决办法汇总
1、启动zabbix_server之后用ps命令可以看到进程,netstat看不到监听状态。启动也不报错
解决方法:server的配置文件中DBHost字段没有配置,这时候查看/tmp/zabbix_server.log会看到一大堆的连接数据库拒绝的错误。
2、zabbix没有中文
解决方法:编辑配置文件“/usr/local/nginx/html/zabbix/include/locales.inc.php”将其中的function getLocales()函数中的属性“'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),”将false改为true即可。
3、web安装的时候php.ini中的所有配置都正确,还是提示不通过。
解决方法:查找系统中是否有多个php.ini文件,将多余的php.ini配置文件都改过来,如果还是不行,可能是你改错了,在php.ini中搜索的时候要看清楚,前面带分号的不要改,搜索max_input_time就会发现有两处匹配,所以改的时候一定要看清楚,我就是在这里折腾了半天。。。
4、在数据库中更改了zabbix连接的用户密码导致连接数据库失败
解决方法:在数据库中更改完密码之后一定要更改“/usr/local/nginx/html/zabbix/conf/zabbix.conf.php”配置文件中的DBPassword的密码才行。
5、zabbix web页面中添加的主机的可用性状态显示“received empty response from zabbix agent at.......”
解决方法:agent配置文件中的Server填写的IP不对,一定要填写zabbix_server的监听IP。确认配置文件没问题后,还有一个原因,在创建主机的时候,IP地址填写的不正确,要填写agent的IP地址。更改即可。
-------------------------------------------------------------------------------------------
我在安装的时候只碰到了这些问题。如果按照我的文档配置,出现别的问题,还请大家及时交流。谢谢~