CentOS 7.x下部署和配置zabbix 3.2.x監控工具
一.安裝zabbix服務端
1.下載官方yum源:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2.安裝zabbix服務端(會自動安裝httpd和php服務):
yum --enablerepo=zabbix install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-sender zabbix-get -y
3.驗證安裝包:
rpm -qa|grep "zabbix\|php\|httpd"
註意,如果網速太慢導致安裝一直出現超時,可以先通過wget下載rpm包,再進行本地安裝:
wget "http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-mysql-3.2.4-2.el7.x86_64.rpm " wget "http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-mysql-3.2.4-2.el7.noarch.rpm" wget "http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.4-2.el7.x86_64.rpm" wget "http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-sender-3.2.4-2.el7.x86_64.rpm" wget "http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-get-3.2.4-2.el7.x86_64.rpm"
下載完畢後依次安裝(會自動安裝依賴):
yum localinstall zabbix-server-mysql-3.2.4-2.el7.x86_64.rpm -y yum localinstall zabbix-web-mysql-3.2.4-2.el7.noarch.rpm -y yum localinstall zabbix-agent-3.2.4-2.el7.x86_64.rpm -y yum localinstall zabbix-sender-3.2.4-2.el7.x86_64.rpm -y yum localinstall zabbix-get-3.2.4-2.el7.x86_64.rpm -y
驗證安裝包:
rpm -qa|grep "zabbix\|php\|httpd"
如果對selinux不熟悉,最好先禁用selinux,以免部署過程中出錯:
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config setenforce 0
二、安裝和配置數據庫
1.安裝mariadb數據庫:
yum install mariadb-server mariadb mariadb-devel -y
2.配置mariadb數據庫,修改數據存儲路徑,可根據實際情況修改優化參數:
# vim /etc/my.cnf
datadir=/data/mysql
3.創建數據庫數據存儲目錄,並賦予mysql用戶權限:
mkdir -p /data/mysql chown -R mysql.mysql /data/mysql
4.啟動mariadb,設置開機自啟動:
systemctl start mariadb systemctl enable mariadb
5.配置數據庫用戶和權限:
shell> mysqladmin -uroot password "cB5wB2mD1qR6lR1n" shell> mysql -uroot -p MariaDB [(none)]> drop database test; MariaDB [(none)]> grant all privileges on *.* to [email protected] identified by ‘cB5wB2mD1qR6lR1n‘; MariaDB [(none)]> grant all privileges on *.* to [email protected] identified by ‘cB5wB2mD1qR6lR1n‘; MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; MariaDB [(none)]> grant all privileges on zabbix.* to [email protected] identified by ‘dR1dF4fR1iP1dB1l‘; MariaDB [(none)]> quit
6.導入zabbix數據:
zcat /usr/share/doc/zabbix-server-mysql-3.2.*/create.sql.gz | mysql -uzabbix -p zabbix
三、配置zabbix
1.更改fping命令權限:
chown root:zabbix /usr/sbin/fping chmod 4710 /usr/sbin/fping
2.配置zabbix服務,修改數據庫zabbix用戶的密碼參數:
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=dR1dF4fR1iP1dB1l FpingLocation=/usr/sbin/fping
3.啟動zabbix服務,設置開機自啟動:
systemctl start zabbix-server systemctl enable zabbix-server
四、配置php和apache服務
1.修改php配置,將時區改為東八區:
# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
2.修改apache配置,為安全考慮,將默認的80端口修改為其他端口,尤其是需要通過公網訪問時:
# vim /etc/httpd/conf/httpd.conf
Listen 53302
3.啟動apache服務,設置開機自啟動:
systemctl start httpd systemctl enable httpd
4.配置防火墻,開放apache端口
iptables -I INPUT -p tcp --dport 53302 -j ACCEPT
五、web端初始化安裝zabbix:
登錄zabbix,並按提示進行安裝:
http://10.135.3.135:53302/zabbix
確保php檢測項都通過,沒問題點擊下一步:
輸入數據庫的密碼,其他使用默認參數:
使用默認參數,點擊下一步:
檢查配置信息,沒問題的話進行下一步:
安裝完成,配置信息寫入到zabbix.conf.php文件:
六、配置zabbix
1.安裝完畢後使用默認賬號密碼進行登陸:
默認用戶名/密碼:
Admin/zabbix
2.禁止重裝zabbix:
cd /usr/share/zabbix && mv setup.php setup.php.default
3.在界面將語言修改成中文
4.修改默認的賬號密碼
5.禁用Guests用戶群組
6.解決zabbix圖表顯示中文亂碼問題:
進入windows目錄 C:\Windows\Fonts\微軟雅黑 找到文件 微軟雅黑-常規字體,復制出來將文件名修改為msyh.ttf,然後上傳到zabbix服務器的/usr/share/zabbix/fonts目錄下。
編輯/usr/share/zabbix/include/defines.inc.php文件,將45行的 ‘graphfont‘ 修改為 ‘msyh‘
7.新建zabbix模板:
1)Linux通用模板:
新建通用模板,方便所有linux主機直接鏈接使用該模板:
2)Windows通用模板:
新建通用模板,方便所有windows主機直接鏈接使用該模板:
8.配置報警媒介,使用郵箱來發送報警郵件(用來發送報警的郵箱必須要先開啟SMTP):
9.配置用戶的報警媒介(指定報警接收人信息):
10.配置告警動作:
1)新建告警動作:
2)配置操作:
默認接收人:告警{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}告警!
默認信息:
告警主機:{HOSTNAME1}
告警IP:{HOST.IP}
告警群組:{TRIGGER.HOSTGROUP.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件ID:{EVENT.ID}
------------------------------------------------------------------
3)配置恢復操作:
默認接收人:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
默認信息:
告警主機:{HOSTNAME1}
告警IP:{HOST.IP}
告警群組:{TRIGGER.HOSTGROUP.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件ID:{EVENT.ID}
------------------------------------------------------------------
11.配置自動發現
1)配置自動發現規則:
2)配置自動發現動作:
3)被發現的主機自動鏈接到通用模板:
4)配置完畢,啟動激活規則
5)註意,在使用自動發現時,需要將所有客戶端的IP和主機名映射都配置到服務端的/etc/hosts文件中,以便發現的監控主機的主機名稱顯示為主機名而不是IP地址。
[[email protected] ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain VM_3_135_centos ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.104.46.195 phptest
七、客戶端主機安裝zabbix
1.linux服務器安裝zabbix客戶端:
1)安裝官方yum源:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
2)安裝zabbix客戶端:
yum --enablerepo=zabbix install zabbix-agent
註意,如果網速太慢導致安裝一直出現超時,可以先通過wget下載rpm包,再進行本地安裝:
wget "http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.4-2.el7.x86_64.rpm"
下載完畢後進行安裝:
yum localinstall zabbix-agent-3.2.4-2.el7.x86_64.rpm -y
3)驗證安裝包:
rpm -qa|grep "zabbix"
4)配置客戶端服務:
sed -i ‘s#Server=127.0.0.1#Server=10.135.3.135#g‘ /etc/zabbix/zabbix_agentd.conf sed -i ‘s#\# Timeout=3#Timeout=30#g‘ /etc/zabbix/zabbix_agentd.conf
修改Hostname參數為客戶端的主機名
5)啟動zabbix服務,設置開機自啟動:
systemctl start zabbix-agent systemctl enable zabbix-agent
6)zabbix客戶端自動安裝腳本:
[[email protected] ~]# cat install_zabbix_agent.sh #!/bin/bash # ################################################ # author:ellen # describe:自動安裝zabbix客戶端服務 # updated:20170531 ############################################### # # 錯誤信息以紅色顯示 _err() { echo -e "\033[1;31m[ERROR] $@\033[0m" } # 一般信息以綠色顯示 _info() { echo -e "\033[1;32m[Info] $@\033[0m" } rpm -qa|grep zabbix-agent if [ $? -eq 0 ];then _err "zabbix客戶端已存在,請檢查。" exit 1 fi # 下載zabbix官方源 _info "開始安裝zabbix官方源..." rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm if [ $? -eq 0 ];then _info "zabbix官方源安裝成功,開始安裝zabbix客戶端..." else rpm -qa|grep zabbix-release-3.2 if [ $? -eq 0 ];then _info "zabbix官方源已存在,開始安裝zabbix客戶端..." else _err "zabbix官方源安裝失敗,請檢查。" exit 1 fi fi # 在線安裝zabbix客戶端 #yum --enablerepo=zabbix install zabbix-agent -y # 本地安裝zabbix客戶端 yum localinstall /root/zabbix-agent-3.2.4-2.el7.x86_64.rpm -y if [ $? -eq 0 ];then _info "zabbix客戶端安裝成功,開始配置zabbix客戶端..." else _err "zabbix客戶端安裝失敗,請檢查。" exit 1 fi # 修改zabbix配置 sed -i ‘s#Server=127.0.0.1#Server=10.135.3.135#g‘ /etc/zabbix/zabbix_agentd.conf grep "^Server=" /etc/zabbix/zabbix_agentd.conf sed -i ‘s#\# Timeout=3#Timeout=30#g‘ /etc/zabbix/zabbix_agentd.conf grep "^Timeout=" /etc/zabbix/zabbix_agentd.conf sed -i "s/Hostname=Zabbix server/Hostname=`hostname`/g" /etc/zabbix/zabbix_agentd.conf grep "^Hostname=" /etc/zabbix/zabbix_agentd.conf _info "配置修改完畢,現在開始啟動zabbix客戶端..." # 啟動zabbix客戶端,並設置開機自啟動 systemctl enable zabbix-agent systemctl start zabbix-agent if [ $? -eq 0 ];then _info "zabbix客戶端啟動成功。" else _err "zabbix客戶端啟動失敗,請檢查。" exit 1 fi ps aux|grep -v grep|grep zabbix_agentd [[email protected] ~]#
如果在使用腳本自動安裝,啟動zabbix客戶端時出現以下進程,請執行 systemctl restart zabbix-agent 命令重啟zabbix客戶端
重啟後服務正常:
2.windows服務器安裝zabbix客戶端:
1)下載客戶端壓縮包http://www.zabbix.com/downloads/3.2.0/zabbix_agents_3.2.0.win.zip
解壓壓縮包,然後將解壓出來的子目錄conf裏面的zabbix_agentd.win.conf重命名為zabbix_agentd.conf
2)修改zabbix_agentd.conf配置中的以下參數:
Server=10.135.3.135 ServerActive=10.135.3.135 Timeout=30 Hostname=10_104_102_26
註意:Hostname主機名通過本機打開cmd命令行執行hostname獲得
3)修改完畢將zabbix_agents_3.2.0.win程序目錄復制到c盤,將zabbix_agentd.conf剪切到c盤,進入到C:\Windows\System32目錄下以管理員身份打開cmd:
4)執行以下命令安裝客戶端:
zabbix_agentd.exe --install
5)安裝完畢執行以下命令啟動客戶端:
zabbix_agentd.exe --start
本文出自 “Ellen” 博客,請務必保留此出處http://ellenv.blog.51cto.com/12252761/1931583
CentOS 7.x下部署和配置zabbix 3.2.x監控工具