1. 程式人生 > >1.zabbix學習筆記:zabbix的安裝

1.zabbix學習筆記:zabbix的安裝

zabbix的安裝

為什麼需要監控

隨著網際網路公司業務不斷增長,硬體規模不斷擴大,作為SA我們需要清楚每一臺伺服器的狀態(溫度、CPU使用率、記憶體使用率、磁碟使用率等),如果使用人為的方式將會極大增加工作量而且難免會有所疏露,所以我們需要更加自動化的方式進行監控,這裡就必須要使用更加專業的監控軟體。

監控系統基本分為兩個部分:資料採集部分(客戶端)資料儲存分析並且顯示部分(伺服器端),常見的架構是C/S架構。關於資料的採集分為兩種模式:主動模式被動模式

主動模式:客戶端主動收集資料資訊並且上傳到伺服器端。
被動模式:伺服器端到客戶端採集資料。

:從效率和壓力分佈上來看,當然採用主動模式伺服器端的壓力會小很多。

關於採集資料的協議可以分為兩種:客戶端採集(agent)公共網路協議採集(ssh、snmp等)

常見的架構有c/s架構c/p/s架構,其中c/s架構即客戶端—伺服器架構,適用於較小的監控環境,當監控的規模非常巨大時就得采用c/p/s架構,p即為代理(proxy)的意思。

c/s架構如下圖所示:

這裡寫圖片描述

c/p/s架構如下圖所示:

這裡寫圖片描述

監控軟體的市場分佈

目前活躍的監控軟體非常的多,包括:cacti、nagios、zabbix。這些軟體在企業中用的比較多一些,除了這些之外,還有其他更多的運維軟體,例如Smokeping、ntop等內容。

為什麼是zabbix

在這裡我們極力推廣zabbix作為網際網路監控軟體的首選,這裡列出itnihao的觀點,作為zabbix的資深使用者,他的觀點鞭辟入裡:

我比較看好zabbix這款監控軟體,理由如下:
1.分散式監控,天生具有的功能,適合於構建分散式監控系統,具有node,proxy2種分散式模式
2.自動化功能,自動發現,自動註冊主機,自動新增模板,自動新增分組,是天生的自動化運維利器的首選,當然於自動化運維工具搭配,puppet+zabbix,或者saltstack+zabbix,那是如魚得水。
3.自定義監控比較方便,自定義監控項非常簡單,支援變數,支援low level discovery,可以參考我寫的文件自動化運維之監控篇—利用zabbix自動發現功能實現批量web url監控
4.觸發器,也就是報警條件有多重判斷機制,當然,這個需要你去研究一下,這也是zabbix的精華之處,
5.支援多種監控方式,agentd,snmp,ipmi,jmx,邏輯圖如下
這裡寫圖片描述


6.提供api功能,二次開發方便,你可以選用zabbix來進行二次深度開發,結合cmdb資產管理系統,業務管理系統,從而使你的自動化運維繫統達到新的高度。

zabbix的安裝

我們這裡採用兩個節點來搭配服務:

192.168.3.246 (zabbix-server、zabbix-agent)
192.168.3.245 (zabbix-agent)

zabbix伺服器端安裝

首先進行伺服器端的安裝,這裡採用rpm的安裝方式,首先得下載rpm的安裝包:

zabbix通過php將mysql記憶體儲收集的資訊進行顯示,所以首先要找到php相關的包,php相關rpm如下:

php-bcmath-5.3.3-40.el6_6.x86_64.rpm
php-5.3.3-40.el6_6.x86_64.rpm
php-cli-5.3.3-40.el6_6.x86_64.rpm
php-pdo-5.3.3-40.el6_6.x86_64.rpm
php-devel-5.3.3-40.el6_6.x86_64.rpm
php-common-5.3.3-40.el6_6.x86_64.rpm
php-snmp-5.3.3-40.el6_6.x86_64.rpm
php-gd-5.3.3-40.el6_6.x86_64.rpm
php-mbstring-5.3.3-40.el6_6.x86_64.rpm
php-mysql-5.3.3-40.el6_6.x86_64.rpm
php-xml-5.3.3-40.el6_6.x86_64.rpm

zabbix相關rpm:

zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-java-gateway-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
zabbix-proxy-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-get-2.4.5-1.el6.x86_64.rpm
zabbix-sender-2.4.5-1.el6.x86_64.rpm
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-proxy-mysql-2.4.5-1.el6.x86_64.rpm

其他安裝rpm:
snmptt-1.4-1.el6.noarch.rpm
fping-2.4b2-16.el6.x86_64.rpm
iksemel-1.4-2.el6.x86_64.rpm
iksemel-utils-1.4-2.el6.x86_64.rpm
libssh2-1.4.2-2.el6.x86_64.rpm

擁有rpm包後我們需要解決rpm的依賴性:
[[email protected] zabbix]# yum install createrepo -y

注:createrepo是生成rpm依賴關係的工具。

生成rpm的依賴關係:
這裡寫圖片描述

