Centos 源碼安裝zabbix 2.4.5

来源:http://www.cnblogs.com/kevinchou/archive/2016/04/12/5380812.html
-Advertisement-
Play Games

Zabbix簡介 Zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。zabbix能監視各種網路參數,保證伺服器系統 的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題。zabbix由2部分構成,zabbix server與可選組件za ...


Zabbix簡介

Zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。zabbix能監視各種網路參數,保證伺服器系統 的安全運營;並提供柔軟的通知機制以讓系統管理員快速定位/解決存在的各種問題。zabbix由2部分構成,zabbix server與可選組件zabbix agent。zabbix server可以通過SNMP,zabbix agent,ping,埠監視等方法提供對遠程伺服器/網路狀態的監視,數據收集等功能,它可以運行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平臺上。zabbix agent需要安裝在被監視的目標伺服器上,它主要完成對硬體信息或與操作系統有關的記憶體,CPU等信息的收集。zabbix agent可以運行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系統之上。zabbix server可以單獨監視遠程伺服器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(trapping方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟體(例如:net-snmp)等配合使用。

Zabbix特點

 安裝與配置簡單,學習成本低
 支持多語言(包括中文)   
 免費開源   
 自動發現伺服器與網路設備   
 分散式監視以及WEB集中管理功能   
 可以無agent監視   
 用戶安全認證和柔軟的授權方式   
 通過WEB界面設置或查看監視結果   
 支持手機簡訊、email等通知功能等等
 

Zabbix主要功能

 CPU負荷   
 記憶體使用   
 磁碟使用   
 網路狀況   
 埠監視   
 日誌監視

安裝fping

由於 zabbix 使用 fping 替代了 ping 作為 icmp 的工具,所以要安裝 fping 
可以從 http://fping.sourceforge.net/ 上下載 fping 的源代碼,解壓編譯安裝。

fping是加強版的ping工具,可以同時ping多個主機。

fping的官網是:http://www.fping.com

wget http://fping.sourceforge.net/download/fping.tar.gz
tar -xvf /nfs/pkg/fping.tar.gz
cd fping-2.4b2_to/
./configure 
make && make install

安裝完畢後,一起就2個文件:

/usr/local/sbin/fping #執行文件
/usr/local/man/man8/fping.8 #man文件

設置fping許可權:

chown root:zabbix /usr/local/sbin/fping
chmod 710 /usr/local/sbin/fping
chmod ug+s /usr/local/sbin/fping

然後再安裝traceroute:

yum install traceroute -y

  Zabbix安裝

 ①環境
1)關閉iptables
[root@k zabbix]# iptables -F
[root@k zabbix]# /etc/init.d/iptables save

2)關閉selinux

編輯文件/etc/sysconfig/selinux
將設置
 SELINUX=enforcing
修改為:
 SELINUX=disabled
 3)安裝相關依賴包
  yum -y install gcc mysql-server httpd php php-mysql php-gd php-bcmath php-xml php-mbstring mysql-devel php-snmp net-snmp-devel net-snmp  net-snmp-utils OpenIPMI-devel curl-devel
 ②下載解壓  
 tar xvf zabbix-2.4.5.tar.gz -C /usr/local
 增加zabbix用戶和組
 groupadd zabbix
 useradd zabbix -g zabbix -s /sbin/nologin 
 ③配置zabbix資料庫  
 啟動MySQL資料庫:
 service mysqld start
修改MySQL root用戶密碼(預設密碼為空)
mysqladmin –u root –p password 123456
進入資料庫:
mysql -u root -p
mysql> create database zabbix default charset utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456';
mysql> grant all on zabbix.* to zabbix@'127.0.0.1' identified by '123456';
mysql> flush privileges; (刷新許可權配置)
quit
導入表和數據:
cd /usr/local/zabbix-2.4.5/database/mysql
mysql -u zabbix -p123456  zabbix< schema.sql    (將zabbix中的mysql.sql文件重定向到zabbix資料庫中)
mysql -u zabbix -p123456 zabbix < images.sql     (有先後順序)
mysql -u zabbix -p123456 zabbix  < data.sql
④編譯安裝zabbix

