您好,登錄后才能下訂單哦!
Zabbix3.0的安裝、部署、配置,必須基于LAMP環境或是是LNMP環境。
關于LAMP環境的簡單快速搭建,見博客:http://afterdawn.blog.51cto.com/7503144/1923139
注意:以下步驟都是在LAMP配置之后進行的。
本文不會再對zabbix-server和zabbix-agent理論知識再進行介紹,建議看完http://afterdawn.blog.51cto.com/7503144/1922502再進行zabbix實戰。
Zabbix3.0對軟硬件的要求很低,一般的主機配置和LAMP版本都可以滿足,
軟硬件需求文檔見:http://www.ttlsa.com/zabbix/zabbix-requirements-4-ttlsa/
下面開始介紹在CentOS7上安裝部署Zabbix3.0版本及快速進行基本配置,本次案例要用到兩臺主機,
一臺作為zabbix_server端,一臺作為zabbix_agent端,具體信息如下:
zabbix_server(默認監聽端口10051)
IP:10.10.10.3 OS:CentOS7
zabbix_agent(默認監聽端口10050)
IP:10.10.10.10 OS:CentOS7
具體步驟:
1、指定zabbix3.0軟件包存儲倉庫位置(以阿里云yum源泉為例)
默認已經配置的阿里云的CentOS7的yum源,但是該yum源沒有zabbix安裝包,所以手動指定zabbix安裝包路徑,配置如下:
~]# vim /etc/yum.repos.d/zabbix.repo [epel] name=aliyun_zabbix baseurl=https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/ gpgcheck=0
2、軟件包安裝
由于LAMP環境已經部署好,這里就不在贅述。但zabbix用到的數據庫需要創建zabbix庫且創建zabbix用到的用戶,在http://afterdawn.blog.51cto.com/7503144/1923139文檔里已經操作過,這里復述一下:
~]# mysql -uroot -p # root用戶登錄 MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8'; #創建zabbix庫,默認字符集為utf8 MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'127.0.0.1' IDENTIFIED BY 'zbxpass'; MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'localhost' IDENTIFIED BY 'zbxpass'; # zbxuser可以從本機登錄,密碼為zbxpass,對zabbix擁有所有權限 MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@'10.10.10.%' IDENTIFIED BY 'zbxpass'; # zbxuser可以從10.10.10.0網段登錄,密碼為zbxpass,對zabbix擁有所有權限 MariaDB [(none)]> flush privileges; # 刷新權限
服務端軟件包:zabbix-server-mysql zabbix-get
web GUI軟件包:zabbix-web zabbix-web-mysql 必須同時安裝否則不能解決依賴關系(相互依賴)
agent(被監控端才安裝):zabbix-agent zabbix-sender
使用yum一次性安裝:
~]# yum install -y zabbix-server-mysql zabbix-get zabbix-web zabbix-web-mysql zabbix-agent zabbix-sender
安裝zabbix-server-mysql時報錯了,錯誤如下:
錯誤:軟件包:zabbix-server-mysql-3.0.9-1.el7.x86_64 (epel) 需要:fping 錯誤:軟件包:zabbix-server-mysql-3.0.9-1.el7.x86_64 (epel) 需要:libiksemel.so.3()(64bit) 您可以嘗試添加 --skip-broken 選項來解決該問題 您可以嘗試執行:rpm -Va --nofiles --nodigest
錯誤原因:沒有安裝epel的yum源支持,導致不能自動安裝fping
解決方法:安裝epel包
# yum install -y epel-release
安裝好epel包后,由于epel倉庫收集了zabiix穩定版(2.0),使用yum默認安裝的就不3.0版本了
解決方法:直接指定zabbix安裝包的URL路徑,可以登錄到https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/查看最新的zabbix版本,自行選擇。
以下是我用yum安裝的命令:
~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-server-mysql-3.0.0-1.el7.x86_64.rpm ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-get-3.0.0-1.el7.x86_64.rpm # yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-web-mysql-3.0.0-1.el7.noarch.rpm https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-web-3.0.0-1.el7.noarch.rpm ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.0-1.el7.x86_64.rpm ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.0-1.el7.x86_64.rpm
至此,zabbix-server端的所有安裝包已經安裝完成。
3、zabbix server初始化
注意:在zabbix3.x版本只有一個sql腳本,2.x有三個sql腳本
該過程是執行zabbix官方提供的sql腳本,自動創建zabbix需要的表結構,過程如下:
~]# cd /usr/share/doc/zabbix-server-mysql-3.0.0/ ~]# gzip -d create.sql.gz ~]# mysql -h227.0.0.1 -uzbxuser -p zabbix < create.sql ~]# mysql -uroot -p # 登錄上mysql查看有沒有創建成功 MariaDB [zabbix]> use zabbix MariaDB [zabbix]> show tables;
4、zabbix server配置文件
配置文件:/etc/zabbix/system/zabbix-server.conf
指令有四類:
############ GENERAL PARAMETERS ################# ############ ADVANCED PARAMETERS ################ ####### LOADABLE MODULES ####### ###### TLS-RELATED PARAMETERS #######
只修改############ GENERAL PARAMETERS ################# 其他使用默認配置即可
通用參數,不需要修改
# ListenPort=10051 # SourceIP= 默認所有IP # LogType=file 日志主動保存到文件 LogFile=/var/log/zabbix/zabbix_server.log 日志位置 LogFileSize=0 日志多大后進行滾動 PidFile=/var/run/zabbix/zabbix_server.pid 服務端PID文件的路徑
需要修改項:
DBHost=localhost# 取消注釋 DBName=zabbix# 填寫庫名稱,默認為zabbix DBUser=zbxuser# 數據庫用戶名 DBPassword=zbxpass# 數據庫密碼 DBSocket=/var/lib/mysql/mysql.sock # 如果數據庫在本機,和數據庫進行本機通信,要跟/etc/my.conf里的配置socket=/var/lib/mysql/mysql.sock一致
啟動服務:
~]# systemctl start zabbix-server.service ~]# systemctl enable zabbix-server.service # 開機自動啟動
注意:CentOS7.0和7.1默認的trousers版本比較低,需要升級trousers-0.3.13-1.el7.x86_64,直接使用yum安裝即可
啟動服務后,使用systemctl status zabbix-server.service查看,發現沒有起起來,在網上查看了解決方法,也沒有解決。
最后發現是zabbix庫里的表沒有導入成功,由于自己的大意,折騰了一個多小時。
總結:做每一步操作,都應該進行驗證,否則會因為自己的一個失誤而不能排除故障,最后全部推倒從來,費時費力。
遇到這種情況,應該耐心的去查看日志,根據系統的提示,仔細的去查找原因。不行再到網上查找原因
5、配置zabbix web
zabbix對agent主機的監控配置,幾乎都是在zabbix web前端進行的,這里先進行zabbix server的基本配置。
配置php的時區指定:
(1)php.ini(非必須修改)
max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone PRC
(2)/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai # 添加該項
訪問URL:http://server/zabbix
zabbix web登錄后配置文件:/etc/zabbix/web/zabbix.conf.php
登錄:admin/zabbix
從客戶端登錄過程如下:
下圖的【Database port】配置0代表默認端口,即mysql為3306
【Database name】【User】【Password】根據自己的設定填寫
10051為zabbix server的默認監聽端口
【Name】項可以不填寫,自定義名稱
默認的登錄用戶名和密碼為:admin/zabbix
第一次登錄的界面:
6、添加并配置一個agent主機實例
6.1 在被監控主機安裝zabbix agent
~]# scp root@10.10.10.3:/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/ # yum配置文件 ~]# yum install -y ~]# yum install -y https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-sender-3.0.0-1.el7.x86_64.rpm
6.2 agent端配置
配置文件:/etc/zabbix/zabbix_agentd.conf
##### Passive checks related(被動檢測相關的配置:agent要等待server請求數據),以agent端為判斷參照 Server=10.10.10.3 # 以逗號分隔授權給那些server或porxy過來采集數據的服務器地址列表 # ListenPort=10050 # 監聽的IP # ListenIP=0.0.0.0 # 監聽的端口 # StartAgents=3 # 啟動的agent檢測 ##### Active checks related(主動檢測相關的配置:agent主動向server發送數據) ServerActive=10.10.10.3[:Port] 以逗號分隔、當前agent主動發送監控數據過去的server端;可跟端口,一般默認10051 Hostname=agent2 發送過去的主機標示,一般填寫主機名 EnableRemoteCommands=1 # 可以在agent端執行遠程命令(見后面的內容有總結下的說明) LogRemoteCommands=1 # 遠程操作記錄于日志
注意:不需要手動建立zabbix賬戶,但zabbix agent自動創建的zabbix賬戶默認不能登錄,CentOS7也不能在沒有登錄終端的情況下執行命令,所以要做一些配置:
(1)zabbix用戶有所需要管理的權限(基于sudo授權)
# visudo # %wheel ALL=(ALL) NOPASSWD: ALL zabbix ALL=(ALL) NOPASSWD: ALL # Defaults requiretty# 注釋該行
關于該配置的說明:
1) Defaults requiretty,修改為 #Defaults requiretty,表示不需要控制終端(不需要從終端登錄就可以執行命令)
測試:
~]# su - zabbix -c 'sudo /usr/bin/systemctl restart httpd.service'
2) Defaults requiretty, 修改為 Defaults:nobody !requiretty,表示僅nobody用戶不需要控制終端(僅nobody用戶不需要從終端登錄就可以執行命令)
(2)zabbix用戶可登陸
~]# mkdir /var/lib/zabbix # 創建家目錄,可不做 ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin ~]# usermod -s /bin/bash zabbix ~]# grep "^zabbix" /etc/passwd zabbix:x:996:994:Zabbix Monitoring System:/var/lib/zabbix:/bin/bash
啟動zabbix agent
~]# systemctl start zabbix-agent.service ~]# systemctl status zabbix-agent.service ~]# systemctl enable zabbix-agent.service
7、在zabbix web端添加一臺Linux監控主機
通過以下截圖步驟:
建立一個主機群組
創建一臺主機,并屬于test group
套用一個Templates OS Linux的監控模板
完成后的顯示如下:
可以按照如下截圖查看監控狀態:
監控的數據:
監控觸發狀況
監控觸發的事件
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。