zabbix簡介與部署

来源:https://www.cnblogs.com/lynk/archive/2019/02/22/10419899.html
-Advertisement-
Play Games

zabbix介紹 zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。 zabbix能監視各種網路參數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。 zabbix由2部分構成,zabbix server與可選組件z ...


zabbix介紹

zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。

zabbix能監視各種網路參數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

zabbix由2部分構成,zabbix server與可選組件zabbix agent。

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

zabbix agent需要安裝在被監視的目標伺服器上,它主要完成對硬體信息或與操作系統有關的記憶體,CPU等信息的收集。

zabbix server可以單獨監視遠程伺服器的服務狀態;同時也可以與zabbix agent配合,可以輪詢zabbix agent主動接收監視數據(agent方式),同時還可被動接收zabbix agent發送的數據(trapping方式)。
另外zabbix server還支持SNMP (v1,v2),可以與SNMP軟體(例如:net-snmp)等配合使用。

zabbix特點

zabbix的主要特點:

  • 安裝與配置簡單,學習成本低
  • 支持多語言(包括中文)
  • 免費開源
  • 自動發現伺服器與網路設備
  • 分散式監視以及WEB集中管理功能
  • 可以無agent監視
  • 用戶安全認證和柔軟的授權方式
  • 通過WEB界面設置或查看監視結果
  • email等通知功能

Zabbix主要功能:

  • CPU負荷
  • 記憶體使用
  • 磁碟使用
  • 網路狀況
  • 埠監視
  • 日誌監視

zabbix配置文件

zabbix配置文件有兩種:

  • 伺服器端配置文件(/usr/local/etc/zabbix_server.conf)
  • 客戶端配置文件(/usr/local/etc/zabbix_agentd.conf)
  • zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)

伺服器端配置文件zabbix_server.conf常用配置參數:

參數 作用
LogFile 設置服務端日誌文件存放路徑
ListenIP 設置服務端監聽IP
ListenPort 設置服務端監聽的埠號
PidFile 設置服務端進程號文件存放路徑
DBHost 指定zabbix的資料庫伺服器IP
DBName 指定zabbix使用的資料庫庫名
DBUser 指定zabbix資料庫登錄用戶
DBPassword 指定zabbix資料庫登錄密碼
DBPort 指定zabbix資料庫埠號
User 設置zabbix以什麼用戶的身份運行
AlertScriptsPath 設置告警腳本存放路徑
ExternalScripts 外部腳本存放路徑

客戶端配置文件zabbix_agentd.conf常用配置參數:

參數 作用
Server 指定zabbix伺服器的IP或功能變數名稱
ServerActive 指定zabbix伺服器的IP或功能變數名稱
Hostname 指定本機的主機名,此項必須與web界面配置項一致
UnsafeUserParameters 是否啟用自定義監控項,可選值為{1/0}
UserParameter 指定自定義監控腳本參數
LogFile 設置客戶端日誌文件存放路徑

部署zabbix

參考於Zabbix 產品手冊
環境說明:

  • 伺服器
    • lamp架構
    • zabbix server
    • zabbix agent
  • 客戶端
    • zabbix agent

因為zabbix是用php語言開發的,所以必須先部署lamp架構,使其能夠支持運行php網頁

zabbix服務端安裝

