1. 程式人生 > >Linux中詳細搭建監控服務zabbix部署

Linux中詳細搭建監控服務zabbix部署

排查 cto 守護 3.4 linux中 末尾 service 分享圖片 lamp

1.Linux服務器安裝zabbix監控平臺

  zabbix是基於web界面的開源分布式監控平臺,可以監控各種服務器的配置參數,支持自定義配置和自定義告警,並且可以實現郵件、短信等方式的告警,zabbix基本組件如下:

  zabbix_server:zabbix服務端守護進程,所有的監控數據都會統一匯總給server

  zabbix_agentd:客戶端守護進程,負責執行server命令,收集客戶端各種參數,如cpu負載,內存,硬盤io等

  zabbix_get:zabbix的一個工具,通常用於從server或者proxy獲取遠程客戶端的信息,以及故障排查等

  zabbix_sender:zabbix的一個工具,用於發送數據給server或者proxy,通常用於耗時比較長的檢查

  zabbix_proxy:zabbix代理守護進程,功能類似server,作為中轉站將收集到的數據轉發給server,主要就是用於分布式集群中分擔server的負擔,構成類似分布式的server架構,但是最終數據還是要提交給server來匯總


2.zabbix組成
zabbix由兩部分組成:zabbix server 與可選組件 zabbix agent
zabbix server 可以通過 SNMP ,zabbix agent, ping , 端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux ,Ubuntu , Solaris , HP-UX , AIX , Free BSD , Open BSD ,OS X 等平臺


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

zabbix主要功能:
~CPU負荷
~內存使用
~磁盤使用
~網絡狀況
~端口監視
~日誌監視


4.zabbix配置文件
zabbix配置文件有兩種:
~服務器端配置文件 (/usr/local/etc/zabbix_server.conf)
~客戶端配置文件 (/usr/local/etc/zabbix_agentd.conf)
~zabbix代理配置文件 (/usr/local/etc/zabbix_proxy.conf)


5.部署zabbix

環境說明:

環境 IP 要安裝的應用
服務器端 192.168.209.12 lamp架構 zabbix server zabbix agent

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


6.實例演示 (zabbix監控搭建分為三步如下操作)

 //關閉防火墻
1.zabbix服務器端安裝
//安裝依賴包
[root@lanzhiyong ~]# yum install -y net-snmp-devel libevent-devel

//下載zabbix
[root@lanzhiyong ~]# cd /usr/src/
[root@lanzhiyong src]# wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.12/zabbix-3.4.12.tar.gz
[root@lanzhiyong src]# tar xf zabbix-3.4.12.tar.gz

