在瞭解《zabbix硬件、軟件需求》以後,在你內心應該有備選的機器。今天開始安裝zabbix。zabbix須要LNMP或者LAMP環境。環境的搭建不在本章範圍內。php
LNMP環境配置
Linux安裝:http://www.osyunwei.com/archives/1024.html
NGINX安裝:http://www.ttlsa.com/nginx/nginx-install-on-linux/
PHP安裝+NGINX配置:http://www.ttlsa.com/nginx/nginx-php-5_5/ (安裝前必定要看1.1 PHP安裝參數)
MYSQL安裝:http://www.ttlsa.com/mysql/install-mysql5_6/html
zabbix對PHP參數、PHP模塊有特殊要求。前端
1.1 PHP安裝參數
php具體安裝方法參考上面的連接,不過以下模塊要特別留意加上
bcmath --enable-bcmath
mbstring --enable-mbstring
sockets --enable-sockets
gd --with-gd
libxml --with-libxml-dir=/usr/local
xmlwriter 同上
xmlreader 同上
ctype 默認支持
session 默認支持
gettext 默認支持mysql
如下是我PHP的配置參數linux
./configure --prefix=/usr/local/php-5.5.7 \ --with-config-file-path=/usr/local/php-5.5.7/etc --with-bz2 --with-curl \ --enable-ftp --enable-sockets --disable-ipv6 --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-bcmathnginx
1sql 2數據庫 3vim 4瀏覽器 5 6 7 8 9 |
./configure --prefix=/usr/local/php-5.5.7 \ --with-config-file-path=/usr/local/php-5.5.7/etc --with-bz2 --with-curl \ --enable-ftp --enable-sockets --disable-ipv6 --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 |
1.2 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
1 2 3 4 5 6 |
max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone PRC |
2.1 下載安裝zabbix
全部版本下載地址:http://www.zabbix.com/download.php
# yum install net-snmp-devel libxml2-devel libcurl-devel // 必定先安裝依賴 # cd /usr/local/src # wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist" # tar -xzvf zabbix-2.2.2.tar.gz # cd zabbix-2.2.2 # ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-server \ --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 # make # make install
1 2 3 4 5 6 7 8 9 |
# yum install net-snmp-devel libxml2-devel libcurl-devel // 必定先安裝依賴 # cd /usr/local/src # wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist" # tar -xzvf zabbix-2.2.2.tar.gz # cd zabbix-2.2.2 # ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-server \ --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 # make # make install |
在zabbix server通常充當兩個角色:server、angent,因此上面的配置參數也同時加上了--enable-agent。
備註:請安裝好MySQL,snmp,curl開發庫。
2.2 建立用戶
爲了安全考慮zabbix只使用普通用戶運行,假如你當前用戶叫ttlsa,那麼你運行他,他便使用ttlsa身份運行。可是若是你在root環境下運行 zabbix,那麼zabbix將會主動使用zabbix用戶來運行。可是若是你的系統沒有名叫zabbix的用戶,你須要建立一個用戶,以下:
# groupadd zabbix
# useradd -g zabbix zabbix
2.3 初始化數據庫
zabbix server與proxy須要數據庫,angent不須要。尤爲要注意的是proxy只須要導入一個sql文件,而server一共要導入3個sql文 件。我當時在搭建proxy的時候導入了3個sql,致使出現報錯。後來才發現proxy只須要導入一個表結構便可。
我假想你安裝好了MySQL,用戶名爲root,密碼爲ttlsapwd
# mysql -uroot -pttlsapwd mysql> create database zabbix default charset utf8; mysql> quit; # mysql -uroot -pttlsapwd zabbix < database/mysql/schema.sql
1 2 3 4 |
# mysql -uroot -pttlsapwd mysql> create database zabbix default charset utf8; mysql> quit; # mysql -uroot -pttlsapwd zabbix < database/mysql/schema.sql |
備註:建立數據庫請別忘記加default charset utf8,有可能會致使你出現中文亂碼問題,具體問題請查看《zabbix中文亂碼解決方法》
若是你僅僅是初始化proxy的數據庫,那麼夠了。若是初始化server,那麼接着導入下面兩個sql
# mysql -uroot -pttlsapwd zabbix < database/mysql/images.sql # mysql -uroot -ppttlsapwd zabbix < database/mysql/data.sql
1 2 |
# mysql -uroot -pttlsapwd zabbix < database/mysql/images.sql # mysql -uroot -ppttlsapwd zabbix < database/mysql/data.sql |
其餘數據庫(db2\sqlite\oracle)數據庫初始化方法參考:https://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts
2.4 配置zabbix
配置zabbix_server配置文件,zabbix源碼目錄下
# mkdir /etc/zabbix # cp config/zabbix_server.conf /etc/zabbix/ # vim /etc/zabbix/zabbix_server.conf DBName=zabbix DBUser=root DBPassword=ttlsapwd DBPort=3306
1 2 3 4 5 6 7 |
# mkdir /etc/zabbix # cp config/zabbix_server.conf /etc/zabbix/ # vim /etc/zabbix/zabbix_server.conf DBName=zabbix DBUser=root DBPassword=ttlsapwd DBPort=3306 |
2.5 啓動zabbix server
# /usr/local/zabbix-2.2.2/sbin/zabbix_server
1 |
# /usr/local/zabbix-2.2.2/sbin/zabbix_server |
默認端口10051
3.1 下載安裝客戶端
全部版本下載地址:http://www.zabbix.com/download.php,能夠直接下載已經編譯好的二進制文件,或者也能夠源碼安裝。
# cd /usr/local/src # wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist" # tar -xzvf zabbix-2.2.2.tar.gz # cd zabbix-2.2.2 # ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-agent # make # make install
1 2 3 4 5 6 7 |
# cd /usr/local/src # wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz?r=http%3A%2F%2Fwww.zabbix.com%2Fdownload.php&ts=1395066528&use_mirror=jaist" # tar -xzvf zabbix-2.2.2.tar.gz # cd zabbix-2.2.2 # ./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-agent # make # make install |
3.2 zabbix客戶端配置
配置zabbix_server配置文件,zabbix源碼目錄下
# vim /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=Zabbix server
1 2 3 4 |
# vim /usr/local/zabbix-2.2.2/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-2.2.2/sbin/zabbix_agentd
1 |
# /usr/local/zabbix-2.2.2/sbin/zabbix_agentd |
默認端口10050
4.1 拷貝前端文件
# mkdir /data/logs/nginx # mkdir /data/site/monitor.ttlsa.com/zabbix # cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix
1 2 3 |
# mkdir /data/logs/nginx # mkdir /data/site/monitor.ttlsa.com/zabbix # cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix |
4.2 配置虛擬主機
請相應修改你的配置文件路徑
# vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf server { listen 80; server_name monitor.ttlsa.com; access_log /data/logs/nginx/monitor.ttlsa.com.access.log main; index index.html index.php index.html; root /data/site/monitor.ttlsa.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; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf server { listen 80; server_name monitor.ttlsa.com; access_log /data/logs/nginx/monitor.ttlsa.com.access.log main;
index index.html index.php index.html; root /data/site/monitor.ttlsa.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; } } |
4.3 在線配置zabbix
瀏覽器打開http://monitor.ttlsa.com/zabbix。
以下是zabbix 2.2的安裝界面,包括歡迎界面一共6步.
4.3.1 歡迎界面
zabbix安裝
4.3.2 php需求檢查
zabbix php環境檢查
4.3.3 MySQL配置
zabbix MySQL配置
4.3.4 zabbix服務端詳細信息
zabbix-detail
4.3.5 zabbix安裝前信息列表
zabbix安裝前信息
4.3.6 安裝完成
若是失敗了,通常狀況是php對zabbix沒有寫權限
zabbix安裝完成
登錄zabbix,默認用戶名:Admin,密碼:zabbix
zabbix登錄
以下是zabbix首頁
zabbix首頁
zabbix安裝比較簡單,可是也比較消耗時間。相比之下,將來的路還長着呢。請你們繼續關注咱們運維生存時間的zabbix系列教程。下一篇文章《zabbix數據庫須要多大硬盤?我告訴你(6)》