[root@lynk ~]# yum -y install net-snmp-devel libevent-devel
[root@lynk ~]# cd /usr/src/
[root@lynk src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
[root@lynk src]# tar xf zabbix-4.0.3.tar.gz
[root@lynk src]# groupadd -r zabbix
[root@lynk src]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
[root@lynk src]# mysql -uroot -p
Enter password: 
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.08 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123!';
Query OK, 0 rows affected, 2 warnings (0.17 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.20 sec)

mysql> quit
Bye

[root@lynk src]# cd /usr/src/zabbix-4.0.3/database/mysql/
[root@lynk mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lynk mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lynk mysql]# mysql -uzabbix -pzabbix123! zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@lynk mysql]# cd /usr/src/zabbix-4.0.3
[root@lynk zabbix-4.0.3]# ./configure --enable-server \
--enable-agent \
--with-mysql \
--with-net-snmp \
--with-libcurl \
--with-libxml2
[root@lynk zabbix-4.0.3]# make install

zabbix服務端配置

[root@lynk zabbix-4.0.3]# vim /usr/local/etc/zabbix_server.conf
#設置服務端密碼
DBPassword=zabbix123!
[root@lynk zabbix-4.0.3]# zabbix_server
[root@lynk zabbix-4.0.3]# zabbix_agentd

zabbix服務端web界面安裝與配置

[root@lynk zabbix-4.0.3]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@lynk zabbix-4.0.3]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@lynk zabbix-4.0.3]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@lynk zabbix-4.0.3]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@lynk zabbix-4.0.3]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@lynk zabbix-4.0.3]# mkdir /usr/local/apache/htdocs/zabbix
[root@lynk zabbix-4.0.3]# cp -a frontends/php/* /usr/local/apache/htdocs/zabbix/
[root@lynk zabbix-4.0.3]# chown -R apache.apache /usr/local/apache/htdocs

#配置apache虛擬主機
[root@lynk zabbix-4.0.3]# cat >> /etc/httpd24/httpd.conf << EOF
<VirtualHost *:80>
    DocumentRoot "/usr/local/apache/htdocs/zabbix"
    ServerName zabbix.lynk.com
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
    <Directory "/usr/local/apache/htdocs/zabbix">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>
EOF

#設置zabbix/conf目錄的許可權,讓zabbix有許可權生成配置文件zabbix.conf.php
[root@lynk zabbix-4.0.3]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@lynk zabbix-4.0.3]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxrwxrwx. 2 apache apache 81 12月 20 19:24 /usr/local/apache/htdocs/zabbix/conf
[root@lynk zabbix-4.0.3]# apachectl -t
Syntax OK
[root@lynk zabbix-4.0.3]# apachectl stop
[root@lynk zabbix-4.0.3]# apachectl start

安裝zabbix web界面

  1. 修改hosts文件,本文設置的功能變數名稱為zabbix.lynk.com,請修改為自己的
  2. 登錄到zabbix.lynk.com,按照提示進行設置,註意BD的密碼
  3. 完成安裝後,將會要求登陸,預設的登陸用戶名為Admin,密碼為zabbix
  4. 恢復/zabbix/conf目錄許可權為775
[root@lynk zabbix-4.0.3]# chmod 755 /usr/local/apache/htdocs/zabbix/conf

安裝zabbix-agent

#安裝編譯器
[root@Hyrule ~]# yum -y install gcc gcc-c++
#安裝開發環境
[root@Hyrule ~]# yum -y install net-snmp-devel libevent-devel
[root@Hyrule src]# yum -y install pcre-devel openssl-devel