cd /usr/local/zabbix-2.4.5;
./configure --sysconfdir=/etc/zabbix  --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmi
make && make install
 配置文件
 vi /etc/zabbix/zabbix_server.conf  修改如下:
 DBName=zabbix  <---zabbix使用的資料庫
 DBUser=zabbix  <---zabbix連接mysql所使用的用戶名
 DBPassword=123456   <----zabbix連接mysql所使用的密碼
DBSocket=/var/lib/mysql/mysql.sock <---如果鏈接的是本機的資料庫,必須確定socket路徑正確
 FpingLocation=/usr/local/sbin/fping  <---修改預設的icmp工具為fping

 vi /etc/zabbix/zabbix_agentd.conf
 Server=192.168.66.16   <----指向zabbix伺服器的ip
 ServerActive=192.168.66.16   <----指向zabbix伺服器的ip
 Hostname=192.168.66.16      <---本機(zabbix客戶端)的hostname或者ip

 添加web前端php文件

 cd /usr/local/zabbix-2.4.5/frontends/
 cp -rf php /var/www/html/zabbix
 chown -R zabbix:zabbix /var/www/html/zabbix
 web前端安裝配置
 vi /etc/php.ini  修改php相關參數
 max_execution_time = 600
 max_input_time = 600
 date.timezone = Asia/Shanghai
 post_max_size = 32M
 memory_limit = 256M
 
 vi /etc/httpd/conf/httpd.conf
 DirectoryIndex index.php index.html
 # LoadModule foo_module modules/mod_foo.so
 LoadModule php5_module  modules/libphp5.so

 啟動服務

 /etc/init.d/httpd start 
 /etc/init.d/mysqld start
 /usr/local/zabbix/sbin/zabbix_server start 
 /usr/local/zabbix/sbin/zabbix_agentd start

  配置Zabbix伺服器端

 在本地瀏覽器上訪問Zabbis Serve地址開始web前端配置,http://192.168.66.16/zabbix 按提示一步步next,其中Step 3 Check of pre-requisites 必須全部項目OK後
 才能繼續配置,如有提示fail,去server上檢查是否安裝這個包或配置是否按上述更改。共需6步,如下圖:
a) 進入安裝界面點擊Next

 

b) 確保所有的監測項都是OK,點擊Next

c) 填寫zabbix資料庫的用戶名、密碼、地址等信息,點擊Test connection,OK後點擊Next

(上圖中 Database name 為前面創建的資料庫名,User為前面創建的連接MySQL的資料庫用戶zabbix,Password為前面創建的連接MySQL資料庫所使用的密碼,本實驗所使用的密碼為123456;Test connection必須OK 才能進行下一步)
d) 填寫zabbix伺服器的信息,主機名,server程式監聽的的埠,主機IP地址等,如果server跟web在一臺伺服器上保持預設即可,點擊Next

 e) 確認前面幾部填寫的信息沒有問題的話點擊Next

 f) 檢查web程式的config文件,如果沒問題會顯示OK,直接點擊finish即可完成安裝(如果此處有問題一般是zabbix虛擬主機目錄文件的許可權問題,上面已經有設置的過程一般不會出現問題)

如果出現下圖的錯誤,則按照其提示操作即可(點擊

按鈕下載配置文件,將下載後的文件拷貝到/var/www/html/zabbix/conf/下,改名為zabbix.conf.php,在修改文件的相關擁有者為zabbix{命令 chown zabbix.zabbix /var/www/html/zabbix/conf/zabbix.conf.php},在點擊Retry按鈕,變成上圖所示後點擊Finish即安裝成功了)

