zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
要想搭建一个Zabbix的工作环境,需要从服务器入手。与服务器通信,管理员需要使用一个Zabbix前端界面,与Zabbix服务器和数据库进行通信。三个关键(界面、服务器和数据库)可以安装在同一台服务器上,但是如果你拥有一个更大更复杂的环境,将它们安装在不同的主机上也是一个选项。Zabbix服务器能够直接监控到同一网络中的设备,如果其他网络的设备也需要被监控,那还需要一台Zabbix代理服务器。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
-磁盘使用
- 网络状况
- 端口监视
- 日志监视。
yum install -y beecrypt beecrypt-devel curl curl-devel freetype freetypr-devel fontconfig fontconfig-devel gettext gettext-devel ImageMagick ImageMagick-devel mingw32-iconv.noarch libmcrypt libmcrypt-devel libpng libpng-devel libxml2 libxml-devel libxslt libxslt-devel mhash mhash-devel mcrypt zlib zlib-devel gd gd-devel libjpeg libjpeg-devel gcc gcc-c++ ncurses-devel
包名称 | 下载地址 |
Mysql5.6.5-M8 | http://downloads.mysql.com/archives/get/file/mysql-5.6.5-m8.tar.gz |
cmake-2.8.8 | http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz |
php-5.4.29 | http://cn2.php.net/get/php-5.4.29.tar.gz/from/this/mirror |
libiconv-1.14 | https://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz |
jdk-6u45 | http://download.oracle.com/otn/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin |
nginx-1.2.9 | http://nginx.org/download/nginx-1.2.9.tar.gz |
iksemel-1.4 | http://iksemel.googlecode.com/files/iksemel-1.4.tar.gz |
libssh2-1.4.3 | http://libssh2.org/download/libssh2-1.4.3.tar.gz |
fping-2.4b2_to | http://download.chinaunix.net/down.php?id=6038&ResourceID=3222&site=1 |
OpenIPMI-2.0.21 | https://jaist.dl.sourceforge.net/project/openipmi/OpenIPMI%202.0%20Library/OpenIPMI-2.0.21.tar.gz |
Zabbix-2.0.21 | https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.21/zabbix-2.0.21.tar.gz |
安装cmake所需要的软件gcc gcc-c++ ncurses-devel
tar -zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./bootstrap
gmake
gmake install
tar -zxvf mysql-5.6.5-m8.tar.gz
cd mysql-5.6.5-m8
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_INNODB_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 \
-DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
make
make install
useradd -s /sbin/nologin mysql
cd /usr/local/mysql
cp support-files/my-large.cnf /etc/my.cnf
mkdir -p data/mysql/data
/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cp support-files/mysql.server /etc/init.d/
chkconfig --add mysql.server
systemctl start mysql.server
echo "PATH=$path:/usr/local/mysql/bin">>/etc/profile
需要安装软件libiconv,作用是转换语言编码
cd libiconv-1.14/
./configure --prefix=/usr/local/
进入srclib目录 执行 sed -i -e '/gets is a security/d' ./stdio.in.h
make &&make install
ldconfig
tar -zxvf php-5.4.29
cd /usr/local/src/php-5.4.29
执行编译配置可能会提醒openssl,ldap无安装,执行如下语句:
#yum install openssl.x86_64 openssl-devel.x86_64 -y
#yum install openldap openldap-server openldap-clients openldap-devel
#cp -frp /usr/lib64/libldap* /usr/lib/
#安装libmcrypt
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
#解压
tar -zxvf libmcrypt-2.5.7.tar.gz
#进入目录
cd libmcrypt-2.5.7
#编译(默认安装到/usr/local/lib/)
./configure --prefix=/usr/local/libmcrypt
#执行安装
make && make install
#安装libiconv-devel
1、 安装epol源 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 2、安装libmcrypt [root@A tools]# yum install libmcrypt-devel -y 3、检查 [root@A tools]# rpm -qa libmcrypt-devel libmcrypt-devel-2.5.8-9.el6.x86_64
编译PHP
./configure --prefix=/usr/local/php --disable-debug --disable-ipv6 \
--disable-rpath --enable-bcmath --enable-exif \
--enable-gd-native-ttf -enable-mbregex --enable-mbstring=all --enable-pcntl \
--enable-shmop --enable-soap --enable-sockets \
--enable-xml --with-config-file-path=/usr/local/php/etc \
--with-curl --with-curlwrappers --with-freetype-dir --with-gd --with-gettext \
--with-iconv-dir=/usr/local/bin/iconv --with-jpeg-dir --with-ldap \
--with-ldap-sasl --with-libdir=lib --with-libxml-dir=/usr/ \
--with-mcrypt=/usr/local/libmcrypt \
--with-mhash --with-openssl --with-pdo-mysql --with-pear --with-png-dir \
--with-xmlrpc --with-zlib-dir --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-mysql=/usr/local/mysql --enable-fpm
./configure后
编辑MakeFile
找到 开头是 'EXTRA_LIBS' 这一行 在结尾加上 '-llber' 然后执行 make && make install
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-production /usr/local/php
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
tar -zxvf nginx-1.2.9.tar.gz
cd nginx-1.2.9/
yum install perl perl-devel perl-ExtUtils-Embed 安装依赖软件
./configure --prefix=/usr/local/nginx --user=nobody --group=nobody \
--with-poll_module --with-http_ssl_module --with-http_sub_module \
--with-http_perl_module --with-mail --with-pcre --with-ld-opt="-Wl,-E"
make
make install
/usr/local/php/sbin/php-fpm #启动php的fpm
killall php-fpm #关闭php的fpm
/usr/local/nginx/sbin/nginx #开启nginx
/usr/local/nginx/sbin/nginx -s stop #关闭nginx
chmod +x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
mv jdk1.6.0_45/ /usr/local/
echo JAVA_HOME=/usr/local/jdk>>/etc/profile
echo PATH=\$PATH:/usr/local/jdk/bin>>/etc/profile
echo export JAVA_HOME>>/etc/profile
echo export PATH>>/etc/profile
source /etc/profile
iksemel用于Zabbix系统通过Jabber方式发送报警信息的软件包,此软件一般可以不安装
tar -zxvf iksemel-1.4.tar.gz -C /usr/local/src/
cd iksemel-1.4
./configure --prefix=/usr/local/iksemel
make && make install
libssh2用于Zabbix系统通过SSH协议采集监控数据所必须的安装包
tar -zxvf libssh2-1.4.3.tar.gz
cd libssh2-1.4.3
./configure
make && make install
OpenIPMI是让Zabbix系统通过IPMI采集监控数据所必须安装的软件包
yum install -y popt-devel 安装软件依赖包
tar -zxvf OpenIPMI-2.0.21.tar.gz
cd OpenIPMI-2.0.21
./configure
make && make install
--prefix=DIR 指定Zabbix安装路径
--enable-static 使用静态方法编译Zabbix,执行效率高
--enable-server 开启服务器组件
--enable-porxy 开启服务器代理组件,分担Zabbix服务器压力
--enable-agent 开启被监控设备代理组件
--enable-java 开启java网关组件
--with-mysql 开启支持mysql组件
--with-jabber 指定iksemel路径,通过Jabber方式发送报警信息
/usr/local/mysql/bin/mysql -u root -p 连接到数据库
create database zabbix default character set=utf8;创建zabbix数据库
insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('zabbix')); #新建账户zabbix,密码zabbix
flush privileges; #刷新系统授权表
grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'zabbix' with grant option; #允许账户zabbix能从本机连接到数据库zabbix
flush privileges; #再次刷新系统授权表
tar -zxvf zabbix-2.0.21.tar.gz -C /usr/local/src/
mysql -u zabbix -p zabbix< /usr/local/src/zabbix-2.0.21/database/mysql/schema.sql
mysql -u zabbix -p zabbix < /usr/local/src/zabbix-2.0.21/database/mysql/images.sql
mysql -u zabbix -p zabbix < /usr/local/src/zabbix-2.0.21/database/mysql/data.sql
yum install -y unixODBC unixODBC-devel mysql-connector-odbc
vim zabbix_server.conf在zabbix安装目录etc/下
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=centos
cp /usr/local/src/zabbix-2.0.21/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
cp /usr/local/src/zabbix-2.0.21/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
systemctl start zabbix_server start 启动zabbix服务器组件
systemctl stop zabbix_agentd start 启动被监控设备代理组
fping4.0下载http://www.fping.org/dist/fping-4.0.tar.gz
tar -zxvf fping-4.0.tar.gz -C /usr/local/src/
cd fping-4.0/
./configure
make
make install
编辑nginx/conf下nginx.conf文件
server {
listen 80;
server_name zabbix;
access_log off;
charset utf8;
autoindex off;
autoindex_exact_size off;
autoindex_localtime on;
location / {
index index.html index.htm index.php;
root /www/zabbix;
}
location ~ \.php {
include fastcgi_params;
fastcgi_param SERVER_NAME $server_addr;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}
/usr/local/nginx/sbin/nginx -s reload 重启nginx环境
killall php-fpm 关闭所有php-fpm进程
/usr/local/php/sbin/php-fpm 启动php-fpm进程
mkdir -p /www/zabbix
在zabbix源码包frontends/php复制站点内程序到站点目录
cp -Rpfv frontends/php/* /www/zabbix
chown -R nobody:nobody /www/zabbix/ 修改站点权限
3.修改PHP配置
打开http://hostname
修改php.ini文件如上图要求
配置项名称 | 最低要求配置 |
配置方法 |
PHP版本 | 5.3.0 |
|
时区设置 | 不能为空 |
修改date.timezone = Asia/Shanghai |
内存限制 | 128MB |
memory_limit = 128M |
最大提交数据大小 | 16MB |
post_max_size=16M |
最大上传文件大小 | 2MB |
upload_max_filesize = 2M |
最大执行时间 | 300秒 |
max_execution_time = 300 |
最大输入时间 | 300秒 |
max_input_time = 300 |
自动开启session | 禁止 |
session.auto_start = 0 |
端口默认为10051
安装完成后系统会引导登录,默认用户为admin,密码为zabbix