#安裝zabbix-agent
[root@Hyrule ~]# cd /usr/src/
[root@Hyrule src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
[root@Hyrule src]# tar xf zabbix-4.0.3.tar.gz
[root@Hyrule src]# groupadd -r zabbix
[root@Hyrule src]# useradd -r -g zabbix -M -s /sbin/nologin zabbix
[root@Hyrule src]# cd zabbix-4.0.3
[root@Hyrule zabbix-4.0.3]# ./configure --enable-agent
[root@Hyrule zabbix-4.0.3]# make install
[root@Hyrule zabbix-4.0.3]# cd /usr/local/etc/
[root@Hyrule etc]# vim zabbix_agentd.conf
#修改以下內容:
Server=zabbix Server端的IP
ServerActive=zabbix Server端的IP
Hostname=agent端的名字
#啟動agent端
[root@Hyrule etc]# zabbix_agentd
[root@Hyrule etc]# ss -antl
State       Recv-Q Send-Q        Local Address:Port                       Peer Address:Port              
LISTEN      0      128                       *:22                                    *:*                  
LISTEN      0      100               127.0.0.1:25                                    *:*                  
LISTEN      0      128                       *:10050                                 *:*                  
LISTEN      0      128                      :::22                                   :::*                  
LISTEN      0      100                     ::1:25                                   :::*               
#看到10050埠(預設)開啟代表啟動成功

解決中文亂碼問題

#將字體文件(tff)放到/usr/local/apache/htdocs/zabbix/fonts/
#修改字體文件許可權,比如我是微軟雅黑MSYH.tff
[root@lynk ~]# chmod 644 /usr/local/apache/htdocs/zabbix/fonts/MSYH.ttf 
[root@lynk ~]# chown apache.apache /usr/local/apache/htdocs/zabbix/fonts/MSYH.ttf 
#修改配置文件,將所有的DejaVuSans修改為你的字體名稱,如MSYH
[root@lynk ~]# sed -i 's/DejaVuSans/MSYH/g' /usr/local/apache/htdocs/zabbix/include/defines.inc.php
#重啟zabbix
[root@localhost zabbix]# pkill zabbix
[root@localhost zabbix]# zabbix_server
[root@localhost zabbix]# zabbix_agentd

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

-Advertisement-
Play Games
更多相關文章
  • 背景 筆者最近在閱讀《React+Antd共用單車通用後臺管理系統》相關的視頻和筆記,剛好看到項目工程化環節。視頻里簡要介紹了項目工程化的由來和作者項目工程化的一些手段。筆者本人是後臺開發者,由此產生了一些聯想和思考。 背景 筆者最近在閱讀《React+Antd共用單車通用後臺管理系統》相關的視頻和 ...
  • K2流程製作註意事項 1:分析需求 2:實施 步驟1:繪製流程圖 步驟2:添加datafield【必備:ActJumped IsPass】 步驟3:添加線規則(如下圖所示,在添加完畢規則之後,再給同意這條線下添加ActJumped=Jumped) 步驟4:添加dll 步驟5:部署,這時候不用點擊生成 ...
  • 接下來就要說說應用 Asp.Net Core 的特性(跨平臺),將 .NetCore 部署到 Linux 中,主流的 Linux 有多個版本的操作系統,這裡以 Centos-7.5 為例子 ...
  • 0.安裝步驟預覽(1)系統預設自帶python2.x,所以需要先安裝python3.x(2)python2對應pip,python3對應pip3,用源碼安裝python3後pip3也自動安裝了(3)用pip3安裝virtualenv(4)用virtualenv創建python3的虛擬環境(5)在創建 ...
  • 1. 打開CMD,輸入以下命令 1 ipconfig -all 2. 設置主機Wi-Fi網路對VMnet8虛擬網卡的網路共用 3. 虛擬機NAT模式配置 4. 配置虛擬機網卡信息 切換到ROOT 1 cd /etc/sysconfig/network-scripts 2 vi ifcfg-eth0 ...
  • Active Directory 域服務安裝與測試 實驗原理: 安裝域服務並創建用戶,把另一個電腦加入域中,然後用域賬戶登錄以及用本地賬戶登錄測試 實驗條件:windows server 2008(域控制器), win7(加入域的pc) 實驗步驟: 一、安裝域服務以及配置信息 1.打開”服務管理器” ...
  • 一、安裝 1.檢查gcc環境 執行命令,如果Linux系統沒有安裝gcc編譯器,會提示“Command not found” # gcc -v 安裝gcc # yum -y install gcc 以上是make需要的,不裝會報錯! 2.下載Redis # cd /usr/local # wget ...
  • 一、文件許可權 使用 ls -l 命令可以查看文件的具體屬性: 如圖所示,第一列所示告訴了用戶一個文件的類型和許可權信息: 1)第一個字元 "d",表明該文件是一個目錄文件; 2)r 表示該文件具有可讀許可權; 3)w 表示該文件具有寫許可權; 4)x 表示該文件具有可執行許可權。 5)第一個 rwx 表示該 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...