@cdmonkey
2015-10-14T13:25:13.000000Z
字数 9343
阅读 1407
Zabbix
官方文档:
https://www.zabbix.com/documentation/2.2/manual/installation/install
Zabbix是一个基于WEB页面的提供分布式系统监视,以及网络监视功能的企业级的开源解决方案。它能够监视各种网络参数,保证服务器系统的安全运营。并提供灵活的通知机制以让系统管理员快速定位并解决存在的各种问题。
由两部分构成:Zabbix Server & Zabbix Agent(可选组件)。
Official Manual: https://www.zabbix.com/documentation/2.4/
具体的安装过程请参见相关文档。
[root@Zabbix ~]# cat /etc/redhat-release
CentOS release 6.6 (Final)
# Yum install:
yum install -y gcc gcc-c++ autoconf automake
yum install -y zlib zlib-devel openssl openssl–devel pcre pcre-devel
yum install -y nginx
yum install -y mysql mysql-server mysql-devel
yum install -y php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc \
php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap \
php-tidy php-common php-devel php-fpm php-bcmath
# Start MySQL service:
[root@Zabbix ~]# /etc/init.d/mysqld start
[root@Zabbix ~]# /usr/bin/mysqladmin -u root password '123456'
[root@Zabbix ~]# mysql -uroot -p
Enter password:
mysql> drop user ''@localhost;
mysql> flush privileges;
# Configure the Nginx:
[root@Zabbix ~]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
[root@Zabbix ~]# cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
[root@Zabbix ~]# vim /etc/nginx/nginx.conf
index index.html index.htm index.php;
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
# Edit the php.ini:
[root@Zabbix ~]# vim /etc/php.ini
cgi.fix_pathinfo=1 # Remove the comments.
# Start the services:
[root@Zabbix ~]# /etc/init.d/nginx start
[root@Zabbix ~]# /etc/init.d/php-fpm start
上面为通过“yum”进行的简易安装。
wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
[root@Zabbix tools]# tar zxvf libmcrypt-2.5.8.tar.gz
[root@Zabbix tools]# cd libmcrypt-2.5.8
[root@Zabbix libmcrypt-2.5.8]# ./configure --prefix=/usr/local
[root@Zabbix libmcrypt-2.5.8]# make && make install
#编译安装中出现下面的报错信息:
ImportError: libmysqlclient.so.18: cannot open shared object file: No such file or directory
--------------------
#解决方法是制作一个软链接:
ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18
上面的软件必须安装,否则会报错。接下来需要注意PHP的编译参数:
#这里要注意PHP的最后三条编译参数,不然会报错和找不到MySQL的选项。
./configure \
--prefix=/application/php5.3.27 \
--with-mysql=/application/mysql \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--with-mysqli=/application/mysql/bin/mysql_config \
--with-gettext \
--with-openssl
Download Zabbix:
http://www.zabbix.com/download.php
首先,要创建、导入zabbix数据库。
# Create Zabbix database:
[root@Zabbix tools]# tar zxvf zabbix-2.4.5.tar.gz
[root@Zabbix tools]# cd zabbix-2.4.5/database/mysql/
[root@Zabbix mysql]# ll
#可以看到有下面三个文件:
total 2988
-rw-r--r-- 1 1000 1000 972946 Apr 22 15:57 data.sql
-rw-r--r-- 1 1000 1000 1978341 Apr 22 15:56 images.sql
-rw-r--r-- 1 1000 1000 104816 Apr 22 15:57 schema.sql
#进入数据库,创建库,并且数据库字符集使用utf8:
mysql> create database zabbix character set utf8;
#创建用户名及密码:
mysql> insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix'));
mysql> flush privileges;
#进行相应的授权:
mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
mysql> flush privileges;
#导入数据库。注意:请按照以下顺序进行导入,否则会出错。
mysql> use zabbix;
mysql> source /root/tools/zabbix-2.4.5/database/mysql/schema.sql;
mysql> source /root/tools/zabbix-2.4.5/database/mysql/images.sql;
mysql> source /root/tools/zabbix-2.4.5/database/mysql/data.sql;
------------------
#创建软链接(注意系统版本不同,文件版本可能不同,这里是16.0.0):
[root@Zabbix ~]# cd /usr/lib64/mysql/
[root@Zabbix mysql]# ln -s libmysqlclient.so.16.0.0 libmysqlclient.so
[root@Zabbix mysql]# ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so
接下来可以进行正式的安装了:
# Create user account:
[root@Zabbix ~]# useradd zabbix -s /bin/false
#还要安装一些必要的软件包:
[root@Zabbix ~]# yum install -y net-snmp-devel curl curl-devel libxml2-devel libcurl-devel
[root@Zabbix ~]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
#使配置立即生效:
[root@Zabbix ~]# /sbin/ldconfig
------------------
[root@Zabbix ~]# cd tools/zabbix-2.4.5
./configure \
--prefix=/usr/local/zabbix --enable-server --enable-agent --with-libxml2 --with-net-snmp \
--with-libcurl --enable-proxy --with-mysql
[root@Zabbix zabbix-2.4.5]# make install
#添加下列的系统软链接:
ln -s /application/zabbix/sbin/* /usr/local/sbin/
ln -s /application/zabbix/bin/* /usr/local/bin/
添加zabbix服务对应的端口:
[root@Zabbix ~]# vim /etc/services
#增加下面的内容,然后保存并退出:
# Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
启动服务之前需要分别对服务端及客户端的设置文件进行修改:
# Zabbix Server:
[root@Zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
#确保是下面的配置信息:
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=172.16.1.21
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #指定运行脚本存放目录。
请注意,共有两个客户端的设置文件,其使用场景不同:
zabbix_agent.conf # For xinetd
zabbix_agentd.conf # For Daemon
--------------------
# Zabbix Agent:
[root@Zabbix ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=172.16.1.21
Include=/usr/local/zabbix/etc/zabbix_agent.conf.d/
UnsafeUserParameters=1
添加开机启动脚本:
cp tools/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp tools/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
[root@Zabbix ~]# chmod +x /etc/init.d/zabbix_server
[root@Zabbix ~]# chmod +x /etc/init.d/zabbix_agentd
[root@Zabbix ~]# chkconfig zabbix_server on
[root@Zabbix ~]# chkconfig zabbix_agentd on
修改开机启动脚本中的安装目录:
[root@Zabbix ~]# vim /etc/rc.d/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
[root@Zabbix ~]# vim /etc/rc.d/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
服务端的安装推荐使用源码编译安装,而客户端则不建议使用源码安装。
[root@Node-A2 tools]# rpm -ivh zabbix-2.4.5-1.el6.x86_64.rpm
[root@Node-A2 tools]# rpm -ivh zabbix-agent-2.4.5-1.el6.x86_64.rpm
---------------------
[root@Node-A2 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.21
[root@Node-A2 ~]# /etc/init.d/zabbix-agent start
[root@Node-A2 ~]# chkconfig --add zabbix-agent
[root@Node-A2 ~]# chkconfig zabbix-agent on
[root@WEB-A2 tools]# useradd zabbix -s /sbin/nologin
[root@WEB-A2 tools]# tar zxvf zabbix-2.2.8.tar.gz
[root@WEB-A2 tools]# cd zabbix-2.2.8
[root@WEB-A2 zabbix-2.2.8]# ./configure \
--prefix=/application/zabbix --sysconfdir=/etc//zabbix --enable-agent
[root@WEB-A2 zabbix-2.2.8]# make && make install
[root@WEB-A2 zabbix-2.2.8]# mkdir /var/log/zabbix
[root@WEB-A2 zabbix-2.2.8]# chown zabbix.zabbix /var/log/zabbix/
[root@WEB-A2 zabbix-2.2.8]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@WEB-A2 zabbix-2.2.8]# chmod 755 /etc/init.d/zabbix_agentd
sed -i 's#BASEDIR=/usr/local#BASEDIR=/application/zabbix/#g' /etc/init.d/zabbix_agentd
[root@WEB-A2 zabbix-2.2.8]# vim /etc/services
#增加下面的内容,然后保存并退出:
#Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
[root@WEB-A2 zabbix-2.2.8]# vim /etc/zabbix/zabbix_agent.conf
Server=127.0.0.1,172.16.1.33 #将监控服务端的地址加上。
UnsafeUserParameters=1
------------------
#启动服务:
[root@WEB-A2 ~]# chkconfig zabbix_agentd on
[root@WEB-A2 ~]# /etc/init.d/zabbix_agentd start
Starting zabbix_agentd: [ OK ]
Zabbix-Get是监控系统中的一个程序,用于服务端(Zabbix-Server)到客户端(Zabbix-Agent)的数据获取,通常可以用来检测验证客户端的配置是否正确。用法如下:
zabbix_get [-hV] -s <hostname or IP> [-p <port>] [-I <IP Address>] -k <key>
#在监控服务端执行下面的指令:
[root@Zabbix ~]# zabbix_get -s 127.0.0.1 -k system.uname #获取服务端本地的信息。
Linux Zabbix 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64
#获取远程客户端的信息:
[root@Zabbix ~]# zabbix_get -s 172.16.1.12 -k system.uname
#显示空行,目前还未找到原因。
[root@Zabbix ~]# cp -r tools/zabbix-2.4.5/frontends/php/ /usr/share/nginx/html/zabbix
[root@Zabbix ~]# chown nginx.nginx -R /usr/share/nginx/html/zabbix
#启动服务端及客户端:
[root@Zabbix ~]# /etc/init.d/zabbix_server start
[root@Zabbix ~]# /etc/init.d/zabbix_agentd start
# Check:
[root@Zabbix ~]# netstat -lntp|grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 16727/zabbix_agentd
tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 16651/zabbix_server
还需要修改PHP配置文件参数:
[root@Zabbix ~]# vim /etc/php.ini
post_max_size =16M
max_execution_time =300
max_input_time =300
date.timezone = Asia/Shanghai
#[root@Zabbix ~]# vim /etc/php-fpm.conf
#request_terminate_timeout = 300
[root@Zabbix ~]# /etc/init.d/php-fpm restart
最后就是对虚拟主机的配置,请参见相关文档,这里予以省略。
在安装过程中首先是时区的错误:
PHP time zone unknown Fail
-----------------------
#首先如上所述,要确保“php.ini”文件中的时区配置正确。
[root@Zabbix ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#Restart php-fpm:
[root@Zabbix ~]# pkill php-fpm
[root@Zabbix ~]# killall -9 php-fpm
[root@Zabbix ~]# /application/php/sbin/php-fpm
完成安装并登录到监控页面后顶部出现了如下错误提示:
Zabbix server is not running:the information displayed may not be current.
[root@Zabbix ~]# tail -f /tmp/zabbix_server.log
#日志中会出现下面的错误信息:
30780:20150304:135512.179 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect tolocal MySQL server through socket '/var/lib/mysql/mysql.sock' (2)'
30780:20150304:135512.181 Database is down. Reconnecting in 10 seconds.
-----------------------
[root@Zabbix ~]# mkdir /var/lib/mysql
[root@Zabbix ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
#然后重启服务,问题解决。
[root@Zabbix ~]# /etc/init.d/zabbix_agentd restart
[root@Zabbix ~]# /etc/init.d/zabbix_server restart
修改字体:
######修改字体
###从windows本地上传字体“微软雅黑”至
/var/www/html/zabbix/fonts
vi /var/www/html/zabbix/include/defines.inc.php
#把默认字体,改成上传的字体