Centos6.9下zabbix3.0的搭建

1、安裝經常使用依賴包php

(本文永久地址:http://woymk.blog.51cto.com/10000269/1953012html

yum install -y make gcc gcc-c++ perl zlib-devel libaio libpng libpng-devel libjpeg-devel pcre-devel前端

yum install -y  libXpm-devel openssl openssl-devel libxml2-devel bzip2-devel.x86_64 libjpeg-turbo-develmysql

yum install -y  freetype freetype-devel libtool cmake ncurses-devel bison re2c curl-devel wgetnginx

rpm -ivh "http://mirrors.sohu.com/fedora-epel/epel-release-latest-6.noarch.rpm"c++

yum install -y libmcrypt-devel re2cweb


2、安裝nginxsql

cd /usr/local/src數據庫

wget http://mirrors.sohu.com/nginx/nginx-1.12.0.tar.gzwindows

tar zxvf nginx-1.12.0.tar.gz

cd nginx-1.12.0

./configure  --prefix=/usr/local/nginx  --with-pcre  --with-http_stub_status_module  --with-http_ssl_module

make && make install

vi /etc/init.d/nginx

把下面nginx啓動腳本保存爲 /etc/init.d/nginx,

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/sbin/nginx"
prog=$(basename $nginx)
sysconfig="/etc/sysconfig/$prog"
lockfile="/var/lock/subsys/nginx"
pidfile="/var/run/${prog}.pid"
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f $sysconfig ] && . $sysconfig
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
stop() {
    echo -n $"Stopping $prog: "
    killproc -p $pidfile $prog
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
restart() {
    configtest_q || return 6
    stop
    start
}
reload() {
    configtest_q || return 6
    echo -n $"Reloading $prog: "
    killproc -p $pidfile $prog -HUP
    echo
}
configtest() {
    $nginx -t -c $NGINX_CONF_FILE
}
configtest_q() {
    $nginx -t -q -c $NGINX_CONF_FILE
}
rh_status() {
    status $prog
}
rh_status_q() {
    rh_status >/dev/null 2>&1
}
# Upgrade the binary with no downtime.
upgrade() {
    local oldbin_pidfile="${pidfile}.oldbin"
    configtest_q || return 6
    echo -n $"Upgrading $prog: "
    killproc -p $pidfile $prog -USR2
    retval=$?
    sleep 1
    if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
        killproc -p $oldbin_pidfile $prog -QUIT
        success $"$prog online upgrade"
        echo 
        return 0
    else
        failure $"$prog online upgrade"
        echo
        return 1
    fi
}
# Tell nginx to reopen logs
reopen_logs() {
    configtest_q || return 6
    echo -n $"Reopening $prog logs: "
    killproc -p $pidfile $prog -USR1
    retval=$?
    echo
    return $retval
}
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest|reopen_logs)
        $1
        ;;
    force-reload|upgrade) 
        rh_status_q || exit 7
        upgrade
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    status|status_q)
        rh_$1
        ;;
    condrestart|try-restart)
        rh_status_q || exit 7
        restart
     ;;
    *)
        echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart|reopen_logs}"
        exit 2
esac

找到下面三行

nginx="/usr/sbin/nginx"

pidfile="/var/run/${prog}.pid"

NGINX_CONF_FILE="/etc/nginx/nginx.conf"


修改成:

nginx="/usr/local/nginx/sbin/nginx"

pidfile="/usr/local/nginx/logs/${prog}.pid"

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"


保存後,執行

chmod +x /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

/etc/init.d/nginx start


3、安裝php

安裝依賴包

yum install openldap openldap-devel  -y

cd /usr/local/src

wget http://mirrors.sohu.com/php/php-5.5.38.tar.gz

tar zxvf php-5.5.38.tar.gz

cd php-5.5.38

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-iconv-dir --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath --with-ldap


make && make install

cp php.ini-production /usr/local/php/etc/php.ini

cp /usr/local/src/php-5.5.38/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

cp -v /usr/local/php/etc/{php-fpm.conf.default,php-fpm.conf}

vi /usr/local/php/etc/php.ini

找到

;date.timezone =

改成

date.timezone = Asia/Chongqing


保存後,執行

chmod 755 /etc/init.d/php-fpm 

chkconfig --add php-fpm

chkconfig php-fpm on 

service php-fpm start


4、安裝mysql

wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36.tar.gz

tar zxvf mysql-5.6.36.tar.gz

cd mysql-5.6.36


cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci


make && make install


創建mysql用戶

useradd -s /sbin/nologin mysql


初始化數據庫,建立系統自帶的數據庫和表

mkdir -p /data/mysql

chown -R mysql:mysql /data/mysql

cd /usr/local/mysql

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql


添加服務,拷貝服務腳本到init.d目錄,並設置開機啓動

cp support-files/my-default.cnf /etc/my.cnf

cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld

vi /etc/init.d/mysqld

修改datadir

basedir=/usr/local/mysql

datadir=/data/mysql

chkconfig --add mysqld

chkconfig mysqld on

service mysqld start

mysql修改密碼

/usr/local/mysql/bin/mysqladmin -uroot password "1234"

PATH=$PATH:/usr/local/mysql/bin

建立zabbix數據庫、用戶名和密碼:

mysql -uroot -p -e  "create database zabbix default charset utf8"

mysql -uroot -p -e "grant all privileges on zabbix.* to zabbix@'localhost' identified by '1234'";


5、安裝zabbix server

官網下載地址 https://www.zabbix.com/download

這裏下載的是: zabbix-3.0.10.tar


安裝依賴包

yum install net-snmp-devel -y


cd /usr/local/src

tar zxvf zabbix-3.0.10.tar.gz

cd zabbix-3.0.10

./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2

make && make install


建立zabbix用戶

useradd -s /sbin/nologin zabbix

導入3個sql文件:(密碼這裏設的是1234)

mysql -uroot -p zabbix < database/mysql/schema.sql 

mysql -uroot -p zabbix < database/mysql/p_w_picpaths.sql 

mysql -uroot -p zabbix < database/mysql/data.sql 


建立網站目錄

mkdir /data/web/zabbix -p

將前端文件拷貝到web目錄下

cp -rp frontends/php/* /data/web/zabbix/

配置nginx

cd /usr/local/nginx/conf/

mkdir extra

cd extra/

vi zabbix.conf

加入如下內容,並保存:

server {
    listen 80;
    server_name www.test.com;
    access_log /data/logs/zabbix/www.test.com.access.log main;
    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;
    }
}

cd ..

vi nginx

加入如下內容,並保存:

user  nobody;
worker_processes  1;
#error_log  logs/error.log warning;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    include extra/*.conf;
}

vi /usr/local/zabbix/etc/zabbix_server.conf

修改以下內容並保存:

LogFile=/tmp/zabbix_server.log

PidFile=/tmp/zabbix_server.pid

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=1234


啓動zabbix server

/usr/local/zabbix/sbin/zabbix_server

若是顯示:

error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

執行:

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/


查看啓動的服務和端口號

netstat -lnpt


6、網頁安裝zabbix

瀏覽器訪問

http://ip/

(若是沒法顯示,檢查iptables和selinx是否關閉)

wKioL1mBglTS0x2iAABfolGSJAk572.png-wh_50

點下一步

wKiom1mBgo6Ami_wAACeJ7vskAY715.png-wh_50

vi /usr/local/php/etc/php.ini

跟據錯誤提示修改,保存後重啓php-fpm

service php-fpm restart

wKioL1mBgqzQl-GcAACNaii7iSc504.png-wh_50

繼續點下一步

wKioL1mBgvPyfsTDAABs3agHFkw196.png-wh_50

填寫完點下一步

wKiom1mBg4_j_0ttAABbvqTt2Zs885.png-wh_50

填寫完點下一步

wKiom1mBg-awc-z0AACDgVek5Bs184.png-wh_50

繼續點下一步

wKiom1mBhBjxn1NOAABcx5SmJiE956.png-wh_50

這裏的報錯是由於nginx用戶沒有寫入權限,按圖中提示手動修改或者直接修改目錄權限:

cd /data/web/zabbix/

chown nobody:nobody conf

改完後刷新網頁

wKiom1mBhSijDtllAABil_JHMoo974.png-wh_50

點Finish,接下來登錄zabbix,默認管理員帳號爲 admin:zabbix

wKiom1mBhVfCG6EhAAAjhQvYv8E441.png-wh_50

登錄後的畫面:

wKiom1mBhmqxWM9QAADbumBNl_M540.png-wh_50

設置中文顯示:

點右上角的小圖標,顯示以下網頁,在Language項修改

wKioL1mBhvKRJhw5AABkE_oQqVg219.png-wh_50

點Update

wKiom1mBh2qzc9OgAAC6I6Re15A965.png-wh_50

已經顯示成中文了。


zabbix出現中文亂碼的解決方法

zabbix在顯示中文時有的地方會出現亂碼,這是由於沒有中文字庫的緣故,只需把windows裏的字庫複製過去便可。windows的字體文件c:\windows\fonts目錄下,好比華文仿宋字體文件名是STFANGSO.ttf。


把字體文件上傳到系統裏(可使用PSFTP、FileZilla等文件傳輸工具上傳),將原字體文件直接覆蓋

mv STFANGSO.ttf /data/web/zabbix/fonts/DejaVuSans.ttf


或者

把字體文件複製/data/web/zabbix/fonts/目錄

vi /data/web/zabbix/include/defines.inc.php

找到

define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');

修改爲上傳的中文字體文件名。

相關文章
相關標籤/搜索