將rpm所在的目錄新增到yum的倉庫中:
[[email protected] zabbix]# vim /etc/yum.repos.d/yum.repo
這裡寫圖片描述

儲存退出後重新整理yum:
這裡寫圖片描述

開始安裝zabbix所需的rpm,我們這裡只安裝zabbix-server,不安裝zabbix-proxy,採用的架構是c/s架構:

安裝php:
這裡寫圖片描述

安裝zabbix:
這裡寫圖片描述

安裝mysql資料庫:
這裡寫圖片描述

修改mysql的配置檔案:
[[email protected] zabbix]# vim /etc/my.cnf
這裡寫圖片描述

設定mysqld為開機自啟動,並且啟動mysqld:
這裡寫圖片描述

對mysql進行初始化:
這裡寫圖片描述

配置zabbix的資料庫:
建立zabbix資料庫以及資料庫使用者zabbix,並且對zabbix使用者進行授權
[[email protected] zabbix]# mysql -uroot -pwestos
這裡寫圖片描述

將zabbix所需的資料匯入mysql中:
[[email protected] create]# pwd
/usr/share/doc/zabbix-server-mysql-2.4.5/create
[[email protected] create]# ls
data.sql images.sql schema.sql

匯入的順序是schema.sql,再是images.sql,最後是data.sql檔案:
這裡寫圖片描述

配置/etc/zabbix/zabbix_server.conf,如下所示:
[[email protected] create]# vim /etc/zabbix/zabbix_server.conf
這裡寫圖片描述

建立目錄/etc/zabbix/alertscripts/etc/zabbix/externalscripts:

[[email protected] create]# mkdir /etc/zabbix/alertscripts
[[email protected] create]# mkdir /etc/zabbix/externalscripts

啟動zabbix-server服務:
這裡寫圖片描述
啟動httpd服務:
這裡寫圖片描述

防火牆與selinux的設定:
這裡為了實驗的方便期間,我們關閉防火牆iptables和selinux:
[[email protected] create]# iptables -F
[[email protected] create]# setenforce 0

修改php配置檔案的設定:
[[email protected] create]# vim /etc/php.ini
這裡寫圖片描述
我們修改timezone為Asia/Shanghai

修改web配置資訊:
[[email protected] create]# vim /etc/httpd/conf.d/zabbix.conf
這裡寫圖片描述

在瀏覽器上訪問:192.168.3.246/zabbix,即可進入到zabbix的web介面,我們需要做一些初始化的工作。
這裡寫圖片描述

進入準備頁面,檢視所有的請求是否符合要求:
這裡寫圖片描述

設定資料庫連結,確保“test connection”顯示“ok”,進入下一步:
這裡寫圖片描述

設定zabbix server的名稱:
這裡寫圖片描述

檢視最終的列表清單:
這裡寫圖片描述

結束配置並安裝:
這裡寫圖片描述

進入登陸介面,初始管理員admin密碼是zabbix:
這裡寫圖片描述

這個頁面是zabbix的主監控介面:
這裡寫圖片描述

小結

本章介紹了關於zabbix的安裝過程,操作細節比較多,而且涉及了mysqld以及httpd等相關服務的配置,因為zabbix的介面顯示採用php,所以我們也安裝了php。可以看到zabbix 的介面相對比較複雜,所以在接下面的章節中我們將會著重介紹zabbix的各種元件的配置和管理。敬請期待!

相關推薦

1.zabbix學習筆記zabbix安裝

zabbix的安裝 為什麼需要監控 隨著網際網路公司業務不斷增長,硬體規模不斷擴大,作為SA我們需要清楚每一臺伺服器的狀態(溫度、CPU使用率、記憶體使用率、磁碟使用率等),如果使用人為的方式將會極大增加工作量而且難免會有所疏露,所以我們需要更加自動

11.zabbix學習筆記zabbix監控oracle

zabbix監控oracle 可監控項 使用zabbix監控oracle資料庫需要藉助第三方的外掛,目前使用較多的是orabbix。目前維護到了1.2.3版本。關於oracle自帶的監控專案有以下幾個: DB Version (i.e.

7.zabbix學習筆記zabbix監控nginx

zabbix監控nginx zabbix可以監控nginx的狀態,關於一個服務的狀態可以檢視服務本身的狀態(版本號、是否開啟),還應該關注服務能力(例如以nginx的負載效果:連線數、請求數和控制代碼數)。下面我們使用zabbix監控nginx。

12.zabbix學習筆記zabbix監控之郵件報警

zabbix監控之郵件報警 在zabbix的使用中,最重要的一點就是完善的報警機制,作為監控平臺,需要時刻關注機器和服務的執行狀態,更重要的是發現故障之後需要及時的報警給相關人員,早點發現問題,將隱患消除在未然階段。這樣才能保證服務的穩定執行。 報警的方

Linux學習筆記jdk安裝

build pub back 器) otn echo getc 環境 AR 系統為CentOS 7,安裝Oracle jdk1.8 卸載系統自帶的Openjdk(若無可跳過這一步,可以通過 java -version 查看),步驟是:查找Openjdk,卸載Openjdk

