centos 7 安裝zabbix 4.0

来源:https://www.cnblogs.com/caesar-id/archive/2020/06/14/13123496.html
-Advertisement-
Play Games

一、zabbix簡介 1、簡介 zabbix([`zæbiks])是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。zabbix能監視各種網路參數如:CPU負荷、記憶體使用、磁碟使用、網路狀況、埠監視、日誌監視等。zabbix主要由2部分構成,zabbix server ...


一、zabbix簡介

1、簡介

zabbix([`zæbiks])是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。zabbix能監視各種網路參數如:CPU負荷、記憶體使用、磁碟使用、網路狀況、埠監視、日誌監視等。zabbix主要由2部分構成,zabbix server與可選組件zabbix agent。

zabbix server可以通過SNMP,zabbix agent,ping,埠監視等方法提供對遠程伺服器/網路狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。

zabbix agent需要安裝在被監視主機上,它主要完成對硬體信息或與操作系統有關的記憶體,CPU等信息的收集。zabbix agent可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X,Tru64/OSF1,Windows NT4.0,Windows (2000/2003/XP/Vista)等系統之上。

2、實驗環境

系統:centos 7 

軟體:Apache 2.4.6-93   mariadb 5.5.65  php 5.4.16  zabbix 4.0.21

3、安裝前的準備工作

