首頁 > 運維 > linux運維 > 主體

Lnmp搭建zabbix維運監控系統

步履不停
發布: 2019-06-18 13:55:58
原創
3060 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!