部署zabbix

源碼下載地址:

Download Zabbix sources

nginx: download

防火墻和selinux都需要關閉

1、部署監控服務器

1)安裝LNMP環境

Zabbix監控管理控制臺需要通過Web頁面展示出來,并且還需要使用MySQL來存儲數據,因此需要先為Zabbix準備基礎LNMP環境。

[root@zabbixserver ~]# yum -y install gcc pcre-devel? openssl-devel

[root@zabbixserver ~]# tar -xf nginx-1.12.2.tar.gz

[root@zabbixserver ~]# cd nginx-1.12.2

[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module

[root@zabbixserver nginx-1.12.2]# make &&make install

[root@zabbixserver ~]# yum -y? install? php? php-mysql? php-fpm(注意,在centos8stream里沒有php-mysql,需要安裝php-mysqlnd

[root@zabbixserver ~]# yum -y? install? mariadb? mariadb-devel? mariadb-server

2)修改Nginx配置文件

配置Nginx支持PHP動態網站,因為有大量PHP腳本需要執行,因此還需要開啟Nginx的各種fastcgi緩存,加速PHP腳本的執行速度。

[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf

… …

http{

… …

????fastcgi_buffers 816k;????????? ????#緩存php生成的頁面內容,8個16k

????fastcgi_buffer_size 32k;????????? ????#緩存php生產的頭部信息,32k

????fastcgi_connect_timeout 300;????#連接PHP的超時時間,300

????fastcgi_send_timeout 300;???????? ????#發送請求的超時時間,300

????fastcgi_read_timeout 300;??????? ????#讀取請求的超時時間,300

location ~\.php$ {

???? root?????????? html;

???? fastcgi_pass?? 127.0.0.1:9000;

???? fastcgi_index? index.php;

???? include??????? fastcgi.conf;#[注意這里別出錯]

}

… …

3)啟動服務

啟動Nginx、PHP-FPM、MariaDB服務,關閉SELinux與防火墻。

[root@zabbixserver ~]# systemctl start? mariadb????????#啟動服務

[root@zabbixserver ~]# systemctl start? php-fpm????????#啟動服務

[root@zabbixserver ~]# systemctl enable? mariadb????????#設置開機自啟

[root@zabbixserver ~]# systemctl enable? php-fpm????????#設置開機自啟

[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx????????#啟動服務

[root@zabbixserver ~]# echo /usr/local/nginx/sbin/nginx? >>/etc/rc.local

[root@zabbixserver ~]# chmod +x /etc/rc.local

#通過rc.local設置開機自啟

[root@zabbixserver ~]# firewall-cmd --set-default-zone=trusted

[root@zabbixserver ~]# setenforce 0

[root@zabbixserver ~]# sed -i '/SELINUX/s/enforcing/permissive/'/etc/selinux/config

?注意:

在這里,需要驗證一下php是否正常啟動了:

ss -ntulp | grep php

如果沒有輸出,則需要修改php-fpm的配置:

[root@proxy etc]# vim /etc/php-fpm.d/www.conf

[www]

listen =127.0.0.1:9000????????????//PHP端口號

pm.max_children =32????????????????//最大進程數量

pm.start_servers =15????????????????//最小進程數量

2、部署監控服務器Zabbix Server

1)源碼安裝Zabbix Server

多數源碼包都是需要依賴包的,zabbix也一樣,源碼編譯前需要先安裝相關依賴包。

[root@zabbixserver ]# yum -y install? net-snmp-devel \

curl-devel autoconf libevent-devel

#安裝相關依賴包

[root@zabbixserver]# tar -xf zabbix-3.4.4.tar.gz

[root@zabbixserver ]# cd zabbix-3.4.4/

[root@zabbixserver zabbix-3.4.4]# ./configure? --enable-server \

--enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \

--with-net-snmp --with-libcurl

# --enable-server安裝部署zabbix服務器端軟件

# --enable-agent安裝部署zabbix被監控端軟件

# --enable-proxy安裝部署zabbix代理相關軟件

# --with-mysql指定mysql_config路徑

# --with-net-snmp允許zabbix通過snmp協議監控其他設備(如交換機、路由器等)

# --with-libcurl安裝相關curl庫文件,這樣zabbix就可以通過curl連接http等服務,測試被監控主機服務的狀態

[root@zabbixserver zabbix-3.4.4]# make &&make install

2)創建并初始化數據庫(root用戶默認沒有密碼)

