首頁 運維 linux運維 Lnmp搭建zabbix維運監控系統

Lnmp搭建zabbix維運監控系統

Jun 18, 2019 pm 01:46 PM
linux 監控系統

Lnmp搭建zabbix維運監控系統

使用目的?

在公司專案中需要做一個日誌監控,最開始選擇的是efk,但是efk的資料相對較少並且之前對這幾個產品都沒接觸過,使用起來很困難。於是選擇了zabbix作為專案的運維監控系統。

zabbix能做什麼?

zabbix主要是用來網路監控、系統監控、應用程式監控等場景。 zabbix分成server端和agent端,文章前半部都是在講server端的安裝操作,後面結尾講解agent的安裝操作。

建置環境

centos7.0,lnmp整合環境(mysql5.7,php7.2),zabbix4.0版本。手冊給到以下幾種安裝方式:

  1. 源碼安裝(本文採用的也就是原始碼安裝)
  2. 二進位安裝
  3. 容器安裝,例如docker安裝

安裝步驟

1.安裝lnmp環境 由於lnmp整合包,安裝非常方便,因此直接安裝官網手冊一鍵安裝即可2.安裝zabbix服務端

# 安装依赖
yum install net-snmp-devel libxml2-devel libcurl-devel libevent-devel  mysql-devel
# 下载安装包(该安装包可以直接放在web的程序目录里面)
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.3/zabbix-4.2.3.tar.gz/download
# 解压
tar zxvf zabbix-4.2.3.tar.gz
# 编译(这里我使用的是mysql,所以在编译的时候是用的mysql的依赖,如果是其他的数据库按照官网手册编译的时候编译其他的数据库依赖)
cd zabbix-4.2.3
./configure --prefix=/web/data/zabbix-3.4.4/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
# 开始安装
make && make install
登入後複製

3.建立zabbix用戶 為什麼要給zabbix建立一個單獨的用戶,很簡單,是因為安全問題。為了安全考慮zabbix只使用普通用戶運行,假如你當前用戶叫ttlsa,那麼你運行他,他便使用ttlsa身份運行。但如果你在root環境下執行zabbix,那麼zabbix將會主動使用zabbix使用者來運作。但是如果你的系統沒有名叫zabbix的用戶,你需要建立一個用戶。

groupadd zabbix
useradd -g zabbix zabbix
登入後複製

4.資料庫相關配置 考慮到安全性問題,因此這裡我們同樣的給zabbix創建一個單獨的資料庫使用者,資料庫名稱也是zabbix。在本文中建立的MySQL使用者為zabbix,密碼可以根據自己定義。

5.導入zabbix事先準備好的資料。 .查看資料庫檔案

cd /home/wwwroot/zabbix-4.2.3/database && ls 
drwxr-xr-x 2 mysql mysql  4096 6月   6 02:23 elasticsearch
drwxr-xr-x 2 mysql mysql  4096 6月  13 10:10 ibm_db2
-rw-r--r-- 1 root  root  21474 6月  13 10:10 Makefile
-rw-r--r-- 1 mysql mysql   155 6月   6 02:23 Makefile.am
-rw-r--r-- 1 mysql mysql 21722 6月   6 02:24 Makefile.in
drwxr-xr-x 2 mysql mysql  4096 6月  13 10:10 mysql
drwxr-xr-x 2 mysql mysql  4096 6月  13 10:10 oracle
drwxr-xr-x 2 mysql mysql  4096 6月  13 10:10 postgresql
drwxr-xr-x 2 mysql mysql  4096 6月  13 10:10 sqlite3
登入後複製

.上面的幾種目錄就是針對不同的數據,zabbix自帶的不同的資料庫文件,我們是使用的MySQL,因此我們只需要關心mysql目錄下面的文件,下面即是我們需要的文件。 schema.sql檔案數資料表結構,images.sql是相關的圖片資料結構,data.sql則是相關的資料結構。

-rw-r--r-- 1 mysql mysql 4018823 6月   6 02:24 data.sql
-rw-r--r-- 1 mysql mysql 1978341 6月   6 02:23 images.sql
-rw-r--r-- 1 root  root    15420 6月  13 10:10 Makefile
-rw-r--r-- 1 mysql mysql     392 6月   6 02:23 Makefile.am
-rw-r--r-- 1 mysql mysql   15711 6月   6 02:24 Makefile.in
-rw-r--r-- 1 mysql mysql  142074 6月   6 02:24 schema.sql
登入後複製

.登入並匯入資料庫

# 登录数据
mysql -u root -p
# 选择实现创建好的zabbix数据库
use zabbix
# 依次导入数据库文件
source /home/wwwroot/zabbix-4.2.3/database schema.sql
source /home/wwwroot/zabbix-4.2.3/database data.sql
source /home/wwwroot/zabbix-4.2.3/database images.sql
登入後複製

配置虛擬網域

本文搭建的zabbix是在centos7.0的虛擬環境中搭建,為了方便訪問,搭建了一個虛擬域名.只需要配置一個nginx文件即可.環境中使用的是lnmp集成開發環境,則使用lnmp集成開發環境自帶的命令來創建

lnmp vhost add 
# 指定root的目录,应该为
/home/wwwroot/zabbix-4.2.3/frontends/php
# 应该开启pathinfo模式,
#rwriter 选择WordPress(不强制要求)
登入後複製

在本地點的hosts檔案中加入上述自己設定的虛擬網域(以.dev.zabbix.com為例)

#使用zabbix

##我們在登入時候,會提示我們一些安裝信息,我們按照提示填寫即可。安裝之後會自動跳到登入頁面,可以選擇賓客模式也可以使用管理員模式。

屏幕快照 2019-06-14 00.20.13.png