如果因為手誤,資料庫密碼或者用戶名等的填寫錯了,後面會一直報錯,我們可以手動的去編輯配置文件vim /var/www/html/zabbix/conf/zabbix.conf.php  手動定義相關的參數即可
   g) 進入登錄界面點擊登錄,預設賬號密碼為admin / zabbix h) 添加監控項      進入Configuration -》Hosts 選擇 Zabbix Server 然後 Activate Select,Zabbix Server (本機)的監控激活。進入 Monitoring Dashboard,可以看到 Zabbix Server 的監控結果(這必須保持zabbix_agentd.conf配置文件為預設才會生效);有一點要註意:agent端配置好之後,添加host,需要添加模板才會顯示綠色成功連接喲。 新建監控項: 1) 進入Configuration -》Hosts 選擇按鈕 2)執行第一步操作後,會進入下圖所示界面,修改紅色部分的內容為agent端的ip地址,其中Host name處的值必須與agent端zabbix_agentd.conf裡面的值相同 3)添加模板(必須添加相關模板後,才能獲取到監控數據),點擊上圖中的選項,會進入到下圖所示界面 4)點擊上圖中的select選項就會將zabbix所有的模板列出來,選擇需要添加的模板後,在點擊add選項添加模板,最後點擊Update按鈕即完成了監控的添加。       zabbix客戶端的配置: 最好保持伺服器時間同步

通過root用戶解壓、編譯及安裝

tar -xvf /nfs/pkg/zabbix-2.0.3.tar.gz;cd zabbix-2.0.3
./configure --prefix=/usr/local/zabbix/ --sysconfdir=/etc/zabbix/ --enable-agent
make 
make install

為了便於監控IO,安裝上sysstat,執行如下命令:

yum install sysstat -y
sed -i s/10.71.xx.xx/$HOST_IP/g /etc/zabbix/zabbix_agentd.conf

將配置文件/etc/zabbix/zabbix_agentd.conf中的
Hostname= 10.71.xx.xx
修改成現在主機的IP,例如241
Hostname=$HOST_IP
將DisableActive=0修改為#DisableActive=0
將ServerPort=10051修改為#ServerPort=10051

添加計劃任務,收集監控數據:

執行命令:
crontab -e -u zabbix
加入:
# run zabbix data gathering for custom checks every min
*/3 * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_tomcat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_vmstat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_iostat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_tcpConStat_cron.sh > /dev/null 2>&1
* * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_fileSocket_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_DbConnStat_cron.sh > /dev/null 2>&1

設置一些特殊腳本的許可權:
執行如下命令:
visudo
修改
Defaults    requiretty
為
#Defaults    requiretty

並加入:
Cmnd_Alias SU = /bin/su -
Cmnd_Alias SUWWW = /bin/su - www 
xujing    ALL=(root)      NOPASSWD: SU,SUWWW,SERVICES
Cmnd_Alias FILESOCKET =   /etc/zabbix/scripts/zabbix_fileSocket_cron.sh,/etc/zabbix/scripts/zabbix_tomcat_cron.sh,/etc/zabbix/scripts/file_socket.sh,/usr/bin/sudo,/bin/su,/bin/kill
zabbix    ALL=(root)      NOPASSWD: FILESOCKET

設置開機啟動服務:
執行如下命令:
cp /nfs/script/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on

啟動zabbix_agentd:
執行如下命令:
/etc/init.d/zabbix_agentd start

檢查日誌確認啟動無異常:
tail -100 /tmp/zabbix_agentd.log
220.web.lg-9-8.zwc.com<2013-04-21 01:26:10> ~/zabbix-2.0.3
root># tail -100 /tmp/zabbix_agentd.log
19506:20130421:012610.832 Starting Zabbix Agent [10.0.0.220]. Zabbix 2.0.3 (revision 30485).
19507:20130421:012610.832 agent #0 started [collector]
19509:20130421:012610.833 agent #1 started [listener]
19510:20130421:012610.833 agent #2 started [listener]
19511:20130421:012610.834 agent #3 started [listener]


 Zabbix Proxy伺服器安裝配置

zabbix支持分散式監控,通過zabbix_proxy部署,將一集中區域的監控數據收集並轉發到Zabbix Server。原理如圖:


 安裝前準備

創建zabbix用戶:

groupadd zabbix -g 504;useradd zabbix -u 504 -g zabbix

安裝依賴軟體包:

yum install -y net-snmp-devel curl-devel mysql-devel traceroute net-snmp-utils OpenIPMI-devel

創建運行時需要的相關目錄,並配置好許可權:

mkdir /var/log/zabbix;chown -R zabbix.zabbix /var/log/zabbix/mkdir /var/run/zabbix; chown -R zabbix.zabbix /var/run/zabbix/

另外還需要準備一個mysql資料庫以存儲zabbix_proxy收集的監控數據。

 安裝

編譯安裝fping

參考編譯安裝fping

編譯安裝zabbix_proxy

tar -zxvf zabbix-1.8.10.tar.gz;cd zabbix-1.8.10./configure --prefix=/usr/local/zabbix --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmimake make install

  配置

  啟動腳本

 

 常見問題

 zabbix 圖片亂碼解決

1.上傳本地windown系統的C:\WINDOWS\Fonts\simhei.ttf文件到zabbixweb目錄的zabbix/fonts下.
2.vi zabbix/include/defines.inc.php把所有的DejaVuSans替換成simhei

zabbix 模版

官方配置有很多的模版,參考http://www.zabbix.com/

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、交叉編譯libjepg編譯 tar xzf libjpeg-turbo-1.2.1.tar.gz ./configure –help ./configure --prefix=/work/project/first_project/13libjepg/libjpeg-turbo-1.2.1/tm... ...
  • 大叔學Linux就一個目的,部署在它上面的服務,如redis,mongodb,fastDFS,cat,docker,mysql,nginx等 下麵找一下的命令,來學學這個神秘的操作系統 常用指令 ls 顯示文件或目錄 -l 列出文件詳細信息l(list) -a 列出當前目錄下所有文件及目錄,包括隱藏 ...
  • 介紹 文件描述符是與文件輸入、輸出相關聯的整數,在編寫腳本時會經常使用標準的文件描述符來將內容重定向輸出,0、1、2是文件描述符(分別對應stdin、stdout、stderr),< 、>, >>叫做操作符。 概念 stdin(0):標準輸入,這個概念有點不太容易理解比如:1.使用<從文件中讀取內容 ...
  • windows2003下禁止用戶遠程登錄的方法如下: 1、打開控制面板 > 管理工具 > 本地安全策略 2、安全策略-->本地策略-->用戶許可權分配-->通過終端服務拒絕登錄,在裡面添加想要禁止遠程的用戶可以達到讓這個賬戶無法遠程 windows2008下禁止用戶遠程登錄的方法如下: 1、打開控制面... ...
  • ls:列出目錄內容 1、常用參數: -a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件(常用) -A 同-a,但不列出“.”(表示當前目錄)和“..”(表示當前目錄的父目錄)。 -c 配合 -lt使用,例如使用ls -ltc則根據文件的change time排序,越靠近現在時間則優先 ...
  • mkdir:make directories(創建目錄) 創建目錄的首要條件:在當前目錄或者欲創建目錄下,該用戶具有寫入許可權,mkdir詳細功能如下: 1、mkdir不接任何參數時,即mkdir directorys表示在當前目錄下創建一個目錄 2、mkdir可以接絕對路徑或者相對路徑來創建目錄: ...
  • 春天來了,除了工作學習,大家也要註意鍛煉身體,多出去運動運動。上周末在元大都遺址公園海棠花溪拍的海棠花。進入正題。O_DIRECT和O_SYNC是系統調用open的flag參數。通過指定open的flag參數,以特定的文件描述符打開某一文件。這兩個flag會對寫盤的性能有很大的影響,因此對這兩個fl... ...
  • 00x0 前言 4月7日凌晨,微軟推送了最新的Windows 10一周年更新預覽版14316,其中重要的是原生支持Linux 命令行支持。 00x1 問題 如何開啟Linux 命令行? 00x2 步驟 將Windows 10系統升級到最新版本Build (這是必需條件) 設置 :開始菜單 設置——更 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...