Server端:
1、安装开发软件包
yum -y groupinstall "Development Tools"
2、安装所需的依赖包
yum -y install httpd MysqL MysqL-server PHP PHP-MysqL PHP-common PHP-mbstring PHP-gd PHP-odbc PHP-pear curl curl-devel net-snmp net-snmp-devel perl-DBI PHP-xml ntpdate PHP-bcmath
3、同步服务端的时间,保持所有服务器时间一致避免出现时间不同导致的不可用的监控数据
ntpdate pool.ntp.rog
4、创建zabbix服务运行所需要的用户和组
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
5、初始化MysqL服务器
/etc/init.d/MysqLd start
MysqLadmin -uroot -h127.0.0.1 password "123456"
MysqL -uroot -h127.0.0.1 -p
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@'%' identified by '123456';
flush privileges;
7、下载解压zabbix
wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz
cd /usr/src/
tar xf zabbix-2.2.2.tar.gz
8、将zabbix的初始数据导入到数据库中
cd zabbix-2.2.2
MysqL -uzabbixuser -h192.168.239.130 -p zabbix<database MysqL="" schema.sql<="" span="" style="word-wrap: break-word;">
MysqL -uzabbixuser -h192.168.239.130 -p zabbix<database MysqL="" images.sql<="" span="" style="word-wrap: break-word;">
MysqL -uzabbixuser -h192.168.239.130 -p zabbix<database MysqL="" data.sql<="" span="" style="word-wrap: break-word;">
9、编译安装zabbix
./configure -sysconfdir=/etc/zabbix/ -enable-server -enable-agent -with-net-snmp -with-libcurl -with-MysqL
make && make install
#在编译时出现一个异常:/include/zbxdb.h:65:20: 错误:MysqL.h:没有那个文件或目录 解决方法:需要安装MysqL-devel 包 yum install MysqL-devel
#此处指定sysconfdir配置文件的路径就在/etc/zabbix/目录下了,如果不指定默认在/usr/local/etc下
10、Copy zabbixserver端跟agent端的启动脚本,并设置执行权限
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
cp misc/init.d/tru64/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_*
11、将zabbix的页面文件copy到指定目录(跟apache配置的相同即可)
mkdir /var/www/html/zabbix
cp -a zabbix-2.2.2/frontends/PHP/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
vim /etc/PHP.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
13、配置apache文件,定义安装访问zabbix的虚拟主机
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
DocumentRoot "/var/www/html"
ServerName 192.168.239.130
14、配置zabbix server端的文件,定义数据库的IP、用户名、密码
vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.239.130
DBName= zabbix
DBUser=zabbixuser
DBPassword=zabbixpass
StartPollers=30 #开启多线程数,一般不要超过30个
StartTrappers=20 #trapper线程数
StartPingers=10 #fping线程数
StartDiscoverers=120
MaxHousekeeperDelete=5000
CacheSize=1024M #用来保存监控数据的缓存数,根据监控主机的数量适当调整
StartDBSyncers=8 #数据库同步时间
HistoryCacheSize=1024M
TrendCacheSize=128M #总趋势缓存大小
HistoryTextCacheSize=512M
AlertScriptsPath=/etc/zabbix/alertscripts
LogSlowQueries=1000
15、启动apache服务跟zabbix服务
/etc/init.d/httpd start
/etc/init.d/zabbix_server start
16、访问安装界面按照界面提示一步一步的完成安装
http://192.168.239.130/zabbix/setup.PHP
a) 进入安装界面点击Next
b) 确保所有的监测项都是OK,点击Next
c) 填写zabbix数据库的用户名、密码、地址等信息,点击Test connection,OK后点击Next
d) 填写zabbix服务器的信息,主机名,server程序监听的的端口,主机IP地址等,如果server跟web在一台服务器上保持默认即可,点击Next
e) 确认前面几部填写的信息没有问题的话点击Next
f) 检查web程序的config文件,如果没问题会显示OK,直接点击finish即可完成安装(如果此处有问题一般是zabbix虚拟主机目录文件的权限问题,上面已经有设置的过程一般不会出现问题)
#如果因为手误,数据库密码或者用户名等的填写错了,后面会一直报错,我们可以手动的去编辑配置文件vim /var/www/html/zabbix/conf/zabbix.conf.PHP 手动定义相关的参数即可
#至此,server端的安装完成
Agent端
yum –y install ntpdate
2、同步客户端时间,防止跟服务器端不一致,导致检测到不可用的监控数据
ntpdate pool.ntp.org
3、创建zabbix运行所需要的用户跟组
4、解压安装zabbixagent端
./configure –sysconfdir=/etc/zabbix –enable-agent
5、copy agent端运行所需要的脚本
chmod +x /etc/init.d/zabbix_agentd
6、配置agent端配置文件
vim /etc/zabbix/zabbix_agentd.conf #此处千万别写成了zabbix_agent.conf,否则配置了不生效
Server=192.168.239.130 #填写Server的IP地址
ServerActive=192.168.239.130 #修改为Server的IP地址
Hostname=Centos-03 #填写本机的HostName,注意Server端要能解析
UnsafeUserParameters=1 #是否允许自定义的key,1为允许,0为不允许
Include= etc/zabbix/zabbix_agentd.conf.d/#自定义的agentd配置文件(key)可以在这里面写;
7、启动zabbix agent端
/etc/init.d/zabbix_agentd start
1、在windows中找一个自己喜欢的字体或者去网上下载一个字体
2、将字体上传至/var/www/html/zabbix/fonts目录下
vim /var/www/html/zabbix/include/defines.inc.PHP #修改以下两行
define('ZBX_FONT_NAME','simkai');
define('ZBX_GRAPH_FONT_NAME',Arial; font-size:16px; line-height:26px"> 4、登陆页面设置相应用户的默认语言Administrator—->Users(此处要保证显示的是用户,否则显示的都是用户组)