//配置zabbix用戶和組
[root@lanzhiyong ~]# groupadd -r zabbix
[root@lanzhiyong ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix

//配置zabbix數據庫
[root@lanzhiyong ~]# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘lanzhiyong‘;
mysql> grant all privileges on zabbix.* to [email protected] identified by ‘lanzhiyong‘;
mysql> flush privileges;
mysql> quit
[root@lanzhiyong ~]# cd /usr/src/zabbix-3.4.12/database/mysql/
[root@lanzhiyong mysql]# ls
data.sql  images.sql  schema.sql
[root@lanzhiyong mysql]# mysql -uzabbix -planzhiyong zabbix < schema.sql 
[root@lanzhiyong mysql]# mysql -uzabbix -planzhiyong zabbix < images.sql
[root@lanzhiyong mysql]# mysql -uzabbix -planzhiyong zabbix < data.sql

//編譯安裝zabbix
[root@lanzhiyong ~]# cd /usr/src/zabbix-3.4.12
[root@lanzhiyong zabbix-3.4.12]# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
[root@lanzhiyong zabbix-3.4.12]# make install

2.zabbix服務端配置
[root@lanzhiyong ~]# ls /usr/local/etc/
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d

//修改服務端配置文件 設置數據庫信息
[root@lanzhiyong ~]# vim /usr/local/etc/zabbix_server.conf
……  
DBPassword=zabbix123!  //設置zabbix數據庫連接密碼

//啟動zabbix_server和zabbix_agentd
[root@lanzhiyong ~]# zabbix_server
[root@lanzhiyong ~]# zabbix_agentd
[root@lanzhiyong ~]# ss -antl
    State      Recv-Q Send-Q      Local Address:Port                     Peer Address:Port              
LISTEN     0      128                     *:80                                  *:*                  
LISTEN     0      128                     *:22                                  *:*                  
LISTEN     0      100             127.0.0.1:25                                  *:*                  
LISTEN     0      128                     *:10050                               *:*                  
LISTEN     0      128                     *:10051                               *:*                  
LISTEN     0      128             127.0.0.1:9000                                *:*                  
LISTEN     0      128                    :::22                                 :::*                  
LISTEN     0      100                   ::1:25                                 :::*                  
LISTEN     0      80                     :::3306                               :::*  

3.zabbix服務端web界面安裝與配置
//修改/etc/php.ini的配置並重啟php-fmp
[root@lanzhiyong ~]#  sed -ri ‘s/(post_max_size =).*/\1 16M/g‘ /etc/php.ini 
[root@lanzhiyong ~]#  sed -ri ‘s/(max_execution_time =).*/\1 300/g‘ /etc/php.ini
[root@lanzhiyong ~]#  sed -ri ‘s/(max_input_time =).*/\1 300/g‘ /etc/php.ini 
[root@lanzhiyong ~]#  sed -i ‘/;date.timezone/a date.timezone = Asia/Shanghai‘ /etc/php.ini
[root@lanzhiyong ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
[root@lanzhiyong ~]# cd /usr/src/zabbix-3.4.12
[root@lanzhiyong zabbix-3.4.12]# ls
[root@lanzhiyong zabbix-3.4.12]# mkdik /usr/local/apache/htdocs/zabbix
[root@lanzhiyong zabbix-3.4.12]# cp -a frontends/php/* /usr/local/apache/htdocs/zabbix/
[root@lanzhiyong zabbix-3.4.12]# chown -R apache.apache /usr/local/apache/htdocs/

//配置apache虛擬主機
//在配置文件的末尾加入下內容:
[root@lanzhiyong ~]# vim /etc/httpd24/httpd.conf 
……
<VirtualHost *:80>
DocumentRoot "/usr/local/apache/htdocs/zabbix"
ServerName zabbix.lanzhiyong.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>

//設置zabbix/conf目錄的權限,讓zabbix有權限生成配置文件zabbix.conf.php
[root@lanzhiyong ~]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@lanzhiyong ~]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxrwxrwx. 2 apache apache 81 7月  30 19:41    /usr/local/apache/htdocs/zabbix/conf

//重啟apache
[root@lanzhiyong ~]# apachectl -t
Syntax OK
[root@lanzhiyong ~]# apachectl stop
[root@lanzhiyong ~]# apachectl start
[root@lanzhiyong ~]# ss -antl
State      Recv-Q Send-Q      Local Address:Port                     Peer Address:Port              
LISTEN     0      128                     *:80                                  *:*                  
LISTEN     0      128                     *:22                                  *:*                  
LISTEN     0      100             127.0.0.1:25                                  *:*                  
LISTEN     0      128                     *:10050                               *:*                  
LISTEN     0      128                     *:10051                               *:*                  
LISTEN     0      128             127.0.0.1:9000                                *:*                  
LISTEN     0      128                    :::22                                 :::*                  
LISTEN     0      100                   ::1:25                                 :::*                  
LISTEN     0      80                     :::3306                               :::* 

7.安裝zabbix web 界面 (驗證)

  ~修改/etc/hosts 文件,添加域名與IP映射

技術分享圖片

 ~在瀏覽器上訪問域名,本文設置的域名為zabbix.lanzhiyong.com
 在瀏覽器上輸入域名 zabbix.lanzhiyong.com 訪問
zabbix默認登入用戶和密碼:
用戶名 密碼
Admin zabbix

技術分享圖片

 最後回復zabbix/conf目錄的權限為755:
 [root@lanzhiyong ~]# chmod 755 /usr/local/apache/htdocs/zabbix/conf
 [root@lanzhiyong ~]# ll -d /usr/local/apache/htdocs/zabbix/conf
 drwxr-xr-x. 2 apache apache 104 8月  21 15:03 /usr/local/apache/htdocs/zabbix/conf

Linux中詳細搭建監控服務zabbix部署