zabbix4.0服務端 部署全流程

不太聪明的大鹅發表於2024-05-31

zabbix服務端

1.配置yum倉庫
# 對應了nginx的location設定

https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/

# 安裝倆zabbix.repo倉庫檔案而已

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

# 改成清華的
sed -i 's#repo.zabbix.com#mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo

# 安裝zabbix-server服務端,以及資料庫
#  zabbix-server-mysql   以mysql作為儲存開發的zabbix-server服務端程式
# zabbix-web-mysql 		php核心程式,zabbix-UI頁面,也是以mysql為儲存版本
# zabbix-agent		   採集客戶端資料的核心程式 ,自己監控自己
# mariadb-server		安裝mysql服務端程式

yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server


# 啟動mysql,切建立使用者,待會用於和zabbix連結,以及建立zabbix庫,儲存資料。

啟動mariadb資料庫,設定開機自啟
systemctl start mariadb && systemctl enable mariadb


3.設定mariadb資料庫,建立zabbix庫,儲存監控資料,且建立賬號

mysqladmin password linux0224
mysql -uroot -plinux0224 -e 'create database zabbix character set utf8 collate utf8_bin;'

# 建立使用者賬戶,zabbix 密碼是 linux0224
# 給與許可權是,zabbix這個使用者 ,對於zabbix這個庫,下的所有表,都是最大許可權
# 看懂資料庫的操作 1111
mysql -uroot -plinux0224 -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'linux0224';"

# 技巧,查詢命令來自於哪個軟體包,便於你去安裝  1111
yum provides zcat 
yum install gzip -y




4.匯入zabbix服務端的資料庫內容
# 用zcat直接讀取gz壓縮包的資料,切管道符交給mysql命令匯入資料,往zabbix庫中匯入資料
# 看懂11111
zcat /usr/share/doc/zabbix-server-mysql-4.0.42/create.sql.gz | mysql -uroot -plinux0224 zabbix
# 檢視zabbix庫裡面的表
mysql -uroot -plinux0224 -e "show tables from zabbix;"


5. 修改zabbix-server服務端配置檔案,指明自己的ip,便於agent去連線

cat > /etc/zabbix/zabbix_server.conf <<'EOF'
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost 
DBName=zabbix
DBUser=zabbix
DBPassword=linux0224
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF

# 配置檔案裡面,不支援中文,因此筆記自己看就行
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost   # 指明mysql的地址 zabboix-server mysql 
DBName=zabbix   # 資料庫名字
DBUser=zabbix	# 資料庫的連結使用者  
DBPassword=linux0224  # 資料庫密碼
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts   # 存放自定義監控項指令碼的目錄 
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF


6.服務端配置檔案也寫好了

systemctl start zabbix-server && systemctl enable zabbix-server


7.檢查zabbix-server的埠是否執行  10051
[root@zabbix-server-71 ~]#netstat -tunlp|grep zabbix
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      2145/zabbix_server  
tcp6       0      0 :::10051                :::*                    LISTEN      2145/zabbix_server  


至此,zabbix-server,服務端核心程式就裝好了,以及zabbix-UI這個Php程式也裝好了
但是還不能訪問

apache配置
只需要改一個時區設定,改為中國即可,因為你得讓zabbix支援中文

[root@zabbix-server-71 ~]#grep -i shanghai /etc/httpd/conf.d/zabbix.conf 
        php_value date.timezone Asia/Shanghai

啟動80埠的apache服務了
systemctl start httpd && systemctl enable httpd

zabbix-UI前端配置

10.0.0.71:80/zabbix   訪問改url才能訪問zabbix
瀏覽器  > httpd  >  轉發給底層處理php請求的模組

預設賬戶密碼
Admin
zabbix

1.訪問zabbix入口

2.體檢,安裝環境檢查

3.配置資料庫連線

4.配置zabbix服務端的主機埠資訊

修改zabbix語言為中文

修復中文亂碼

下載字型,修改zabbix的字型支援

解決辦法,這是因為缺少zabbix所需的字型

# 文泉儀微黑字型
[root@zabbix4-server ~]#yum install wqy-microhei-fonts -y

# 複製字型給zabbix用,覆蓋圖形字型
[root@zabbix4-server ~]#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf 
cp: overwrite ‘/usr/share/zabbix/assets/fonts/graphfont.ttf’? y

補充知識,關於apache和zabbix是怎麼結合的?

# LAMP
#  你訪問zabbix 的圖形化頁面,使用者> apache > php(zabbix圖形化頁面所有功能程式碼是php)


# 訪問 web伺服器入口  80埠,apache
# apache請求轉發給php的模組去處理 


# 看apache配置檔案就行了,你可以訪問zabbix路由即可,apache自動載入php模組,解析請求

[root@zabbix4-server /var/www/html]#cat  /etc/httpd/conf.d/zabbix.conf 
#
# Zabbix monitoring system php web frontend
#

# 定義url別名,
# 10.0.0.71/zabbix  
# 等於 
Alias /zabbix /usr/share/zabbix

# 定義網頁根目錄的設定
# web伺服器配置的引數意思,對比nginx的配置去理解即可
#這裡是apache的知識點


<Directory "/usr/share/zabbix">
    Options FollowSymLinks
    
    AllowOverride None
    # 該目錄的資料允許訪問,
    Require all granted
    
	# apache代理php的配置區域
	# 使用者請求的是php程式,就交給這裡的 mod_php5.c 底層驅動去解析程式碼
	# 
    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone Asia/Shanghai
    </IfModule>
</Directory>

# 其他目錄的訪問許可權設定,這些4個字母目錄全部拒絕訪問
<Directory "/usr/share/zabbix/conf">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/app">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/include">
    Require all denied
</Directory>

<Directory "/usr/share/zabbix/local">
	#     denied 都拒絕訪問的意思
    Require all denied
</Directory>

相關文章