centos7編譯安裝Zabbix-4.2.4及設置郵件告警教程(超詳細每步都有截圖)

Zabbix-4.2.4安裝及配置php

此安裝基於centos7LNMP環境下,如未安裝LNMP還可參考本人其餘隨筆html

 

第一步:上傳下載python

一、前往https://www.zabbix.com/download_sources下載4.2.4mysql

 

 

 

 

二、下載完成後上傳至服務器nginx

yum -y install lrzszweb

rzsql

選擇壓縮包,點擊肯定shell

 

三、解壓:數據庫

tar zxvf zabbix-4.2.4.tar.gz -C /root/vim

 

四、進入、建立用戶、用戶組

cd zabbix-4.2.4/

groupadd zabbix

useradd -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix

 

第二步:數據庫建立zabbix庫

一、進入數據庫:

mysql -uroot -p

use mysql;

二、建立數據庫:

create database zabbix character set utf8 collate utf8_bin;

三、建立用戶:

create user zabbix@localhost identified by 'zabbix1';

四、導入數據:

source /root/zabbix-4.2.4/database/mysql/schema.sql

source /root/zabbix-4.2.4/database/mysql/images.sql

source /root/zabbix-4.2.4/database/mysql/data.sql

五、受權用戶:

grant all privileges on zabbix.* to zabbix@localhost;

六、刷新權限:

flush privileges;

七、查看是否建立成功:

show databases;

 

 

 

 

八、quit  退出

 

第三步:開始安裝

一、檢查環境:

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl --with-libxml2

 

報錯1:找不到libevent

 

安裝libevent libevent-devel

yum -y install libevent libevent-devel

 

安裝完畢後從新檢查環境,檢查完畢!

 

 

二、編譯安裝:

make && make install

 

第三步:zabbix_service配置

一、將zabbix服務放至nginx下的html目錄下,並改名爲zabbix

cp -R /root/zabbix-4.2.4/frontends/php /usr/local/nginx/html/zabbix

 

二、複製啓動腳本

cd /root/zabbix-4.2.4/misc/init.d/fedora/core

cp -a zabbix_server /etc/init.d/

cp -a zabbix_agent /etc/init.d/

 

三、修改zabbix_server啓動腳本

vim /etc/init.d/zabbix_server         修改路徑爲如圖所示

 

 

 

 

vim /etc/init.d/zabbix_agent  

作與zabbix_server相同的修改

 

四、對zabbix_server.conf與zabbix_agent.conf作修改

vim /usr/local/zabbix/etc/zabbix_server.conf

 

將數據庫的主機地址、用戶名、密碼等填寫正確

 

DBSocket能夠註釋掉無論,如啓服務時報sock的錯,可進行修改成在即mysql的sock文件所在路徑,以後wq保存退出。

 

再來編輯zabbix_agent.conf

vim /usr/local/zabbix/etc/zabbix_agentd.conf

修改server、ServerActive和hostname

 

其中hostname要與本機主機名相同,主機名查看方法:shell中輸入hostname

 

 

五、啓動服務

service zabbix_server start

啓動服務報錯:沒有找到這個libmysqlclient.so.21這個函數庫

 

 

 

 

查找一下這個庫在哪裏:

locate libmysqlclient.so.21

 

 

 

 

將這個路徑添加到 /etc/ld.so.conf文件中:

echo "/usr/local/mysql/lib" >> /etc/ld.so.conf

更新函數庫:

ldconfig

 

6、從新進行啓動服務

service zabbix_server start

service zabbix_agent start

netstat -tunlp (查看是否啓動成功)

 

 

 

 

添加開機自啓

chkconfig --add zabbix_server

chkconfig --add zabbix_agentd

chkconfig --level 2345 zabbix_server on

chkconfig --level 2345 zabbix_agentd on

chkconfig --list

 

ok,設置完畢後,打開瀏覽器,進入zabbix的安裝界面

瀏覽器輸入:

[本機ip]/zabbix             而後回車

 

進入後進行web頁安裝:

第一步:Next

 

 

第二步:

 

 

 

 

配置錯誤的參數:

根據它的提示修改即可,後邊也給出了推薦值,將配置文件中的選項改爲其推薦值便可

vim /usr/local/php/etc/php.ini

一、

 

二、

 

三、

 

修改後發現仍是不起做用,覺得本身改錯了,反覆覈對沒有問題,終於找到了答案。。

執行php -i | grep 'php.ini'

 

查看你所執行的php.ini文件是哪一個路徑下的php.ini

發現果真修改錯了,將php.ini文件移動到/usr.local.php/lib/下:

cd /usr/local/php/etc/

mv php.ini ../lib/

 

重啓nginx和php:

service php-fpm restart

service nginx restart

 

 

 

 

從新打開網頁,所有成綠色,開始Next

 

 

第三步:輸入以前建立的mysql帳號密碼,Next,發現報錯(一共報錯兩個,第二個未截圖)

第一個:Error connecting to database: No nush file or directory

第二個:The server requested authentication method unknown to the client

 

第三步的這個報錯困擾了我一天,百度一天都沒有結果,在我都快要放棄從新安裝的時候,但願的曙光來臨了!

 

終於查到了一個資料,原來,是因爲新版本mysql帳號密碼解鎖的機制不一致致使的,新版本中mysql解鎖機制爲caching_sha2_password,而舊版本中是mysql_native_password影響了服務器與和客戶端的兼容性問題,因此咱們先將驗證方式更改成之前的mysql_native_password便可。

解決方法:

一、刪除以前建立的用戶:

delete from user where user='zabbix' and host='localhost';

二、進入mysql的配置文件

vim /etc/my.cnf,加入下行:

default_authentication_plugin=mysql_native_password

 

 

 

 

三、重啓mysql服務,再從新進入mysql建立zabbix用戶

mysql -uroot -p   輸入密碼

mysql中操做:

use mysql;

create user zabbix@localhost identified by 'zabbix1';  建立用戶

grant all privileges on zabbix.* to zabbix@localhost;  受權

 

四、設置zabbix用戶和root用戶能夠遠程鏈接

update user set host='%' where user='root';

update user set host='%' where user='zabbix';

flush privileges;  刷新權限

select host, user, authentication_string, plugin from user;  查看是否設置成功

 

這樣就表明成功了,執行quit   退出

 

五、mysql從新建立完以後還要注意修改一下zabbix_server.conf

vim /usr/local/zabbix/etc/zabbix_server.conf

 

將這幾個選項相對的填寫正確,其中DBSocket的路徑須要修改如下填寫本身的,其實DBSocket並沒有大礙,前幾個都設置好後,若是可以正常Next,就不用設置DBSocket。

 

再將默認路徑下的zabbix中conf目錄及如下的文件權限設定爲777

chmod -R 777 conf

 

 

六、最後再重啓如下mysql和php-fpm。

再從新進入web頁測試,將此步驟中中的database host更改成127.0.0.1

點擊Next step,ok成功

 

第四步:額。。忘記截圖了,不過不重要,只是將本身的服務名字寫上去就好,我填的zabbix_server

 

第五步:完成安裝

 

點擊Finish

默認帳戶Admin

密碼:zabbix    進行登陸

 

 

第六步:進行漢化

一、進入html/zabbix/include/locales.inc.php文件中,後邊爲ture就爲支持

 

 

 

 

二、點擊右上角小人,選擇中文,點擊Update。完後漢化

 

 

 

 

三、更改後,若是發現有的地方是亂碼,或者是沒更改過來,可進行如下操做:

隨便選擇一個本身喜歡的字體

 

 

 

 

vim /usr/local/nginx/html/zabbix/includedefines.inc.php

查看此保存字體的目錄在哪

而後在windows下選擇一個本身喜歡的字體傳到此目錄下

將文件的ZBX_GRAPH_FONT_NAME更改成你上傳的字體名字,保存,重啓zabbix便可

 

 

 

 

第七步:添加監控項、郵件告警等

http://www.javashuo.com/article/p-yzianseo-go.html

 

 

 

 

一、添加主機

 

 

 

 

 

 

 

 

 

 

 

 

 

二、配置郵件告警,這裏以VSFTP服務爲例

yum install -y vsftpd vim /etc/vsftpd/vsftpd.conf listen=YES         # 修改該條 listen_ipv6=YES    # 刪除該條 systemctl start vsftpd

 

編寫郵件告警腳本:

vim /usr/local/zabbix/share/zabbix/alertscripts/sendmail.py

 

 

 

 

將如下內容複製:(我用的qq郵箱,如用其餘郵箱作發件人,請根據註釋修改)

#!/usr/bin/env python

# _*_ coding:utf-8 _*_

 

import smtplib

from email.mime.text import MIMEText

import sys

# configure your own parameters here

#下面郵件地址的smtp地址 mail_host = 'smtp.163.com'

#用來發郵件的郵箱,在發件人擡頭顯示(否則你的郵件會被當成是垃圾郵件)

mail_user = '****@qq.com'

# 客戶端受權碼

mail_auth = '******'

# 發送方顯示的名稱

send_name = mail_user

# 接收方顯示的名稱

recv_name = mail_user

 

def excute(to, title, content):

  msg = MIMEText(content, 'plain', 'utf-8')

  msg['From'] = send_name    msg['To'] = recv_name

  msg['Subject'] = title    server = smtplib.SMTP(mail_host, 25)

  server.login(mail_user,mail_auth)

  server.sendmail(mail_user,to,msg.as_string())

  server.quit()

 

if __name__ == '__main__':

  excute(sys.argv[1], sys.argv[2], sys.argv[3])

  #                  $1           $2           $3

而後賦予執行權限chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.py

 

三、建立報警媒介及動做

 

 

 

 

添加完成:

 

 

 

選擇

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

而後點擊添加按鈕,其餘兩個模塊也修改成與以上相同的

 

 

 

 

 

添加完成

 

 

四、將vsftp服務停掉,測試是否能夠收到郵件了

 

 

 

此項說明郵件已送達,下一步打開郵箱看一下

 

 

ok,收到郵件,nice,再恢復服務看能不能收到郵件

 

 

也收到了   ok!

 

相關文章
相關標籤/搜索