Lnmp搭建zabbix維運監控系統
使用目的?
在公司專案中需要做一個日誌監控,最開始選擇的是efk,但是efk的資料相對較少並且之前對這幾個產品都沒接觸過,使用起來很困難。於是選擇了zabbix作為專案的運維監控系統。
zabbix能做什麼?
zabbix主要是用來網路監控、系統監控、應用程式監控等場景。 zabbix分成server端和agent端,文章前半部都是在講server端的安裝操作,後面結尾講解agent的安裝操作。
建置環境
centos7.0,lnmp整合環境(mysql5.7,php7.2),zabbix4.0版本。手冊給到以下幾種安裝方式:
- 源碼安裝(本文採用的也就是原始碼安裝)
- 二進位安裝
- 容器安裝,例如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
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>
以上是Lnmp搭建zabbix維運監控系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

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

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

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

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

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

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

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