zabbix安裝


部署nginx,想監控nginx的運行狀態,所以就去找找了資料,一開始看到阿里的tsar項目,但是部署總是不成功,,一怒之下想起來之前看到過的zabbix,聽說這個工具對於運維監控運用很廣泛,但是需要安裝php執行環境就放棄了,今天決定嘗試一下,還是有很多坑的,好不容易填平了,來記錄一下。

環境

  • ubuntu 16.04
  • nginx/1.10.0 (Ubuntu)

安裝

zabbix需要php環境,所以需要安裝php,mysql,nginx,zabbix。

安裝mysql

apt-get install mysql

安裝nginx

apt-get install nginx

安裝php

# 安裝php7.0,zabbix需要php5.4以上即可
apt-get install php7.0-fpm
# 安裝php的mysql模塊,需要安裝對應php版本的模塊
apt-get install php7.0-mysql
# zabbix使用到了以下幾個php模塊,在安裝zabbix-server的時候會自動檢測是否安裝,一定要記得安裝這幾個,注意大坑
apt-get install php-xml php-mbstring   php-bcmath

修改php配置文件,/etc/php/7.0/fpm/php.ini中查找並修改以下內容(這些配置是zabbix安裝必要的配置,在安裝zabbix的時候會進行檢測)

date.timezone = Asia/Shanghai
post_max_size = 16M
max_execution_time = 300
max_input_time = 300

修改/etc/php/7.0/fpm/pool.d/www.conf,查找並修改以下內容(www-data是php用戶、組,listen.mode 是控制/run/php/php7.0-fpm.sock的權限,不然后面nginx連接的時候會說沒有權限)

listen.owner = www-data
listen.group = www-data
listen.mode = 0666

安裝zabbix

# 從源碼安裝,一開始直接安裝deb,我下載的是3.0.1,安裝完成之后,導入sql發現說數據庫版本不對,我驚喜的發現zabbix居然是2.4版本的,所以還是直接下載源文件安裝
# 下載源碼
wget http://heanet.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz
# 解壓
tar -xvf zabbix-3.0.3.tar.gz
# 進入解壓目錄
cd zabbix-3.0.3
# 創建zabbix用戶和組
groupadd zabbix
useradd -g zabbix zabbix
# 配置編譯
./configure --prefix=/usr/local/zabbix-server --enable-server --enable-agent --with-mysql 
# 安裝,上面編譯沒有error
make install

配置zabbix

vim /usr/local/zabbix-server/etc/zabbix_server.conf
# 設置下列內容
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1

 

接下來創建數據庫zabbix和數據庫用戶zabbix

mysql -u root -proot
# 創建數據庫,記得設置字符集和校對集,不然后面漢化會有問題
create database zabbix default charset utf8 default collate utf8_bin;
# 創建用戶並授權
create user zabbix
identified by ‘zabbix’;
grant all on zabbix.* to zabbix@“%” identified by ‘zabbix’;
flush privileges;

將zabbix數據導入mysql

# 切換到剛剛zabbix解壓的目錄
cd zabbix-3.0.3/database/mysql
# 按順序依次導入數據
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql

部署zabbix frontend,就是zabbix的界面,這里使用nginx作為php的服務器

# 切換到zabbix解壓目錄
cd zabbix-3.0.3/frontends
# 復制php目錄到nginx網頁目錄
cp -r php /var/www/html
# 重命名php目錄
mv php zabbix

配置nginx

#user www-data;
worker_processes 3;
#pid /run/nginx.pid;

events {
        #use epoll
    worker_connections 8192;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

    # gzip_vary on;
    # gzip_proxied any;
    # gzip_comp_level 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


        upstream web_app{
            server      127.0.0.1;
        }
        
        server{
            listen      80;
            server_name 127.0.0.1 10.10.31.119;
            location ~ \.php$ {
                root /var/www/html;
                include snippets/fastcgi-php.conf;
                proxy_pass      http://web_app;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
            }
        
        }
}    

記得檢查nginx安裝目錄下有沒有snippets/fastcgi-php.conf,一般來說安裝nginx就帶了這些模塊不然不能處理php頁面,如果nginx報錯可以查看/var/log/nginx/access.log和/var/log/nginx/error.log排錯,一定要養成查看日志的習慣

擺了這么久的姿勢,終於進入關鍵步驟了——開始配置安裝zabbix

在瀏覽器訪問http://127.0.0.1/zabbix/setup.php,如果順利的話就可以看到如下界面

wonderful!!!終於看到這個界面,歷盡千辛萬苦.....好吧,前方高能預警,下面又是一個大坑

很好,都是ok,如果順利的話你也能看到,如果有問題的話,在/etc/php/7.0/fpm/php.ini配置文件中找到對應的選項並設置成REQUIRED的值。如果沒有就需要安裝,比如下面這些:

apt-get install php7.0-xml
apt-get install php7.0-bcmath
apt-get install php7.0-mbstring
apt-get install php7.0-gd

 

一直下一步到最后,最后可能會出現配置文件失敗,需要點擊“Download the configuration file”下載下來手動復制到/var/www/html/zabbix/conf下面

然后點擊完成,啟動zabbix-server

/usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf

打開http://127.0.0.1/zabbix/index.php頁面登陸zabbix,默認用戶名admin,密碼zabbix,出現以下頁面說明zabbix安裝成功

這篇有點長的了,另起一篇繼續寫zabbix監控nginx吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM