zabbix4.0搭建(基於CentOS6.8)
環境
服務端:188.188.3.241,系統:centos6.8,mysql:5.7.3,php:5.4.9,nginx:1.12.0
=================================================分割線==============================================
一、nginx編譯安裝
NGINX_VERSION=1.12.0
yum -y install pcre-devel openssl-devel
cd /usr/src
tar -zxf nginx-${NGINX_VERSION}.tar.gz
cd nginx-${NGINX_VERSION}
useradd -M -s /sbin/nologin nginx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-pcre
make && make install
===============================================分割線==================================================
二、mysql編譯安裝
#mysql5.7.13下載地址
wget http://dev.mysql.com/get/Downloads/SQL/">MySQL-5.7/mysql-5.7.13.tar.gz
#安裝mysql之前必須安裝boost庫,mysql5.7.13要求的boost版本是boost1.59.0或以上版本。
#下載地址
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
tar -xzvf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh --with-libraries=system,filesystem,log,thread --with-toolset=gcc
./b2 toolset=gcc
./b2 install --prefix=/usr/local/boost
MYSQL_VERSION=5.7.13
yum -y install cmake ncurses-devel readline-devel bison libaio-devel openssl-devel gcc-c++
cd /usr/src
useradd -M -s /sbin/nologin mysql
tar -zxf mysql-${MYSQL_VERSION}.tar.gz
cd mysql-${MYSQL_VERSION}
#注意,6.8版本cmake不成功的話把LAMP(yum)裡面的東西除了開頭兩個都解除安裝試試
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDOWNLOAD_BOOST=1 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_BOOST=/usr/local/boost
make && make install
make clean
rm CMakeCache.txt
chown -R mysql:mysql /usr/local/mysql
cd /usr/local/mysql/bin
#資料庫初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
#這條命令執行後會產生一個初始密碼
#A temporary password is generated for root@localhost: SU,G6RPpfGhV (要記下來)
mv /etc/my.cnf /etc/my.cnf.old
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig mysqld on
service mysqld start
echo '/usr/local/mysql/lib/' >> /etc/ld.so.conf #指定mysql庫檔案位置
ldconfig
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
source /etc/profile
#修改root密碼
mysql -uroot -p
#密碼為之前隨機生成的初始密碼,使用alter語句修改預設密碼
mysql>alter user 'root'@'localhost' identified by 'root';
=================================================分割線================================================
三、php編譯安裝
cd /usr/src
tar -zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
cd /usr/src
tar -zxf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure
make && make install
cd /usr/src
tar -zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
ldconfig -v
cd libltdl/
./configure --with-gmetad --enable-gexec --enable-ltdl-install
make && make install
ln -sv /usr/local/lib/libmcrypt* /usr/lib
ln -sv /usr/local/lib/libmhash* /usr/lib
ln -sv /usr/local/lib/libiconv* /usr/lib
ldconfig -v
=================================================分割線================================================
PHP_VERSION=5.4.9
yum -y install libxml2-devel curl-devel libjpeg-devel libpng-devel freetype-devel openldap-devel
cp -frp /usr/lib64/libldap* /usr/lib/
cd /usr/src
tar -zxf php-${PHP_VERSION}.tar.gz
cd php-${PHP_VERSION}
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql \
--with-iconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr/local \
--enable-xml \
--enable-dom \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-gettext \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-ldap \
--with-ldap-sasl \
--with-xmlrpc \
--enable-zip \
--enable-soap
make ZEND_EXTRA_LIBS='-liconv' && make install
cp php.ini-production /usr/local/php/etc/php.ini
echo 'export PATH=$PATH:/usr/local/php/bin' >> /etc/profile
source /etc/profile
==================================================分割線===============================================
四、zabbix編譯安裝
groupadd zabbix
useradd -g zabbix -m -s /sbin/nologin zabbix
cd /usr/src
tar -zxf zabbix-4.0.0.tar.gz
cd zabbix-4.0.0
./configure --prefix=/usr/local/zabbix \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--enable-agent \
--with-net-snmp \
--with-libcurl \
--with-mysql=/usr/local/mysql/bin/mysql_config \
--with-libxml2 \
--enable-bcmath --with-gd
make && make install
#匯入zabbix資料庫
cd /usr/src/zabbix-4.0.0/database/mysql
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
#配置zabbix_server
#vim /etc/zabbix/zabbix_server.conf
DBHost=188.188.3.241
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=188.188.3.241
StartIPMIPollers=10
StartPollersUnreachable=10
StartTrappers=10
StartPingers=10
StartDiscoverers=10
CacheSize=256M
StartDBSyncers=40
HistoryCacheSize=128M
TrendCacheSize=128M
ValueCacheSize=128M
Timeout=30
AlertScriptsPath=/etc/zabbix/alertscripts
ExternalScripts=/etc/zabbix/externalscripts
LogSlowQueries=10000
StartProxyPollers=50
LogFile=/tmp/zabbix_server.log
#建立zabbix所需要的指令碼目錄
mkdir /etc/zabbix/alertscripts
mkdir /etc/zabbix/externalscripts
ln -s /usr/local/zabbix/sbin/* /usr/sbin/
cp /usr/src/zabbix-4.0.0/misc/init.d/fedora/core/zabbix_* /etc/init.d/ #複製服務啟動指令碼
chmod +x /etc/init.d/zabbix_*
sed -i "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g" /etc/init.d/zabbix_server
#配置web
#cd /usr/local/nginx/conf/vhost
#vim zabbix.conf
server {
listen 80 ;
server_name zabbix . com ;
access _ log / data / logs / nginx / zabbix/access . log main ;
error _ log / data / logs / nginx / zabbix/error . log;
index index . html index . php index . html ;
root / data / web/zabbix ;
location /
{
try _ files $ uri $ uri / / index . php ?$ args ;
}
location ~ ^ (. + . php )(. * )$ {
fastcgi_split_path_info ^ (. + . php )(. * )$;
include fastcgi . conf ;
fastcgi _ pass 127.0.0.1 : 9000 ;
fastcgi_index index . php ;
fastcgi _ param PATH _ INFO $ fastcgi_path_info ;
}
}
#mkdir -p /data/web/zabbix
cp -r /usr/src/zabbix-4.0.0/frontends/php/* /data/web/zabbix/
#chown -R nginx:nginx /data/web/zabbix/
啟動zabbix_server 、nginx服務
#service nginx start
#server zabbix_server start
#瀏覽器訪問
ofollow,noindex" target="_blank"> http://188.188.3.241/zabbix/setup.php
預設 使用者名稱 Admin 密碼 zabbix
================================================分割線=====================================================
五、zabbix客戶端
1 下載安裝客戶端
所有版本下載地址:http://www.zabbix.com/download.php,可以直接下載已經編譯好的二進位制檔案,或者也可以原始碼安裝。
# cd /usr/local/src
# wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.0/zabbix-4.0.0.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist"
# tar -xzvf zabbix-4.0.0.tar.gz
# cd zabbix-4.0.0
# ./configure --prefix=/usr/local/zabbix/ --enable-agent
# make
# make install
3.2 zabbix客戶端配置
配置zabbix_server配置檔案,zabbix原始碼目錄下
# vim /usr/local/zabbix/etc/zabbix_agentd.conf
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被動後者是主動。也就是說Server這個配置是用來允許127.0.0.1這個ip來我這取資料。而serverActive的127.0.0.1的意思是,客戶端主動提交資料給他。明白了嗎?為什麼要分主動和被動?後續再來討論這個問題!
其他主機安裝客戶端記得新增zabbix使用者。
3.3 zabbix客戶端啟動
# /usr/local/zabbix-4.0.0/sbin/zabbix_agentd