Linux學習筆記Jenkins安裝

lib bin ref TP inf .com emctl ima jenkins配置 操作系統是CentOS 7,安裝Jenkins 首先安裝jdk,可在Oracle jdk和Openjdk中任選其一安裝Oracle jdk步驟見: https://www.cnbl

java技術學習筆記Maven安裝和作用

Maven是一個基於專案物件模型(POM)的概念的純java開發的開源的專案管理工具。主要用來管理java專案,進行依賴管理(jar包管理,能自動分析專案所需的依賴軟體包,併到Maven倉庫區下載)和專案構建(專案打包和部署)。此外還能分塊開發,提高開發效率。 本文將從以下三個方面寫起: 1

Mysql學習筆記MySQL安裝指南,筆記比較亂

MYSQL學習筆記-- 安裝建立資料庫   一、Mysql安裝步驟 版本:5.6.37 執行安裝檔案 選擇server 64位版本 下一步 埠號預設3306 下一步,填寫root 密碼 建立guest使用者,賬戶、密碼,提交 安裝完

javaEE學習筆記maven下載和安裝1

本文只作學習筆記,僅代表個人觀點,若有雷同,純屬巧合; 工具:編輯器Eclipse,Tomcat7.0(下載地址:https://tomcat.apache.org/) JDK1.8版本 第一步:官網下載地址: http://maven.apache.org/download.cgi

MongoDB學習筆記1)MongoDB在Win10下的安裝及配置

1. 下載 下載連結: https://www.mongodb.com/download-center?jmp=nav#community   2. 安裝 3. 配置 1. 安裝完的目錄結構 [C:\Program Fil

MongoDB學習筆記(1)、MongoDB在Win10下的安裝

1、下載mongodb在windows下的安裝檔案         首先去官網https://www.mongodb.com/download-center?jmp=nav#community下載安裝檔案。mongodb-win32-x86_64-2008plus-ssl-

Java技術學習路線筆記Maven安裝和作用

Maven是一個基於專案物件模型(POM)的概念的純java開發的開源的專案管理工具。主要用來管理java專案,進行依賴管理(jar包管理,能自動分析專案所需的依賴軟體包,併到Maven倉庫區下載)和專案構建(專案打包和部署)。此外還能分塊開發,提高開發效率。   本文將從以下三個方面寫起:   1、Ma

python學習筆記第21天 常用內建模組-1

目錄 一、collections模組 二、時間模組 也可以在我的個人部落格上閱讀 一、collections模組 1. Counter Counter是⼀個計數器,主要⽤統計字元的數量,之前如果我們要統計字串的話要寫如下演算法: s = 'Wed Nov 14 08:58:45 CS

計算機組成原理學習筆記1.計算機系統概論

課程:《計算機組成原理》哈工大     計算機系統: 硬體:計算機主體,如主機,外設等 軟體:具有各類特殊功能的資訊(程式)   軟體: 系統軟體:用來管理整個計算機系統 語言處理程式 作業系統 服務性程式 資料庫管理系統 網路軟體

學習筆記【Web 叢集實戰】05_CentOS 7.x 系統安裝後的基本配置及調優_楊利婷

一、基本配置 網路配置 網路配置常用的兩種方式為橋接和 NAT 模式。本文采用的是 NAT 模式連線網路。 瞭解更多網路型別可參照【Web 叢集實戰】01_VMware 虛擬機器常見的網路型別 1)首先,在宿主機 Windows 的計算機管理 - 服

學習筆記es6——Promise 物件學習1

1Promise的含義: Promise是非同步程式設計的一種解決方案; Promise是一個物件,可以獲取非同步操作的訊息,提供統一的api,各種非同步操作都可以用同樣的方式處理; Promise物件有以下兩個特點: 物件狀態不受外界影響。Promise代表

Docker 學習筆記Docker簡介和安裝

一、Docker 簡介 Docker 兩個主要部件:

運動規劃 V-rep學習筆記機器人路徑規劃1

轉載:https://www.cnblogs.com/lvchaoshun/p/6681541.html 1.引言   如 果你想要讓機器人能幫你拿瓶子、做飯、收拾屋子等,就必須賦予機器人快速生成無碰撞、最優運動軌跡的能力,這就需要靠運動規劃了。有人覺得運動規劃已經很 成熟了,無需再研究,但實際上,機械臂

流程python學習筆記第五章(1)

第五章:一等函式 在python中一切都可以視作為物件,包括函式。我們來看個例子: def function_try():     '''it is funciton try doc'''     print 'function_try' if __name__=="_

Linux學習筆記使用VMware安裝centos映象時,報錯檔案未找到

問題:使用VMware時,開啟設定,在CD安裝centos映象時,報錯檔案未找到 原因:有可能是映象所在目錄路徑中有漢字,或者映象有問題 解決方案:映象檢查沒有問題後,我把映象檔案直接放在c盤根目錄下C:\CentOS-6.3-x86_64-bin-DVD1to2