先通过lnmp一键安装包吧nginx和数据库、php搞起来!然后:
实现:1. 获取zabbix
- centos:获取依赖库: yum安装zabbix需要依赖库
yum -y install net-snmp-devel curl-devel
对于ubuntu系统获取依赖:
sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
zabbix编译安装的依赖包#安装编译套件sudo apt-get install build-essential#安装php前端需要的包sudo apt-get install libmysqlclient15-dev php5-gd php5-mysql#安装zabbix需要的包,snmp\curl\ssl\fpingsudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
新建zabbix用户、创建zabbix库及初始化、编译安装zabbix新建zabbix用户
useradd -M -s /sbin/nologin zabbix //新建zabbix用户,无家目录,不可登陆
创建zabbix库及初始化
tar zxvf zabbix-2.0.13.tar.gz# cd zabbix-2.0.3
mysql -uroot -p> create database zabbix character set utf8;
//新建zabbix数据库> grant all on zabbix.* to zabbix@localhost identified by'redhat';
//授权zabbxi使用zabbix这个数据库,或者
grant all on zabbix.* to zabbix@'%' identified by'zabbix';
然后去源码包,江这3个结构传到zabbix数据库中,
mysql -uzabbix -p'redhat' zabbix < database/mysql/schema.sql //zabbix的数据库表结构
mysql -uzabbix -p'redhat' zabbix < database/mysql/images.sql //待查
mysql -uzabbix -p'redhat' zabbix < database/mysql/data.sql //zabbix的数据库数据,将zabbix源码包中的数据导入到新建的zabbix数据库,这一步是zabbix2.0.13与旧版不同的地方,在版本2.0.13里数据库的结构和名字都变了,而且导入也要严格按照顺序来。
编译安装zabbix
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-java# make && make install
--prefix指定zabbix安装目录,--enable-server 支持zabbix服务器,--enable-agent支持zabbix代理,--enable-proxy 支持zabbix代理服务器,--with-mysql 使用MySQL客户端库可以选择指定路径mysql_config,--with-net-snmp 使用net - snmp软件包,择性地指定路径NET - SNMP配置,--with-libcurl 使用curl包。若./configure 出现hecking for mysql_config... configure: error:MySQL library not found,可以使用find /-name "mysql_config"来查看mysql_config位置,用--with-mysql指定;若./configure出现错误configure: error:Invalid NET-SNMP directory - unable to find net-snmp-config,可以通过yum install net-snmp-devel来解决。若已安装net-snmp-devel却报error while loading shared libraries: libnetsnmp.so.30" 错误的原因和解决办法,可以通过find / -name libnetsnmp.so.30,查看libnetsnmp.so.30位置,将libnetsnmp.so.30位置添加到/etc/ld.so.conf,/sbin/ldconfig后,再编译即可
为zabbix server添加端口(可以去zabbix-server.conf配置文件中修改)
cat >> /etc/services <<eofzabbix-agent 10050/tcp #ZabbixAgentzabbix-agent 10050/udp #Zabbix Agentzabbix-trapper 10051/tcp #ZabbixTrapperzabbix-trapper 10051/udp #Zabbix Trappereof
更改zabbix-server.conf配置文件中关于数据库部分。默认的配置文件在/usr/local/zabbix安装目录下
vim /usr/local/zabbix/etc/zabbix_server.conf //修改以下内容DBName=zabbixDBUser=zabbixDBPassword=redhat //DBPassword 默认是被注释掉的,需要自己添加DBSocket=/tmp/mysql.sock //我发现如果不加下面这2条,zabbix会一直报connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'。即使mysql账号、权限是正确的,/var/lib/mysql/mysql.sock存在也是一样会报错。DBPort=3306
给zabbix-2.0.3服务端程序做软链接(可以不做)
cd /usr/local/zabbix/bin/
for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
cd /usr/local/zabbix/sbin/# for i in *;
do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
拷贝zabbix前端到web目录下 (将解压包目录下的frontends/下的php拷贝到web目录下)
cp -r zabbix-2.0.3/frontends/php /www/coolnull.com/zabbix
chown -R www:www /www/coolnull.com/zabbix
拷贝修改zabbix服务端、客户端启动脚本
cp zabbix-2.0.13/mi sc/init.d/fedora/core/zabbix_server /etc/init.d/
cp zabbix-2.0.13/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_*
ubuntu系统的启动脚本在这里:
为脚本加上可执行权限# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix //分别修改/etc/init.d/zabbix_server、zabbix_agentd将其中的BASEDIR改为实际zabbix的安装位置,如我们这里的/usr/local/zabbix
启动zabbix,并且添加开机自启动
修改启动文件配置文件vim /etc/init.d/zabbix_server、vim /etc/init.d/zabbix_agent:
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start //启动服务
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on //开机自启动
在nginx中添加zabbix虚拟主机
vim /usr/local/nginx/conf/vhosts/zabbix.coolnull.com.conf //内容如下
server {
listen 80;
server_namezabbix.test.com; #访问域名
access_log/data/wwwlogs/zabbix/zabbix.test.com_nginx.logcombined;
index index.html index.htm index.php;
include /usr/local/nginx/conf/none.conf;
root/data/wwwroot/zabbix; #web根目录
location ~ [^/].php(/|$) {
fastcgi_passremote_php_ip:9000;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_indexindex.php;
includefastcgi.conf;
}
location ~..(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
expires30d;
access_logoff;
}
location ~ ..(js|css)?$ {
expires7d;
access_logoff;
}
}
fastcgi_pass unix:/tmp/php-cgi.sock; php-cgi.sock在php-fpm中又配置地址。
CGI全称是“公共网关接口”(Common GatewayInterface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序一般运行在网络服务器上。CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。
修改PHP配置文件php.ini内容
vim /usr/local/webserver/php/etc/php.ini //修改以下地方date.timezone =Asia/Shanghaipost_max_size =32Mmax_execution_time =300max_input_time =300
修改完重启,
浏览器访问 http://ip/zabbix
第一次会出现,配置有错误的地方,配置/etc/php.ini(根据提示配置大小,并设置date.timezone=Asia/Shanghai
设置完成后需要重启httpd # /etc/init.d/httpd restart
回到web页面点retry按钮,全部显示OK,继续下一步;
然后在授权一个用户:mysql -uroot -e
"grant all on zabbix.* to 'zabbix'@localhost identified by 'zabbix'"
输入mysql相关信息, 首先要测试一下,如果不通过,则需要调试,测试通过后,点next
Name 写127.0.0.1,(可以自定义)
下一页显示之前填写的信息,安装完成后点finish按钮;
填写的配置文件为:"/etc/zabbix/web/zabbix.conf.php"
默认管理员账号为admin:zabbix
登录后会提示“zabbix server is notrunning”这样的错误,需要编辑一下 /etc/zabbix/zabbix_server.conf,配置DBUser, DBPassword
DBPassword=zabbix
保存退出后,重启服务生效 /etc/init.d/zabbix-server restart
重启后zabbix状态显示yes;(有时候防火墙和selinux没关闭也不能成功)
更改语言:
右上角profile——language里面选择chinese zh_cn,中文显示;
如果没有中文的话,可以查查这个文件的路径:
[root@localhost ~]# find / -name locales.inc.php
/usr/share/zabbix/include/locales.inc.php
[root@localhost ~]# vim /usr/share/zabbix/include/locales.inc.php
想要那种语言,吧false改成true就OK了!
登录web界面后,如果出现以下提示 :
则表示zabbix没有启动,需要去修改/etc/zabbix_server.conf配置文件,在配置文件加一行 DBPasswd=密码,修改完后重启zabbix-server服务,、etc/init/zabbix-serverreatart,(有事重启失败,但是服务起来了,可以用pstree查看有没有起来)
然后就是乱码问题,去windows的控制面板——字体,宿便找一个放到桌面上,然后上传到web目录下的/fronts/,
,将文字文件的名字改成这个名字 然后重启zabbix-server,乱码就解决了!
注意:自己写的脚本监控,要在zabbix_agentd.conf中的
:超时时间最好也设置大点,
:在zabbix_agentd.conf加上服务端的地址—
21139:20170206:102320.804 no active checks on server[172.31.75.118:10051]: host [172.31.75.118] not found
比如上面的Hostname=172.31.75.118,那么web中也要一致,如下:
:客户端的设置为0,服务端的设置为1,,,[![centos或者ubuntu编译安装zabbix](http://upload-images.jianshu.io/upload_images/4687469-31aa1694a3413973)](http://photo.blog.sina.com.cn/showpic.html#blogid=14e63d3fe0102wkqv&url=http://album.sina.com.cn/pic/0067FxJIzy77kypKRf0d6)
zabbix数据库分库:http://www.jb51.net/article/73173.htm http://www.iyunv.com/thread-25724-1-1.html 官方文档:https://www.zabbix.org/wiki/Docs/howto/mysql_partition