源碼安裝zabbix
作者:尹正傑
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
歡迎加入:高級運維工程師之路 598432640
前言:參考網上多篇源碼安裝的連接,自己把安裝過程丟在這里不讓后人繼續進坑了。在安裝zabbix之前,你要有LNMP環境,可以參考的另外一片文檔,
是關於LNMP的~我是在那個環境基礎上搭建出來的(http://www.cnblogs.com/yinzhengjie/p/6126818.html)~建議關閉selinux,不然寫規則起來比較麻煩~但iptables建議要開啟來!
以下是我安裝zabbix的筆記,建議用一可以聯網的測試機將之前的LNMP環境搭好,然后在進行下面的操作,不然你可能會掉坑喲~缺少各種依賴包的情況。
一.安裝配置zabbix
1.下載zabbix軟件包
鏈接:http://pan.baidu.com/s/1gePtFBd 密碼:9ioz
[root@yinzhengjie ~]# yum -y install lrzsz //利用linux自帶的上傳命令上傳軟件包到服務器目錄上
2.安裝依賴包,不然配置zabbix的時候會報錯
1 [root@yinzhengjie ~]# mkdir -pv /yinzhengjie/ && cd /yinzhengjie 2 [root@yinzhengjie yinzhengjie]# yum -y install mysql-devel net-snmp-devel
3.源碼安裝zabbix
1 [root@yinzhengjie yinzhengjie]# tar -zxvf zabbix-3.0.4.tar.gz 2 [root@yinzhengjie yinzhengjie]# cd zabbix-3.0.4
3 [root@yinzhengjie zabbix-3.0.4]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 4 [root@yinzhengjie zabbix-3.0.4]# make -j 4 && make install
4.創建zabbix用戶
1 [root@yinzhengjie ~]# groupadd zabbix 2 [root@yinzhengjie ~]# useradd zabbix -s /sbin/nologin -M -g zabbix
5.導入sql文件
1 [root@yinzhengjie zabbix-3.0.4]# pwd 2 /yinzhengjie/zabbix-3.0.4 3 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/schema.sql 4 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/images.sql 5 [root@yinzhengjie zabbix-3.0.4]# mysql -uroot -pyinzhengjie zabbix < database/mysql/data.sql 6 [root@yinzhengjie zabbix-3.0.4]#
6.創建zabbix項目目錄便於管理
a>.將數據拷貝到指定的項目目錄中
1 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_server | grep DAEMON= 2 DAEMON=/usr/local/zabbix/sbin/zabbix_server 3 [root@yinzhengjie zabbix]# 4 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_agentd | grep DAEMON= 5 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd 6 [root@yinzhengjie zabbix]#
b>.修改配置文件
切記要修改這個變量的path,因為咱們是源碼安裝的,路徑並不是默認的,如果不修改的話腳本就會報錯喲~具體的可以參考這個Shell腳本,如果你shell不是很好的,可以看一下我的shell學習筆記,相信你看完的shell筆記再來看這個腳本就是小菜一碟了。
1 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_server | grep DAEMON= 2 DAEMON=/usr/local/zabbix/sbin/zabbix_server 3 [root@yinzhengjie zabbix]# 4 [root@yinzhengjie zabbix]# more /etc/init.d/zabbix_agentd | grep DAEMON= 5 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd 6 [root@yinzhengjie zabbix]#
7.編輯zabbix訪問web的配置文件(配置文件處理要寫明端口外,還有啟用fastcgi,因為nginx本身是不支持php的,如果不開啟這個功能的話就無法支持zabbix的php界面了喲)
1 [root@yinzhengjie ~]# mkdir -pv /usr/local/nginx/conf/zabbix && cd /usr/local/nginx/conf/zabbix 2 [root@yinzhengjie zabbix]# 3 [root@yinzhengjie zabbix]# more zabbix.conf 4 server { 5 listen 8080; 6 server_name web; 7 access_log /yinzhengjie/data/zabbix/log/zabbix.access.log main; 8 index index.html index.php index.html; 9 root /yinzhengjie/data/zabbix/web; 10 location /{ 11 try_files $uri $uri/ /index.php?$args; 12 } 13 location ~ ^(.+.php)(.*)$ { 14 fastcgi_split_path_info ^(.+.php)(.*)$; 15 include fastcgi.conf; 16 fastcgi_pass 127.0.0.1:9000; 17 fastcgi_index index.php; 18 fastcgi_param PATH_INFO $fastcgi_path_info; 19 } 20 } 21 [root@yinzhengjie zabbix]#
8.編輯zabbix的配置文件
修改相應的參數,注意,這些用戶名密碼都是在搭建LNMP時設置的,這個密碼要和數據庫的密碼要一直,數據庫如果不是本機的話就得寫一下數據的IP喲!
1 [root@yinzhengjie zabbix]# cat /usr/local/zabbix/etc/zabbix_server.conf | grep -v ^# | grep -v "^$" 2 LogFile=/tmp/zabbix_server.log 3 PidFile=/tmp/zabbix_server.pid 4 DBHost=localhost 5 DBName=zabbix 6 DBUser=zabbix 7 DBPassword=zabbix 8 Timeout=4 9 LogSlowQueries=3000 10 [root@yinzhengjie zabbix]#
9..編輯nginx的配置文件(基本上是架空了nginx配置文件,而是用include模塊已經寫好的調用配置文件)
1 [root@yinzhengjie ~]# cd /usr/local/nginx/conf/ 2 [root@yinzhengjie conf]# 3 [root@yinzhengjie conf]# more nginx.conf 4 user nginx; 5 worker_processes 1; 6 7 #error_log logs/error.log warning; 8 #error_log logs/error.log notice; 9 #error_log logs/error.log info; 10 pid logs/nginx.pid; 11 12 events { 13 worker_connections 1024; 14 } 15 http { 16 include mime.types; 17 default_type application/octet-stream; 18 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 19 '$status $body_bytes_sent "$http_referer" ' 20 '"$http_user_agent" "$http_x_forwarded_for"'; 21 access_log logs/access.log main; 22 sendfile on; 23 keepalive_timeout 65; 24 gzip on; 25 include zabbix/*.conf; 26 } 27 [root@yinzhengjie conf]#
10.重啟相關服務
1 [root@yinzhengjie ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT 2 [root@yinzhengjie ~]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 3 [root@yinzhengjie ~]# service zabbix_server start 4 Zabbix server started. 5 [root@yinzhengjie ~]# service zabbix_agentd start 6 Zabbix agent started. 7 [root@yinzhengjie ~]# 8 9 [root@yinzhengjie ~]# service nginx restart 10 Stop Nginx... [OK] 11 Starting Nginx... [OK] 12 [root@yinzhengjie ~]#
好了,以上就是zabbix服務器已經部署完畢了,下面我們要開始頁面安裝zabbix了
二.前端安裝配置
1.首先登陸服務器地址(服務器地址+nginx監聽zabbix的端口號,listen 8080;)
http://172.16.96.66:8080


2.輸入賬號密碼,這個是在zabbix配置文件中定義的


3.直接下一步


4.點擊下一步


5.需要下載文件到服務器


a>.第一步,點擊圖中連接進行下載,然后上傳到服務器並修改相應的權限;
1 [root@yinzhengjie ~]# cd /yinzhengjie/data/zabbix/web/conf/ 2 [root@yinzhengjie conf]# ll 3 總用量 8 4 -rw-r--r--. 1 1000 1000 1036 7月 22 2016 maintenance.inc.php 5 -rw-r--r--. 1 1000 1000 411 7月 22 2016 zabbix.conf.php.example 6 [root@yinzhengjie conf]# rz 7 rz waiting to receive. 8 zmodem trl+C ȡ 9 10 100% 415 bytes 415 bytes/s 00:00:01 0 Errors 11 12 [root@yinzhengjie conf]# ll #查看文件的屬主屬組有問題 13 總用量 12 14 -rw-r--r--. 1 1000 1000 1036 7月 22 2016 maintenance.inc.php 15 -rw-r--r--. 1 root root 415 10月 13 12:56 zabbix.conf.php 16 -rw-r--r--. 1 1000 1000 411 7月 22 2016 zabbix.conf.php.example 17 [root@yinzhengjie conf]# chown -R 1000:1000 zabbix.conf.php #修改文件的所有者和所屬組 18 [root@yinzhengjie conf]# 19 [root@yinzhengjie conf]# ll 20 總用量 12 21 -rw-r--r--. 1 1000 1000 1036 7月 22 2016 maintenance.inc.php 22 -rw-r--r--. 1 1000 1000 415 10月 13 12:56 zabbix.conf.php 23 -rw-r--r--. 1 1000 1000 411 7月 22 2016 zabbix.conf.php.example 24 [root@yinzhengjie conf]#
b>.等第一步完成之后,再來到web界面點擊右鍵刷新即可;


6.輸入賬號密碼,默認用戶名是“admin”,默認密碼是“zabbix”,當然這些都是可以修改的。


7.登陸zabbix主界面
三.防坑小技巧
安裝zabbix其實很簡單,就算是剛剛入門的童鞋,給他2個小時也是很輕松的安裝完成的,不是嗎?zabbix的難點在於其配置的繁瑣,雖然有服務器,網絡設備的模板,但是和我們實際業務需求可能偏差很大,因此,需要我們自定義寫腳本之類的。
zabbix的功能強大到什么程度,需要你用了才知道,用好它對你的運維生涯必定是好處大大的喲~,后期如果有時間,我很跟大家一起分享一些用zabbix的小技巧。
1.配置中文界面
a>.點擊zabbix用戶圖標

b>.選擇我們的母語

c>.點擊更新
d>.查看效果
e>.如果你出現了以下的情況,不要慌,我已經找到了解決方案。繼續往下看,如果你的服務器中文顯示正常就可以不用往下看了
f>.怎么處理這個問題呢?其實很簡單,我們可以把windows系統自帶的字體放到服務器上替換一下就好使了。找到windows楷體的字體文件:

g>.更換zabbix服務器字體文件
1 [root@yinzhengjie ~]# cd /yinzhengjie/data/zabbix/web/fonts 2 [root@yinzhengjie fonts]# mv DejaVuSans.ttf /yinzhengjie/ 3 [root@yinzhengjie fonts]# ll 4 總用量 11512 5 -rw-r--r--. 1 root root 11785184 7月 17 06:28 simkai.ttf #用Linux自帶的rz命令上傳剛剛的文件即可~ 6 [root@bogon fonts]#
h>.修改配置文件,之后切換到末行模式:執行 %s/DejaVuSans/simkai
1 [root@yinzhengjie ~]# more /yinzhengjie/data/zabbix/web/include/defines.inc.php | grep ZBX_GRAPH_FONT_NAME 2 define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name 3 define('ZBX_GRAPH_FONT_NAME', 'simsun'); // font file name #此行為新增行 4 [root@yinzhengjie ~]# 5 [root@yinzhengjie ~]# more /yinzhengjie/data/zabbix/web/include/defines.inc.php | grep ZBX_FONT_NAME 6 define('ZBX_FONT_NAME', 'simkai'); 7 define('ZBX_FONT_NAME', 'simsun'); #此行為新增行; 8 [root@yinzhengjie ~]#

I>.重啟zabbix服務
1 [root@yinzhengjie yinzhengjie]# /etc/init.d/zabbix_server restart 2 Zabbix server terminated. 3 Zabbix server started. 4 [root@yinzhengjie yinzhengjie]#
J>.驗證你的服務器是否都是正常的字體了