# 1、設置本機IP地址:192.168.10.100
[root@bogon ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=84e3956a-e882-4039-baa3-1a7dd1c733ea
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.10.100
NETMASE=255.255.255.0
GATEWAY=192.168.10.2
DNS1=192.168.10.2

# 2、設置主機名為:zabbix-server
[root@bogon ~]# vim /etc/hostname
zabbix-server

# 3、關閉selinux
[root@bogon ~]# vim /etc/selinux/config
...
SELINUX=disabled
...

# 4、重啟電腦
[root@bogon ~]# reboot

二、使用yum安裝LAMP

1、安裝Apache

[root@zabbix-server ~]# yum install httpd -y

1.1 驗證Apache

啟動Apache服務

[root@zabbix-server ~]# systemctl start httpd

訪問本機127.0.0.1,你會看到如下界面:

2、安裝mariadb

[root@zabbix-server ~]# yum install mariadb-server mariadb -y 

2.1 驗證mariadb

2.2 對mariadb進行初始化安全設置

 1 [root@zabbix-server ~]# systemctl start mariadb  # 啟動mariadb
 2 [root@zabbix-server ~]# mysql_secure_installation   # 初始化mariadb資料庫
 3 
 4 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
 5       SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 6 
 7 In order to log into MariaDB to secure it, we'll need the current
 8 password for the root user.  If you've just installed MariaDB, and
 9 you haven't set the root password yet, the password will be blank,
10 so you should just press enter here.
11 
12 Enter current password for root (enter for none):   # 預設root密碼為空,這裡回車即可
13 OK, successfully used password, moving on...
14 
15 Setting the root password ensures that nobody can log into the MariaDB
16 root user without the proper authorisation.
17 
18 Set root password? [Y/n] Y   # 是否設置root密碼
19 New password:     # 設置root密碼
20 Re-enter new password:   # 確認密碼
21 Password updated successfully!
22 Reloading privilege tables..
23  ... Success!
24 
25 
26 By default, a MariaDB installation has an anonymous user, allowing anyone
27 to log into MariaDB without having to have a user account created for
28 them.  This is intended only for testing, and to make the installation
29 go a bit smoother.  You should remove them before moving into a
30 production environment.
31 
32 Remove anonymous users? [Y/n] Y   # 是否刪除匿名用戶,建議刪除,否則可以通過匿名用戶訪問資料庫
33  ... Success!
34 
35 Normally, root should only be allowed to connect from 'localhost'.  This
36 ensures that someone cannot guess at the root password from the network.
37 
38 Disallow root login remotely? [Y/n] n  # 是否拒絕root遠程登錄,這裡是實驗環境我們允許
39  ... skipping.
40 
41 By default, MariaDB comes with a database named 'test' that anyone can
42 access.  This is also intended only for testing, and should be removed
43 before moving into a production environment.
44 
45 Remove test database and access to it? [Y/n] Y  # 是否刪除預設test資料庫,這個隨意
46  - Dropping test database...
47  ... Success!
48  - Removing privileges on test database...
49  ... Success!
50 
51 Reloading the privilege tables will ensure that all changes made so far
52 will take effect immediately.
53 
54 Reload privilege tables now? [Y/n] Y  # 是否使設置立即生效
55  ... Success!
56 
57 Cleaning up...
58 
59 All done!  If you've completed all of the above steps, your MariaDB
60 installation should now be secure.
61 
62 Thanks for using MariaDB!
mysql_secure_installation

2.3 設置客戶端和服務端的字元集為utf-8

[root@zabbix-server ~]# vim /etc/my.cnf
[mysqld]

character-set-server=utf8             # 設置服務端的字元集
collation-server=utf8_general_ci      # 設置服務端的字元集

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

[client]                #  設置客戶端的字元集
default-character-set=utf8 
[mysql]                #  設置客戶端的字元集
default-character-set=utf8
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

重啟mariadb

[root@zabbix-server ~]# systemctl restart mariadb

3、安裝php

[root@zabbix-server ~]# yum install php php-mysql -y

3.1 驗證php

在/var/www/html下創建index.php

[root@zabbix-server ~]# vim /var/www/html/index.php
<?php
phpinfo();
?>

重啟Apache

[root@zabbix-server ~]# systemctl restart httpd

訪問127.0.0.1進行驗證

三、安裝zabbix

1、下載zabbix

[root@zabbix-server ~]# wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.21.tar.gz -P /usr/src/

2、解壓

[root@zabbix-server ~]# tar -zxvf /usr/src/zabbix-4.0.21.tar.gz -C /opt/

3、創建運行zabbix賬戶

[root@zabbix-server ~]# groupadd zabbix
[root@zabbix-server ~]# useradd -g zabbix zabbix

4、創建zabbix資料庫

[root@zabbix-server mysql]# mysql -uroot -p
MariaDB [(none)]> create database zabbix;
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> source /opt/zabbix-4.0.21/database/mysql/schema.sql
MariaDB [zabbix]> source /opt/zabbix-4.0.21/database/mysql/data.sql

5、配置zabbix

[root@zabbix-server ~]# cd /opt/zabbix-4.0.21/
[root@zabbix-server zabbix-4.0.21]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

這時可能報如下錯誤:

原因是缺少mysql-devel ,安裝即可。

[root@zabbix-server zabbix-4.0.21]# yum install mysql-devel -y

安裝完成後再次進行配置

[root@zabbix-server zabbix-4.0.21]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

這時可能會報如下錯誤:

原因是缺少libxml,安裝即可。

[root@zabbix-server zabbix-4.0.21]# yum install libxml2 libxml2-devel -y

安裝完成後再次進行配置

[root@zabbix-server zabbix-4.0.21]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

這時可能會報如下錯誤:

原因是缺少 net-snmp-devel,安裝即可。

[root@zabbix-server zabbix-4.0.21]# yum install net-snmp-devel -y

安裝完成後再次進行配置

[root@zabbix-server zabbix-4.0.21]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

這時可能會報如下錯誤:

原因是缺少libevent-devel,安裝即可。

[root@zabbix-server zabbix-4.0.21]# yum install libevent-devel -y

安裝完成後再次進行配置

[root@zabbix-server zabbix-4.0.21]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

這時可能會報如下錯誤:

原因是缺少curl-devel,安裝即可。

[root@zabbix-server zabbix-4.0.21]# yum install curl-devel -y

安裝完成後再次進行配置

[root@zabbix-server zabbix-4.0.21]# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

經過上面諸多錯誤,終於來到瞭如下所示:

6、安裝zabbix

[root@zabbix-server zabbix-4.0.21]# make install

7、編輯配置文件/usr/local/etc/zabbix_server.conf

[root@zabbix-server zabbix-4.0.21]# vim /usr/local/etc/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=root的密碼
DBPort=3306

8、使用web界面安裝zabbix

8.1 創建zabbix在web中的工作目錄

[root@zabbix-server zabbix-4.0.21]# mkdir /var/www/html/zabbix

8.2 將/opt/zabbix-4.0.21/frontends/php/下的所有文件複製到/var/www/html/zabbix

[root@zabbix-server zabbix-4.0.21]# cd frontends/php/
[root@zabbix-server php]# cp -a . /var/www/html/zabbix/

8.3 在web上進行安裝

訪問http://127.0.0.1/zabbix我們會看到如下:

此時我們只能在centos本機上訪問http://127.0.0.1/zabbix,這樣操作不方便,並且其它主機將不能使用zabbix,所以調整httpd.conf文件。

[root@zabbix-server php]# vim /etc/httpd/conf/httpd.conf 
Listen 192.168.10.100:80    # 將監聽地址改成伺服器的IP地址

# 修改完成後重啟Apache
[root@zabbix-server php]# systemctl restart httpd

# 停止防火牆
[root@zabbix-server php]# systemctl stop firewalld

此時我們便可以在宿主機上訪問Apache服務了。

點擊下一步後我們會看到一個提示信息,提示哪裡需要整改。

 

錯誤大致分為兩部分,一個是需要調整PHP的配置文件,一個缺少一些php組件。

8.4 調整php配置文件

[root@zabbix-server php]# vim /etc/php.ini 
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

重啟Apache

[root@zabbix-server php]# systemctl restart httpd

再次訪問http://192.168.10.100/zabbix/

我們可以看到關於php配置文件的錯誤沒了,現在只剩php組件了。

8.5 安裝php缺失的組件

[root@zabbix-server ~]# yum install php-bcmath php-mbstring php-gd libjpeg* php-ldap php-xml php-xmlrpc -y

安裝完成後,重啟Apache。

[root@zabbix-server ~]# systemctl restart httpd

再次訪問http://192.168.10.100/zabbix/,你會看到如下:

點擊下一步後,會進入到連接資料庫的界面:

如果下一步出現如下錯誤:

表示資料庫zabbix的字元集有問題。

刪除資料庫zabbix,並重新創建zabbix,導入數據。

[root@zabbix-server ~]# mysql -uroot -p
MariaDB [(none)]> drop database zabbix;
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  
MariaDB [(none)]> use zabbix;
MariaDB [zabbix]> source /opt/zabbix-4.0.21/database/mysql/schema.sql 
MariaDB [zabbix]> source /opt/zabbix-4.0.21/database/mysql/images.sql
MariaDB [zabbix]> source /opt/zabbix-4.0.21/database/mysql/data.sql

設置完成後刷新頁面,我們會看到如下界面:

點擊下一步後,我們會看到如下界面:

下一步後我們會看到如下界面:

點擊下一步後來到安裝頁面:

造成該錯誤的原因是Apache的用戶對/var/www/html/zabbix/conf沒有寫入的許可權。

我們給寫入許可權即可,如下:

[root@zabbix-server ~]# chmod a+w /var/www/html/zabbix/conf

刷新頁面後你會看到如下:

點擊Finish後你會看到如下界面:

登錄成功後你會看到如下界面:

我們可以看到zabbix server並沒有運行,造成這種情況的原因很多,我們可以通過查看日誌文件來瞭解問題產生的原因,預設日誌文件在/tmp/zabbix_server.log。

如果是資料庫連接的問題,我們要確保/var/www/html/zabbix/conf/zabbix.conf.php和vim /usr/local/etc/zabbix_server.conf中的資料庫信息一致,並且資料庫用戶名和密碼正確。

我們這裡出現這個問題的原因是沒有開啟zabbix server服務。

[root@zabbix-server ~]# zabbix_server

刷新頁面我們會看到如下:

到此zabbix的安裝就簡單介紹到這裡。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇文章講了 Nginx 中的變數和運行原理,下麵就來說一個主要提供變數並修改變數的值的模塊,也就是我們要講的防盜鏈模塊:referer 模塊。 簡單有效的防盜鏈手段 場景 如果做過個人站點的同學,可能會遇到別人盜用自己站點資源鏈接的情況,這就是盜鏈。說到盜鏈就要說一個 HTTP 協議的 頭部,r ...
  • 背景 Read the fucking source code! --By 魯迅 A picture is worth a thousand words. --By 高爾基 說明: Kernel版本:4.14 ARM64處理器,Contex-A53,雙核 使用工具:Source Insight 3. ...
  • Linux 下,如果要執行一條或多條之前輸過的指令,要怎麼處理?很多人會想到使用上下箭頭去翻查歷史輸入的命令。這當然是可以了,除了這種方法,本文再介紹另外 5 種方法來實現這樣的效果。 在正式開始之前,我們先隨便執行幾條命令,便於後面演示。為了節約篇幅,執行結果暫時不列出來。 $ ls -l $ p ...
  • 學習Linux的註意事項(一) Linux嚴格區分大小寫 Linux是嚴格區分大小寫的,這一點和Windows不一樣,所以操作時要註意區分大小寫的不同,包括文件名和目錄名、命令、命令選項、配置文件配置選項等 Linux一切皆文件 Linux中所有內容都是以文件的形式保存和管理的,硬體設備也是文件,這 ...
  • Step 1: 安裝vncserver和其依賴的軟體 # 修改yum為國內鏡像 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup-linux && \ wget -O /etc/yum.repo ...
  • ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介紹了Shell編程的一些語法規範,主要參考依據為谷歌的Shell語法風格。 背景 博客:https://www.cnblogs.com/Rohn 使用哪一種Shell 可執行文件必須以 #!/bin/bash 和最 ...
  • 本文只總結一些常用的用法,更詳細的說明見man pkill和pkill --help。 pkill命令 pkill命令:通過進程名殺死進程。 語法格式 Usage: pkill [options] <pattern> options option 說明 - 發送信號 -t 按照終端號來踢出用戶連接終 ...
  • crash 是目前廣泛使用的 linux 內核崩潰轉儲文件的分析工具,掌握 crash 的使用技巧,對於分析定位內核崩潰的問題,有著非常重要的作用。本文首先介紹了 crash 的基本概念和安裝方法,其次詳細介紹瞭如何使用 crash 工具分析內核崩潰轉儲文件,包括各種常用調試命令的使用方法,最後以幾 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...