环境:
CentOS 6.4 64bit
Zabbix 2.2.6
下载安装包
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
主机IP:192.168.3.253
二、zabbix服务器端yum安装 Apache、PHP、MySQL
安装 Apache
yum install httpd httpd-manual
将 Apache 设置为开机自动启动
chkconfig httpd on
安装 PHP
yum install php php-bcmath php-gd php-xml
安装fping
wget http://fping.org/dist/fping-3.10.tar.gz
./configure
make && make install
##########################################################################################
编译安装PHP5.5.16和Nginx整合
cd /php-5.5.16/
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --with-bcmath --with-freetype-dir --with-gettext
make && make install
cd /usr/local/php/etc/
cp ./php-fpm.conf.default ./php-fpm.conf
cp /root/php-5.5.16/php.ini-production ./php.ini
vi ./php-fpm.conf
user = zabbix
group = zabbix (修改php-fpm的运行用户,使得其和nginx的运行用户一致,避免造成web无法访问.php文件)
vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
###########################################################################################
编译安装Nginx
./configure --prefix=/usr/local/nginx
make && make install
vi /usr/local/nginx/conf/nginx.conf
在server段中注明root /home/zabbix/www
location ~ \.php$ {
root /home/zabbix/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/zabbix/www$fastcgi_script_name; (红色部分也可以用用$document_root表示)
include fastcgi_params;
}
###############################################################################################
安装 MySQL
yum install mysql-server.x86_64 mysql.x86_64 php-mysql.x86_64 mysql-devel php-mysql mysql-libs
启动 MySQL
service mysqld start
设置 MySQL root 密码
mysql -uroot -p
mysql> UPDATE user SET password = PASSWORD('123456') WHERE user = 'root';
mysql> FLUSH PRIVILEGES;
设置MySQL开机自动启动
chkconfig mysqld on
建立zabbix数据库并设置zabbix账户及相关权限
mysql> use mysql;
mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
mysql>flush privileges;
导入zabbix数据
mysql>use zabbix
mysql>source /home/zabbix/schema.sql
mysql>source /home/zabbix/data.sql
mysql>source /home/zabbix/images.sql
三、安装用于编译 Zabbix 的软件及库
安装 MySQL 的头文件及库文件
yum install mysql-devel.x86_64
安装 net-snmp
yum install net-snmp net-snmp-devel net-snmp-utils
安装 curl
yum install curl curl-devel
安装 gcc
yum install gcc libgcc libgcc
安装 make
yum install make
四、源码编译安装zabbix
创建zabbix用户和用户组
groupadd zabbix
useradd -g zabbix -m zabbix
安装zabbix
tar -xvf zabbix-2.2.4.tar.gz
cd zabbix-2.2.4
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make && make install
添加服务端口,添加后如下
vi /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
添加配置文件
mkdir -p /etc/zabbix
cp ./misc/conf/* /etc/zabbix
chown -R zabbix:zabbix /etc/zabbix
修改Server配置文件
基本不用修改,用默认配置即可,只需修改/etc/zabbix/zabbix_server.conf和zabbix_agentd.conf两个文件里面的一项DBPassword=密码
vi /etc/zabbix/zabbix_server.conf
修改后内容如下:
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=123456
修改Agentd配置文件,更改HOST NAME 为本机的hostname就好了
#vi /etc/zabbix/zabbix_agentd.conf
修改后内容如下
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1 #监控服务器的IP地址
Hostname=localhost #监控服务器的hostname
添加web前端php文件
cd frontends/
cp php/* /var/www/html/
chown -R zabbix:zabbix /var/www/html
web端安装配置
修改php相关参数
vi /etc/php.ini 找到如下几项,改成下面的值,前面有;号的要删掉
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
重启apache
service httpd restart
在浏览器上访问Zabbis Serve地址http://ServerIP
按提示一步步操作,其中Step 3 必须全部项目OK后才能继续配置,如有提示fail,则检查是否安装这个包或配置是否按前面的步骤修改
提示mbstring、xmlreader和xmlwriter不可用,需要安装php-xml和mbstring
yum install �Cy php-xml php-mbstring就可以了
Step 4 填入Zabbix登陆mysql的用户和密码
host:localhost user:zabbix pass:123456
Step 7 按提示下载配置文件到Server的/var/www/html/conf下,名字必须为zabbix.conf.php,当提示不能保存时,一般是目录权限不够,chmod修改目录权限就可以。
配置完成后,出现登陆界面,默认的
用户:admin,密码:zabbix
现在看到的界面,本机的服务和监控是not running的,点击Configuration、Hosts看到的Zabbix Server的Status状态为Not monitored,可以点击Not monitored按钮将其设置成Monitored。
##################################显示中文#######################################################
如要设置中文,zabbix在后期版本已经将中文选项屏蔽,需要手动修改配置文件,再通过页面设置:
1、修改zabbix的web端
vi /home/zabbix/www/include/locales.inc.php
将'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false)中的值false改为true后保存。
2、点击:右上角Profile,选择Chinese(zh_CN),保存。
解决zabbix绘图中出现中文乱码问题:
a.从windows下控制面板->字体->选择一种中文字库,例如“微软雅黑”
b.把它拷贝到zabbix的web端的fonts目录下例如:/usr/local/apache2/htdocs/zabbix/fonts,并且把TTF后缀改为ttf
c.修改zabbix的web端 include/defines.inc.php
vi /home/zabbix/www/include/defines.inc.php
搜索 'DejaVuSans'
用"//"注释掉系统默认行,并添加新的字体参数行。
其中msyh为字库名字,不包含ttf后缀
//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'msyh');
//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
define('ZBX_GRAPH_FONT_NAME', 'msyh');
###########################################################################################
启动zabbix Server服务
安装完成后的server程序在/usr/local/zabbix/sbin/目录下,可以直接启动,完整的启动命令为
/usr/local/zabbix/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
检查端口是否开启侦听
netstat -tnlp |grep LISTEN
tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 4241/zabbix_server
/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
netstat -tnlp |grep LISTEN
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4299/zabbix_agentd
设置服务开机启动
vi /etc/rc.d/rc.local
/usr/local/zabbix/sbin/zabbix_server -c /etc/zabbix/conf/zabbix_server.conf
/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/conf/zabbix_agentd.conf
如未发现侦听开启,可以查看/tmp/下zabbix日志
server服务未成功开启,一般问题是zabbix连接mysql数据库错误
开启zabbix的服务后,刷新Web界面,如发现zabbix server is running的value值为No时,将selinux关闭并重启服务器
vi /etc/sysconfig/selinux修改selinux=disabled,重启服务器
如重启后发现zabbix server is running的value值仍为No,则可尝试修改统一/etc/zabbix和/var/www/html中有关Server的配置,一般设置为Server=127.0.0.1和$ZBX_SERVER = '127.0.0.1'即可。
######################################添加被监控主机#####################################
监控windows主机:
下载地址:http://www.zabbix.com/downloads/2.2.6/zabbix_agents_2.2.6.win.zip
在C:\Program Files\下创建zabbix文件夹
解压zip包后:将包内bin/win64/下的所有文件复制到 C:\Program Files\zabbix下
并在该目录下创建一个zabbix_agentd.conf文件,内容为
LogFile=C:\Program Files\zabbix\zabbix_agentd.log
Server= $zabbix server IP
UnsafeUserParameters=1
进入cmd命令行:
# cd C:\Program Files\zabbix
安装zabbix客户端:
# zabbix_agentd.exe -c "c:\Program Files\zabbix\zabbix_agentd.conf" -i
启动zabbix客户端agentd服务:
# zabbix_agentd.exe -c "c:\Program Files\zabbix\zabbix_agentd.conf" -s
参数含义:
-c 制定配置文件所在位置
-i 安装客户端
-s 启动客户端
-x 停止客户端
-d 卸载客户端
然后在zabbix的web页面添加windows主机。
监控Linux主机:
安装zabbix,启用agent
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
tar -xvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
useradd zabbix
mkdir -p /etc/zabbix
cp ./conf/* -R /etc/zabbix/
chown -R zabbix:zabbix /etc/zabbix
chown -R zabbix:zabbix /usr/local/zabbix
vi /etc/zabbix/zabbix_agentd.conf
ListenPort = 10050
Server = $zabbix server IP
Server Active = $zabbix server IP
HostName = localhost
启动zabbix客户端agentd
/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
查看进程和端口是否存在
ps-ef|grep zabbix_agentd
netstat -tnlp|grep 10050
然后在zabbix的web页面添加Linux主机。
##########################Web页面添加主机步骤############################################
1、"组态"-->"主机"-->"创建主机"
2、填写主机名称及IP地址,添加“群组”,在“模板”中“选择”并“添加”模板后“存档”。
##########################zabbix设置邮件告警##############################################
[root@localhost ~]# cat /etc/hosts
127.0.0.1 wonhot30.com localhost.localdomain localhost
[root@localhost ~]# cat /etc/mail/access
# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
Connect:wonhot30.com RELAY
[root@localhost ~]# cat /etc/mail/local-host-names
wonhot30.com
验证:
# telnet 127.0.0.1 25
查看进程
[root@localhost ~]# ps aux|grep sendmail
修改完成后,重启sendmail服务,通过telnet命令,测试一下看看是否已生效
[root@localhost ~]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to wht.com (127.0.0.1).
Escape character is '^]'.
220 monit.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 12 Jun 2012 18:28:27 +0800
从以上结果可以发现,localhost.localdomain 已经变成了 wht.com这个域名,设置完成!
接下来就可以在zabbix 的管理页面上进行Email 报警设置了。
SMTP server:
wht.com
SMTP hello:
wht.com
SMTP email:
设置完成后点击保存按钮
然后高级配置――用户设置用户的报警介质,添加Email
新建一个action,报警方式选择Email,设置触发器阀值等,保存测试即可!
######################################################################################