賓客模式就只是簡單的瀏覽操作。系統預設的管理帳號是Admin,密碼是zabbix。 使用管理員帳號的時候會可能會提示以下資訊。如要是因為我們的web服務導致的,如果是使用的Apache則不會出現以下問題。

Lnmp搭建zabbix維運監控系統

問題根源是在zabbix php定位問題發現,zabbix是依據php檔案名稱來設定權限,例如index.php、dashboard.php這些,如果cgi.fix_pathinfo設定為0,那麼php無法取得到url請求的檔案名稱,例如存取index.php,取得不到index.php也定位到權限,於是出現這個錯誤。解決方法是:修改php.ini檔案的配置。

cgi.fix_pathinfo=0
改为
cgi.fix_pathinfo=1
登入後複製
此時我們登入進去就可以看到如下介面了。

安裝代理程式

設定檔目錄:/etc/zabbix/zabbix_agentd.conf

1.在被监控主机上设置防火墙,允许zabbix-agent的10050端口通过
2.执行yum list |grep zabbix,找到zabbix的agent安装包并安装,如包名zabbix-agent.x86_64
3.在 /etc/zabbix/zabbix_agentd.conf 中更改:
    Server=<zbx-server>
    ServerActive=<zbx-server>
    Hostname=
4.设置zabbix-agent服务自启动并启动服务
    systemctl enable zabbix-agent.service      开机自启动
    systemctl start zabbix-agent.service          启动服务</zbx-server></zbx-server>
登入後複製
更多Linux相關技術文章,請造訪

Linux教學欄位進行學習!

以上是Lnmp搭建zabbix維運監控系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

無法以 root 身份登錄 mysql 無法以 root 身份登錄 mysql Apr 08, 2025 pm 04:54 PM

無法以 root 身份登錄 MySQL 的原因主要在於權限問題、配置文件錯誤、密碼不符、socket 文件問題或防火牆攔截。解決方法包括:檢查配置文件中 bind-address 參數是否正確配置。查看 root 用戶權限是否被修改或刪除,並進行重置。驗證密碼是否準確無誤,包括大小寫和特殊字符。檢查 socket 文件權限設置和路徑。檢查防火牆是否阻止了 MySQL 服務器的連接。

C語言條件編譯:新手入門到實戰應用的詳盡指南 C語言條件編譯:新手入門到實戰應用的詳盡指南 Apr 04, 2025 am 10:48 AM

C語言條件編譯是一種根據編譯時條件選擇性編譯代碼塊的機制,入門方法有:使用#if和#else指令根據條件選擇代碼塊。常用條件表達式包括STDC、_WIN32和linux。實戰案例:根據操作系統打印不同消息。根據系統位數使用不同的數據類型。根據編譯器支持不同的頭文件。條件編譯增強了代碼的可移植性和靈活性,使其適應編譯器、操作系統和CPU架構變化。

Linux的5個基本組件是什麼? Linux的5個基本組件是什麼? Apr 06, 2025 am 12:05 AM

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。

MySQL安裝在特定係統版本上報錯的解決途徑 MySQL安裝在特定係統版本上報錯的解決途徑 Apr 08, 2025 am 11:54 AM

MySQL安裝報錯的解決方法是:1.仔細檢查系統環境,確保滿足MySQL的依賴庫要求,不同操作系統和版本需求不同;2.認真閱讀報錯信息,根據提示(例如缺少庫文件或權限不足)採取對應措施,例如安裝依賴或使用sudo命令;3.必要時,可嘗試源碼安裝並仔細檢查編譯日誌,但這需要一定的Linux知識和經驗。最終解決問題的關鍵在於仔細檢查系統環境和報錯信息,並參考官方文檔。

mysql 無法啟動怎麼解決 mysql 無法啟動怎麼解決 Apr 08, 2025 pm 02:21 PM

MySQL啟動失敗的原因有多種,可以通過檢查錯誤日誌進行診斷。常見原因包括端口衝突(檢查端口占用情況並修改配置)、權限問題(檢查服務運行用戶權限)、配置文件錯誤(檢查參數設置)、數據目錄損壞(恢復數據或重建表空間)、InnoDB表空間問題(檢查ibdata1文件)、插件加載失敗(檢查錯誤日誌)。解決問題時應根據錯誤日誌進行分析,找到問題的根源,並養成定期備份數據的習慣,以預防和解決問題。

mysql 可以在 android 上運行嗎 mysql 可以在 android 上運行嗎 Apr 08, 2025 pm 05:03 PM

MySQL無法直接在Android上運行,但可以通過以下方法間接實現:使用輕量級數據庫SQLite,由Android系統自帶,無需單獨服務器,資源佔用小,非常適合移動設備應用。遠程連接MySQL服務器,通過網絡連接到遠程服務器上的MySQL數據庫進行數據讀寫,但存在網絡依賴性強、安全性問題和服務器成本等缺點。

mySQL下載完安裝不了 mySQL下載完安裝不了 Apr 08, 2025 am 11:24 AM

MySQL安裝失敗的原因主要有:1.權限問題,需以管理員身份運行或使用sudo命令;2.依賴項缺失,需安裝相關開發包;3.端口衝突,需關閉佔用3306端口的程序或修改配置文件;4.安裝包損壞,需重新下載並驗證完整性;5.環境變量配置錯誤,需根據操作系統正確配置環境變量。解決這些問題,仔細檢查每個步驟,就能順利安裝MySQL。

無法從終端訪問 mysql 無法從終端訪問 mysql Apr 08, 2025 pm 04:57 PM

無法從終端訪問 MySQL 可能是由於:MySQL 服務未運行;連接命令錯誤;權限不足;防火牆阻止連接;MySQL 配置文件錯誤。

See all articles