[root@zabbixserver ~]# mysql

mysql>create database zabbix character set utf8;

#創建數據庫,數據庫名稱為zabbix,character set utf8是支持中文字符集

mysql>grant all on zabbix.*to zabbix@'localhost'identified by 'zabbix';

#創建可以訪問數據庫的賬戶與密碼,用戶名是zabbix,密碼是zabbix

mysql>exit

#退出數據庫

[root@zabbixserver ~]# cd zabbix-3.4.4/database/mysql/

[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix <schema.sql

[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix <images.sql

[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix <data.sql

#剛剛創建是空數據庫,zabbix源碼包目錄下,有提前準備好的數據

#使用mysql導入這些數據即可(注意導入順序)

如果導入有如下問題:

[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql ERROR 1118 (42000) at line 1244: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.

修改my.cnf文件,添加或修改以下參數([root@zabbix mysql]# ls /etc/my.cnf):

innodb_file_per_table=1

innodb_file_format=Barracuda

innodb_strict_mode=0

?

#-u指定數據庫用戶名,-p指定數據庫密碼

如何測試?

[root@zabbixserver ~]# mysql -uzabbix -pzabbix -h localhost zabbix

#-u指定用戶名,-p指定密碼,-h指定服務器IP,最后的zabbix是數據庫名稱

#使用zabbix賬戶(密碼為zabbix)連接localhost服務器上面的zabbix數據庫

mysql>show tables;

#查看有沒有數據表

mysql>exit

#退出數據庫

?

3)修改zabbix_server配置并啟動監控服務

修改Zabbix_server配置文件,設置數據庫相關參數,啟動Zabbix_server服務

[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf

DBHost=localhost

# 85行,定義哪臺主機為數據庫主機,localhost為本機

DBName=zabbix

#95行,設置數據庫名稱

DBUser=zabbix

#111行,設置數據庫賬戶

DBPassword=zabbix

#119行,設置數據庫密碼

LogFile=/tmp/zabbix_server.log????

#38行,日志的位置,排錯使用,該行僅查看即可

AllowUnsupportedDBVersions=1

?

[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix

#服務不允許以root身份啟動,不創建用戶無法啟動服務(用戶不需要登錄系統)

#創建zabbix用戶才可以以zabbix用戶的身份啟動服務

#啟動服務后可以通過ps aux查看進程是以什么用戶的身份啟動的

?

通過創建service文件管理zabbix服務。

[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_server.service

[Unit]

Description=zabbix server

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/tmp/zabbix_server.pid

ExecStart=/usr/local/sbin/zabbix_server

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

[root@zabbixserver ~]# systemctl? enable? zabbix_server? --now

[root@zabbixserver ~]# ss -ntulp |grep zabbix_server???? #確認連接狀態,端口10051

tcp LISTEN 0128*:10051*:*users:(("zabbix_server",pid=23275,fd=4),("zabbix_server",pid=23274,fd=4)

4) 修改Zabbix_agent配置文件,啟動Zabbix_agent服務

[root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.2.5????????????#93行,允許哪些主機監控本機

ServerActive=127.0.0.1,192.168.2.5????????#134行,允許哪些主機通過主動模式監控本機

Hostname=zabbix_server????????????????#145行,設置本機主機名(名稱可以任意)

LogFile=/tmp/zabbix_agentd.log????????????#設置日志文件(不需要修改)

UnsafeUserParameters=1????????????????#280行,是否允許自定義監控傳參

編寫zabbix_agentd的service文件,通過systemd管理服務。

[root@zabbixserver ~]#? vim /usr/lib/systemd/system/zabbix_agentd.service

[Unit]

Description=zabbix agent

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/tmp/zabbix_agentd.pid

ExecStart=/usr/local/sbin/zabbix_agentd

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

[root@zabbixserver ~]# systemctl enable? zabbix_agentd?? --now

[root@zabbixserver ~]# ss -ntulp |grep zabbix_agentd?? #查看端口信息為10050

tcp??? LISTEN???? 0128*:10050*:*users:(("zabbix_agentd",pid=23505,fd=4),("zabbix_agentd",pid=23504,fd=4)

5)上線Zabbix的Web頁面

[root@zabbixserver ~]# cd zabbix-3.4.4/frontends/php/

[root@zabbixserver php]# cp -r */usr/local/nginx/html/

[root@zabbixserver php]# chown -R? apache.apache /usr/local/nginx/html/

#這里修改所有者使用:或者.都可以。

#修改權限的原因如下:

#php-fpm的賬戶是apache,后面我們需要讓php-fpm對網站目錄具有讀寫操作,

#而/usr/local/nginx/html默認是root所有,僅root具有寫權限,php-fpm無寫權限

瀏覽器訪問Zabbix_server服務器的Web頁面

火狐瀏覽器訪問【 firefox http://192.168.2.5/index.php

#第一次訪問,初始化PHP頁面會檢查計算機環境是否滿足要求,如果不滿足會給出修改建議

#默認會提示PHP的配置不滿足環境要求,需要修改PHP配置文件

根據錯誤提示,安裝依賴、修改PHP配置文件,滿足Zabbix_server的環境要求。

[root@zabbixserver ~]# yum -y install? php-gd? php-xml

[root@zabbixserver ~]# yum -y install? php-bcmath? php-mbstring

[root@zabbixserver ~]# vim /etc/php.ini

date.timezone =Asia/Shanghai????????????????#878行,設置時區

max_execution_time =300????????????????????#384行,最大執行時間,秒

post_max_size =32M????????????????????????#672行,POST數據最大容量

max_input_time =300????????????????????????#394行,服務器接收數據的時間限制

[root@zabbixserver ~]# systemctl restart php-fpm

3、部署被監控主機Zabbix Agent

1)源碼安裝Zabbix agent軟件

在2.100和2.200做相同操作(以web1為例)。

[root@web1 ~]# useradd -s /sbin/nologin? zabbix

[root@web1 ~]# yum -y install gcc pcre-devel autoconf

[root@web1 ~]# tar -xf zabbix-3.4.4.tar.gz

[root@web1 ~]# cd zabbix-3.4.4/

[root@web1 zabbix-3.4.4]# ./configure --enable-agent

[root@web1 zabbix-3.4.4]# make &&make install

2)修改agent配置文件,啟動Agent

[root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.2.5????????????????#93行,誰可以監控本機(被動監控模式)

ServerActive=127.0.0.1,192.168.2.5????????????#134行,誰可以監控本機(主動監控模式)

Hostname=web1??????????????????? ????????????????#145行,被監控端自己的主機名

EnableRemoteCommands=1????

#69行,監控異常后,是否允許服務器遠程過來執行命令,如重啟某個服務

UnsafeUserParameters=1????????????????????#280行,是否允許自定義key傳參

[root@web1 ~]# firewall-cmd --set-default-zone=trusted

[root@web1 ~]# sed -i? '/SELINUX/s/enforcing/permissive/'/etc/selinux/config

[root@web1 ~]# setenforce 0

[root@web1 ~]# vim /usr/lib/systemd/system/zabbix_agentd.service

[Unit]

Description=zabbix agent

After=network.target remote-fs.target nss-lookup.target

[Service]

Type=forking

PIDFile=/tmp/zabbix_agentd.pid

ExecStart=/usr/local/sbin/zabbix_agentd

ExecStop=/bin/kill $MAINPID

[Install]

WantedBy=multi-user.target

[root@web1 ~]# systemctl enable? zabbix_agentd?? --now

#啟動服務器并設置開機自啟動

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/206694.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206694.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206694.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue的el

類型&#xff1a;string | Element 限制&#xff1a; 只在用 new 創建實例時生效。 詳細&#xff1a; 提供一個在頁面上已存在的 DOM 元素作為 Vue 實例的掛載目標。可以是 CSS 選擇器&#xff0c;也可以是一個 HTMLElement 實例。 在實例掛載之后&#xff0c;元素可以用 vm.…

Java創建線程有哪幾種方式?

Java創建線程有哪幾種方式&#xff1f; 在 Java 中&#xff0c;創建線程有多種方式&#xff0c;主要包括使用 Thread 類和實現 Runnable 接口。以下是幾種常見的創建線程的方式&#xff1a; 繼承 Thread 類&#xff1a; 通過繼承 Thread 類并重寫 run 方法來創建線程。 class …

如何使用eXtplorer+cpolar內網穿透搭建個人云存儲實現公網訪問

文章目錄 1. 前言2. eXtplorer網站搭建2.1 eXtplorer下載和安裝2.2 eXtplorer網頁測試2.3 cpolar的安裝和注冊 3.本地網頁發布3.1.Cpolar云端設置3.2.Cpolar本地設置 4.公網訪問測試5.結語 1. 前言 通過互聯網傳輸文件&#xff0c;是互聯網最重要的應用之一&#xff0c;無論是…

關于互聯網安全方面需要了解的一些知識

關于互聯網安全方面需要了解的一些知識 文章目錄 關于互聯網安全方面需要了解的一些知識一、資產掃描二、漏洞掃描三、滲透測試四、POC五、Exp六、代碼規范七、函數命名八、注釋怎么寫 一、資產掃描 資產掃描是一種通過掃描網絡或系統中所有設備、應用程序和服務&#xff0c;識…

PHP escapeshellarg()+escapeshellcmd()繞過

文章目錄 函數利用escapeshellarg()函數escapeshellcmd()函數 exp執行原理攻擊面例題 [BUUCTF 2018]Online Tool例題 [網鼎杯 2020 朱雀組]Nmap 函數利用 escapeshellarg()函數 單引號 ()&#xff1a;轉義為 \。 雙引號 (")&#xff1a;轉義為 \"。 反斜杠 (\)&…

HTTP不同場景下的通信過程和用戶上網認證過程分析

目錄 HTTP不同場景的通信過程 HTTP正常交互過程 HTTP透明加速傳輸過程 HTTP代理服務器場景下交互過程 通過AC對上網用戶不同場景的認證過程 AC上網認證正常交互過程 通過Cookie實現免認證交互過程 代理服務器場景下HTTP密碼認證交互過程 HTTP不同場景的通信過程 HTTP、…

專業130+總分400+云南大學通信847專業基礎綜考研經驗(原專業課827)

今年專業130總分400云南大學通信上岸&#xff0c;整體考研感覺還是比較滿意&#xff0c;期間也付出了很多心血&#xff0c;走過彎路&#xff0c;下面分享一下這一年考研得失&#xff0c;希望大家可以從中有所借鑒。 先說明我在考研報名前更換成云南大學的理由&#xff1a;&…

谷歌正式發布最強 AI 模型 Gemini

2023年12月6日&#xff0c;谷歌公司宣布推出其被認為是規模最大、功能最強大的人工智能模型 Gemini。 Gemini將分為三個不同的套件&#xff1a;Gemini Ultra、Gemini Pro和Gemini Nano。 Gemini Ultra被認為具備最強大的能力&#xff0c;Gemini Pro則可擴展至多任務&#x…

xilinx原語詳解及仿真——ODDR

ODDR位于OLOGIC中&#xff0c;可以把單沿傳輸的數據轉換為雙沿傳輸的數據&#xff0c; 在講解ODDR功能之前&#xff0c;需要先了解OLOGIC的結構及功能。 1、OLOGIC OLOGIC塊位于IOB的內側&#xff0c;FPGA內部信號想要輸出到管腳&#xff0c;都必須經過OLOGIC。OLOGIC資源的類…

CleanMyMac4.16中文最新版本下載

當很多人還在為電腦運行緩慢、工作問題不能快速得到解決而煩惱的時候&#xff0c;我已經使用過了多款系統清理工具&#xff0c;并找到了最適合我的那一款。我的電腦是超耐用的Mac book&#xff0c;接下來給大家介紹三種在眾多蘋果電腦清理軟件的排名較高的軟件。 一、Maintena…

【ET8】0.ET8入門-ET框架介紹

ET8 新特性 多線程多進程架構,架構更加靈活強大&#xff0c;多線程設計詳細內容請看多線程設計課程抽象出纖程(Fiber)的概念&#xff0c;類似erlang的進程&#xff0c;非常輕松的創建多個纖程&#xff0c;利用多核&#xff0c;仍然是單線程開發的體驗纖程調度: 主線程&#xf…

首次面試經歷(忘指導)當我在簡歷上寫了蒼穹外賣,瑞吉外賣時……

&#x1f308;鍵盤敲爛&#xff0c;年薪30萬&#x1f308; 個人簡介: 大三在校生&#xff0c;二本院校&#xff0c;專業&#xff1a;信息管理與信息系統 面試崗位&#xff1a; java開發實習生 投”簡歷“ 臨近大三寒假&#xff0c;很早就有實習想法的我&#xff0c;對12月做…

一篇文章了解JDK的前世今生

我們每天都在開發Java,每天都在使用JDK,那么我們了解JDK的發展史嗎,這篇文章將帶你深入了解JDK的發展史。 JDK(Java Development Kit)是Java開發者工具包,是用于編寫Java程序和運行Java程序的軟件開發工具集。自從1995年Java語言首次發布以來,JDK已經經歷了數十年的發展…

python打開相機,用鼠標左鍵框選矩形區域,支持一次框選多個矩形區域,通過鼠標右標清除上一次畫的矩形。

方案一 import cv2# Global variables rectangles [] current_rectangle [] drawing False# Mouse callback function def mouse_callback(event, x, y, flags, param):global rectangles, current_rectangle, drawingif event cv2.EVENT_LBUTTONDOWN:drawing Truecurren…

C語言——常用庫函數

C語言——常用庫函數 memcmp int my_memcmp(char* str1,char* str2,int num) {while(num--){if(*str1>*str2){return 1;}else if(*str1<*str2){return -1;}else{str1;str2;}}return 0; }memcpy void* my_memcpy(void *str1,void *str2,int size) {int *p1str1;int *p2…

Linux數據庫Mysql增刪改查

從安裝數據庫到增刪改查 apt install mariadb-serverUndefined 安裝好后初始化 mysql_secure_installationUndefined 查 查詢現有的庫 show databases;SQL 進入庫 use mysql;Perl 查詢表 show tables;SQL 查詢表結構 desc mysql;SQL 查詢表內容 select * from my…

深度學習TensorFlow2基礎知識學習后半部分

介紹幾個重要操作&#xff1a; 1.范數 a tf.fill([1,2], value2.) b tf.norm(a)# 二范數#第二種計算方法 # 計算驗證 a tf.square(a) log("a的平方:", a) a tf.reduce_sum(a) log("a平方后的和:", a) b tf.sqrt(a) log("a平方和后開根號:"…

NVIDIA與 Sparkfun 的合作伙伴在 Hackster.io 上發起了人工智能創新挑戰賽,喊你來參加!

NVIDIA與 Sparkfun 的合作伙伴在 Hackster.io 上發起了人工智能創新挑戰賽&#xff0c;喊你來參加&#xff01; 本次競賽的目標旨在吸引開發者社區在 NVIDIA Jetson Orin 平臺上為邊緣構建生成式 AI 應用程序和模型&#xff0c;希望通過本次比賽提高人們對新 Jetson 生成式 AI…

Python微信公眾號批量發布文章問題記錄,調用api接口發草稿箱編碼有問題

1、accesstoken獲取方法 def get_access_token():url https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential&appid{}&secret{}.format(*****************, ***********)response requests.get(url)res_html response.json()access_token res_ht…

四元數,歐拉角,旋轉矩陣,旋轉向量

四元數&#xff0c;旋轉矩陣&#xff0c;旋轉向量&#xff0c;歐拉角 一、歐拉角 1、歐拉角是表達旋轉的最簡單的一種方式&#xff0c;形式上它是一個三維向量&#xff0c;其值分別代表物體繞坐標系三個軸(x,y,z軸&#xff09;的旋轉角度&#xff0c;默認旋轉正向為逆坐標軸逆…