前言:最近一直忙着監控系統的事,如今最大的感覺是,環境搭建不是最難的,難的是後期的怎麼去監控,怎麼利用監控系統把衆多服務器監控器起來,怎麼開發腳本和Zabbix配合去監控上層服務,如中間件,數據庫,JVM等;這些是後話,很少說了,下面是Zabbix 3.2.4的部署方法,作一下簡單總結。php
這裏使用C/S架構:html
環境:前端
服務器軟件:Linux(RED HAT)6.五、Nginx 1.10.三、PHP 5.6.2九、Mysql 5.5.53java
應用軟件:Zabbix 3.2.4mysql
或者使用(Linux+Apache+PHP+Mysql)可換成其餘數據庫,Zabbix支持衆多數據庫,你們能夠到官方網站去查詢。linux
這裏使用mysql-5.5.53 glibc格式安裝nginx
# groupadd -r -g mysqlweb
# useradd -g mysql -M -r mysqlsql
# mkdir -pv /mydata/data數據庫
# chown -R mysql.mysql /mydata/data/
# tar -xf mysql-5.5.53-linux2.6-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.7.15-linux-glibc2.5-x86_64/ mysql
# cd mysql
# chown -R mysql.mysql .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root .
# cd /usr/local/mysql
# cp support-files/my-large.cnf /etc/my.cnf
添加以下行指定mysql數據文件的存放位置:
datadir = /mydata/data
# cd /usr/local/mysql
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
添加至服務列表:
# chkconfig --add mysqld
# chkconfig mysqld on
然後就能夠啓動服務測試使用了。
設置root密碼:
# ./bin/mysqladmin -u root password 'new-password'
# yum install cc gcc –y
# yum insatll libxml2-devel.x86_64 –y
# yum install net-snmp-devel.x86_64 -y
# tar xf zabbix-3.2.4.tar.gz
# cd zabbix-3.2.4
configure:
./configure --prefix=/usr/local/zabbix-3.2.4/ \
--enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--enable-proxy \
--enable-java
根據狀況,安裝缺乏的開發庫。
編譯安裝:
# make install
# groupadd –r zabbix
# useradd -g zabbix –r zabbix
zabbix server與 proxy須要數據庫agent不須要。尤爲要注意的是 proxy只須要導入一個sql 文件而server一共要導入3個sql文件。
# mysql -uroot –pzabbix
mysql> create database zabbix default charset utf8;
新建用戶:
mysql> CREATE USER 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zabbix';
mysql> GRANT all privileges ON zabbix.* TO 'zabbix'@'127.0.0.1' WITH GRANT OPTION;
mysql> flush privileges;
mysql> quit;
# mysql -uzabbix –pzabbix zabbix < database/mysql/schema.sql
建立數據庫請別忘記加 default charset utf8
若是你僅僅是初始化 proxy 的數據庫,那麼夠了。若是初始化 server,那麼接着導入下面兩個 sql
# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
配置zabbix_server配置文件,zabbix 源碼目錄下
# mkdir /etc/zabbix
# cp config/zabbix_server.conf /etc/zabbix/
# vim /etc/zabbix/zabbix_server.conf
ListenPort=10051
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword= zabbix
DBPort=3306
# /usr/local/zabbix-3.2.4/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
默認端口 10051
yum install gd-devel libjpeg-devel libxml2-devel bzip2-devel libcurl-devel –y
yum install libpng-devel.x86_64 –y
yum install freetype-devel.x86_64 -y
# yum install libxml2 -y
# tar -xf php-5.6.29.tar.gz
# cd php-5.6.29
# ./configure --prefix=/usr/local/php-5.6.29 \
--with-config-file-path=/usr/local/php-5.6.29/etc \
--with-bz2 \
--with-curl \
--enable-ftp \
--enable-sockets \
--disable-ipv6 \
--with-openssl \
--with-gd \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-freetype-dir=/usr/local \
--enable-gd-native-ttf \
--with-iconv-dir=/usr/local \
--enable-mbstring \
--enable-calendar \
--with-gettext \
--with-libxml-dir=/usr/local \
--with-zlib \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql=mysqlnd --enable-dom \
--enable-xml \
--enable-fpm \
--with-libdir=lib64 \
--enable-bcmath
編譯安裝:
make
make install
# cp /usr/local/php-5.6.29/etc/php.ini-production /usr/local/php-5.6.29/etc/php.ini
# cp /usr/local/php-5.6.29/etc/php-fpm.conf.default /usr/local/php-5.6.29/etc/php-fpm.conf
PHP 配置參數
打開 php.ini 配置文件,修改以下參數爲以下值,不然 zabbix 安裝不了。
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = PRC
# /usr/local/php-5.6.29/sbin/php-fpm
查看是否啓動:
# netstat -lnt | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
yum -y install pcre-devel.x86_64
yum -y install openssl-devel.x86_64
添加用戶nginx,實現以之運行nginx服務進程
# groupadd -r nginx
# useradd -g nginx -r nginx
# tar xf nginx-1.10.3.tar.gz
# cd nginx-1.10.3
根據需求,須要哪些模塊,選擇模塊去編譯
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --with-file-aio
# make
# make install
# vim /etc/nginx/nginx.conf
server {
listen 80;
server_name zabbix.com;
index index.html index.php index.html;
root /var/www/zabbix.com;
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;
}
}
/usr/sbin/nginx
拷貝前端文件:
# mkdir -pv /var/www/zabbix.com/zabbix
# cp –rf ./zabbix-3.2.4/frontends/* /var/www/zabbix.com/zabbix/
# chown -R zabbix.zabbix /var/www/zabbix.com
瀏覽器打開 http://zabbix.com/zabbix
歡迎界面:
出現上述錯誤解決方法:找到CFrontendSetup.php添加$current = -1;
/include/classes/setup/CFrontendSetup.php
默認:admin zabbix
修改語言爲中文,亂碼問題解決方法:
拷貝windows下C:\Windows\Fonts\ simkai.ttf到zabbix站點目錄fonts下
修改include/defines.inc.php文件:
define('ZBX_FONT_NAME', 'DejaVuSans');後的結果:
define('ZBX_FONT_NAME', 'simkai');
修改define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');後的結果:
define('ZBX_GRAPH_FONT_NAME', 'simkai');
登錄後的界面以下:
總結:環境搭建時,注意按照本身業務的需求去編譯軟件,能夠選擇不一樣的web服務器或數據庫去搭建;
被監控服務器Zabbix-agentd安裝和配置這裏再也不贅述,使用rpm包安裝便可;
上述文檔中沒有配置sysV風格的服務腳本,也能夠本身編寫或尋找服務器啓動的腳本;
若是被監控服務器數量較多,服務器分佈在不一樣的地區,能夠選擇分佈式監控。