91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

部署Zabbix監控

發布時間:2020-08-04 21:22:27 來源:網絡 閱讀:493 作者:筱振 欄目:系統運維

監控對于運維來說,相當重要,可以稱為是運維人員的眼。一個良好的監控系統可以幫助運維人員快速的找到問題的根源,減少宕機的時間,提高故障處理速度。由此就看可以看出,身為運維人員,掌握常見的監控軟件的使用是最基本的技能之一。

一、Zabbix概述

1)Zabbix簡介

Zabbix是一個基于web界面的提供分布式系統監控以及網絡監控功能的企業級開源運維平臺,也是目前國內互聯網后用戶中使用最廣的監控軟件,大概85%以上企業在使用zabbix做監控解決方案。Zabbix的入門容易、上手簡單,功能強大并且開源免費,zabbix易于管理和配置,能生成比較漂亮的數據圖,其自動發現功能大大減輕日常管理的工作量,豐富的數據采集方式和API接口可以讓用戶靈活進行數據采集,而分布式系統架構可以支持監控更多的設備,理論上,通過zabbix提供的插件式架構,可以滿足企業的任何需求(部分插件功能會收費)。

2)常用的監控軟件的優、缺點

常見的監控工具有:Zabbix、nagios、cacti,本次博文只簡單介紹這三種,各自的優、缺點如下:

(1)Zaabix

優點:

  • 1)支持多平臺的企業級分布式開源監控軟件(redhat、centos、Ubuntu、Debian);
  • 2)安裝部署簡單,多種數據采集插件靈活集成;
  • 3)功能強大、可實現復雜多條件告警;
  • 4)自帶畫圖功能,得到的數據可以繪制成圖形,以圖像更直觀的展示;
  • 5)提供多種api接口,支持調用腳本;
  • 6)出現問題時可以自動遠程執行命令(需要agent設置執行權限);
    缺點:
  • 1)項目批量修改不方便;
  • 2)系統級別報警設置相對比較多,如果篩選的話報警郵件比較多,并且自定義的項目需要自己設置,過程比較繁瑣(可以去網上導入別人模板來進行修改);
  • 3)缺少數據匯總功能,如果無法查看一組服務器平均值,需要二次開發;
  • 4)客戶端需要安裝zabbix agent程序;
(2)Nagios

Ngios 是一款開源的企業級監控系統,能夠實現對系統cou、磁盤、網絡等硬件方面參數的基本監控,以及smtp、pop3等各種基本的服務類型,另外通過安裝插件和編寫監控腳本,用戶可以實現應用監控(功能比zabbix弱)

優點:

  • 1)出錯的服務器、應用和設備會自動重啟,自動日志滾動;
  • 2)配置靈活,可以自定義shell腳本,通過分布式監控模式;
  • 3)支持以冗余方式進行主機監控,報警設置多樣;
  • 4)命令重新加載配置文件無需打擾Nagios的運行;
    缺點:
  • 1)事件控制臺功能很弱,插件易用性差;
  • 2)對性能、流量等指標的處理不給力;
  • 3)看不到歷史數據,只能看到報警事件,很難追查故障原因;
  • 4)配置復雜,初學者投入的時間、精力和成本比較大;
(3)Cacti

由于Zabbix的出現,這種技術已經被淘汰了,可能對于工作時間較久的會有所了解,這也就不多介紹了!

4)Zabbix的功能

Zabbix具有以下功能:

  • 1)具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫、性能監控、FTP 等通用協議監控、多種告警方式、詳細的報表圖表繪制);
  • 2)支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現);
  • 3)支持自動發現(low discovery)key 實現動態監控項的批量監控(需寫腳本);
  • 4)支持分布式,能集中展示、管理分布式的監控點 ;
  • 5)擴展性強,server 提供通用接口(api 功能),可以自己開發完善各類監控(根據相關接口編寫程序實現)編寫插件容易,可以自定義監控項,報警級別的設置;
  • 6)服務器/代理和客戶端模式; 靈活的觸發器;可以定義非常靈活的問題閾值,稱為觸發器; 高可定制的報警;發送通知,可定制的報警升級,收件人,媒體類型。 CPU 負荷、內存使用、磁盤使用、網絡狀況、端口監視、日志監視等等;

4)Zabbix的監控原理

Zabbix通過c/s模式采集數據,通過b/s模式在web端展示和配置。

被控制端:主機通過安裝agent方式采集數據,網絡設備通過snmp方式采集數據;
Server端:通過收集snmp和agent發送的數據,寫入數據庫,再通過php+nginx(或者apache)在web前端顯示;

5)Zabbix的組成

zabbix主要由以下幾個重要的組件構成,具體作用如下:

  • Zabbix Server:負責接收Agent發送報告信息的核心組件,所有的配置、數據統計、數據操作都由它組織進行;
  • Database strongage:負責存儲所有的配置信息以及收集的數據;
  • Web interface:是zabbix的GUI接口,通常情況下與Zabbix Server運行在同一臺主機上;
  • Proxy:屬于可選組件,常用于分布式監控環境中,代理Server收集部分數據,然后轉發到Server,可以減輕Server的壓力;
  • Agent:部署在被監控的主機(客戶端)上,負責收集被監控端主機的數據,如CPU、內存、數據庫等數據,然后發送到Server端或Proxy端。

6)Zabbix運行流程

1)Agent需要安裝到被監控的主機上,她負責定期收集各項數據并發送到zabbix server 端;
2)zabbix server將數據存儲到數據庫中,zabbix web根據數據在前端進行展現和繪圖;

agent收集數據分為主動和被動兩種模式:
主動:agent請求server獲取主動的監控項列表,并主動將監控向內檢測的數據提交給server/proxy;
被動:server向agent請求獲取監控項的數據,agent返回數據;

被動:比較消耗性能。
在被動模式中,zabbix server(或者proxy)詢問agent數據,如CPU的負載情況,然后zabbix agent回送結果,zabbix server周期性的向agent 索取數據,這種模式的最大問題就是會加大zabbix server的工作量,也是默認的工作模式。
主動:效率高,但數據可能缺失。
主動模式是由zabbix agent主動采集數據并返回給zabbix server,不再需要zabbix serve進行干預, 因此主動模式在一定程度上可減輕zabbix server的壓力。

7)Zabbix監控架構

在實際生產環境中,Zabbix根據網絡環境,監控規模等外界因素分為三種架構,如圖:
部署Zabbix監控

(1)server-client架構(直接連接)

server-client架構是Zabbix的最簡單的架構,監控機和被監控機之間不經過任何代理,直接在zabbix server和zabbix agentd之間進行數據交互,適用于網絡比較簡單,設備比較少的監控環境;

(2)master-node-client架構(node架構)

master-node-client架構是Zabbix最復雜的監控架構,適用于跨網絡、跨機房、設備較多的大型環境。每個node同時也是一個server端。node下面可以接proxy,也可以直接接client。node有自己的配置文件和數據庫。其要做的是將配置信息和監控數據項master同步。當master發生故障或損壞,node可以保證架構的完整性;

(3)server-proxy-client架構(proxy架構)

proxy是server、client之間溝通的一個橋梁,proxy本身沒有前端,而且其本身并不存放數據,只是將agentd發來的數據暫時存放,而后在提交給server。該架構經常是和master-node-client架構做比較的架構,一般適用于跨機房、跨網絡的中型網絡架構的監控;

二、搭建LNMP環境

由于部署Zabbix需要使用到LNMP的環境,所以需事先部署。關于其部署詳細工程,可以參考搭建LNMP,接下來關于LNMP命令的解釋就不再詳細解釋了!

1)安裝Nginx

下載nginx軟件包

[root@zabbix ~]# yum -y install pcre-devel openssl-devel zlib-devel 
[root@zabbix ~]# tar zxf nginx-1.14.0.tar.gz && cd nginx-1.14.0
[root@zabbix nginx-1.14.0]# ./configure && make && make install
//由于只是使用nginx提供簡單的web頁面啟動即可!
[root@zabbix ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//創建符號鏈接,稍后啟動

2)安裝PHP

下載PHP軟件包

[root@zabbix ~]#  yum -y install freetype-devel libpng-devel libjpeg-devel libxml2-devel bzip2-devel libcurl-devel
//安裝php所需依賴
[root@zabbix ~]#  tar zxf libmcrypt-2.5.7.tar.gz && cd libmcrypt-2.5.7
[root@zabbix libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
//安裝libmcrypt
[root@zabbix ~]# tar zxf php-5.6.27.tar.gz && cd php-5.6.27
[root@zabbix php-5.6.27]# ./configure --prefix=/usr/local/php5.6 \
 --with-config-file-path=/etc --with-mysql=/usr/local/mysql \
 --with-mysqli=/usr/local/mysql/bin/mysql_config \
 --with-mysql-sock=/usr/local/mysql/mysql.sock \
 --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt=/usr/local/libmcrypt \
 --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib \
 --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml \
 --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization \
 --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp \
 --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets \
 --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext \
 --enable-session --with-curl && make && make install
//編譯安裝php
[root@zabbix ~]# cp /root/php-5.6.27/php.ini-production /etc/php.ini
[root@zabbix ~]# cp /root/php-5.6.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@zabbix ~]#  chmod +x /etc/init.d/php-fpm 
[root@zabbix ~]# chkconfig --add php-fpm
[root@zabbix ~]# cd /usr/local/php5.6/etc
[root@zabbix etc]# cp php-fpm.conf.default php-fpm.conf
[root@zabbix etc]# sed -i 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' php-fpm.conf
[root@zabbix etc]# sed -i 's/listen = 127.0.0.1:9000/listen = 0.0.0.0:9000/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.max_children = 5/pm.max_children = 50/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 35/g' php-fpm.conf
[root@zabbix etc]# systemctl start php-fpm  
[root@zabbix etc]# ss -lnt | grep 9000
LISTEN     0      128          *:9000                     *:*          
//保證PHP啟動成功

3)配置nginx可以與PHP相互連接

[root@zabbix ~]# vim /usr/local/nginx/conf/nginx.conf
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;           //修改這一行即可
        }

[root@zabbix ~]# echo -e "<?php\nphpinfo();\n?>" > /usr/local/nginx/html/index.php
[root@zabbix ~]# nginx -t 
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@zabbix ~]# nginx

訪問測試;
部署Zabbix監控

4)安裝mysql數據庫

下載mysql數據庫軟件提供的是一鍵安裝mysql的腳本進行安裝的,直接執行腳本即可!

[root@zabbix ~]# ls | grep mysql
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mysql.sh
[root@zabbix ~]# sh mysql.sh
//安裝完成后,數據庫用戶root的密碼為123

這里就先不測試PHP與mysql的鏈接性了,對自己搭建的LNMP有信心!

三、安裝Zabbix

下載Zabbix軟件包

[root@zabbix ~]# tar zxf fping-3.12.tar.gz  && cd fping-3.12
[root@zabbix fping-3.12]#  ./configure && make && make install
//編譯安裝fping,使Zabbix支持自動發現功能
[root@zabbix fping-3.12]# groupadd zabbix
[root@zabbix fping-3.12]# useradd zabbix -M -g zabbix
[root@zabbix fping-3.12]# chown zabbix:zabbix /usr/local/sbin/fping
//創建zabbix用戶使其可以使用fping命令
[root@zabbix ~]# yum -y  install  net-snmp net-snmp-devel curl-devel OpenIPMI-devel libssh3-devel java-devel
//安裝zabbix所需依賴
[root@zabbix ~]# tar zxf zabbix-3.2.1.tar.gz && cd zabbix-3.2.1
[root@zabbix zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-server \
 --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config \
 --with-net-snmp --with-libcurl --with-openipmi && make && make install
//--enable-java:便于日后監控tomcat程序使用;
//--with-openipmi:使其可以監控設備的硬件信息
[root@zabbix ~]# ln  -s  /usr/local/zabbix/bin/*  /usr/local/bin/ 
[root@zabbix ~]# ln  -s  /usr/local/zabbix/sbin/*  /usr/local/sbin/
//為zabbix常用命令創建符號連接
[root@zabbix ~]# mysql -u root -p123
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@'192.168.1.%' identified by '123.com';
//創建zabbix數據庫及用戶
[root@zabbix ~]# cd /root/zabbix-3.2.1/database/mysql/
[root@zabbix mysql]# mysql -uzabbix -p123.com -h 192.168.1.8 zabbix < schema.sql
[root@zabbix mysql]# mysql -uzabbix -p123.com zabbix -h 192.168.1.8 < images.sql
[root@zabbix mysql]#  mysql -uzabbix -p123.com zabbix -h 192.168.1.8 < data.sql 
//進入相應的目錄導入相應的數據庫文件
//切記需按照順序導入,否則可能會出現意外
[root@zabbix mysql]# cd /usr/local/zabbix/etc
[root@zabbix etc]# egrep -v '^#|^$' zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=192.168.1.8
DBName=zabbix
DBUser=zabbix
DBPassword=123.com
DBPort=3306
Timeout=4
FpingLocation=/usr/sbin/fping           //fping(自動發現)文件路徑
LogSlowQueries=3000
//以上是修改完成的配置文件
[root@zabbix etc]# find   / -name  libmysqlclient.so
/usr/local/mysql/lib/libmysqlclient.so
[root@zabbix etc]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
//添加libmysqlclinet的接口文件路徑
[root@zabbix etc]# ldconfig 
//主要是在默認搜尋目錄/lib和/usr/lib以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態鏈接庫(格式如lib*.so*),進而創建出動態裝入程序(ld.so)所需的連接和緩存文件。
[root@zabbix etc]# find  /  -name  mysql.sock
/usr/local/mysql/mysql.sock
[root@zabbix etc]# ln  -s /usr/local/mysql/mysql.sock  /tmp/
//添加mysql.sock文件到tmp目錄下,否則會在啟動時會出現錯誤
[root@zabbix etc]# cd  /root/zabbix-3.2.1/
[root@zabbix zabbix-3.2.1]# cp  misc/init.d/fedora/core/zabbix_server  /etc/init.d/
[root@zabbix zabbix-3.2.1]# chmod +x /etc/init.d/zabbix_server 
[root@zabbix zabbix-3.2.1]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/rc.d/init.d/zabbix_server
//將zabbix系統腳本中zabbix的安裝路徑進行更改
[root@zabbix zabbix-3.2.1]# systemctl daemon-reload 
[root@zabbix zabbix-3.2.1]# /etc/init.d/zabbix_server start
Reloading systemd:                                         [  確定  ]
Starting zabbix_server (via systemctl):                    [  確定  ]
[root@zabbix zabbix-3.2.1]# ss -lnt | grep 10051
LISTEN     0      128          *:10051                    *:*          
//添加為系統服務,并啟動,確定其端口在監聽,默認是10051
//如果啟動失敗查看/tmp/zabbix_server.log這個日志內容
[root@zabbix ~]# cp -r /root/zabbix-3.2.1/frontends/php/ /usr/local/nginx/html/zabbix
//復制zabbix的網頁目錄到nginx網頁根目錄下
[root@zabbix ~]# ps -ef | grep php
//根據查詢結果就可以看出運行php程序的用戶是nobody
[root@zabbix ~]# chown -R nobody:nobody /usr/local/nginx/html/zabbix/
//所以需要保證運行PHP的用戶對這個目錄有絕對的權限否則將無法更改數據

客戶端訪問測試:
部署Zabbix監控
部署Zabbix監控
根據提示的警告信息修改php的配置文件

[root@zabbix ~]# sed -i 's/post_max_size = 8M/post_max_size = 16M/g'  /etc/php.ini
[root@zabbix ~]# sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini
[root@zabbix ~]# sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
[root@zabbix ~]# echo -e "date.timezone = Asia/Shanghai" >> /etc/php.ini
[root@zabbix ~]# echo -e "always_populate_raw_post_data = -1" >> /etc/php.ini
[root@zabbix ~]# systemctl restart php-fpm
//重新啟動php,使其加載配置文件

繼續訪問web頁面,如圖:
部署Zabbix監控
部署Zabbix監控
部署Zabbix監控
部署Zabbix監控
部署Zabbix監控
部署Zabbix監控
部署Zabbix監控
部署Zabbix監控
由此可以看出界面已經變成了中文!

但是需要注意zabbix中文亂碼的問題,需要使用以下方法修改中文亂碼的問題!

[root@zabbix ~]# ls | grep SIMKAI.TTF
SIMKAI.TTF
[root@zabbix ~]# sed -i 's/DejaVuSans/simkai.ttf/g' /usr/local/nginx/html/zabbix/include/defines.inc.php
[root@zabbix ~]# mv SIMKAI.TTF /usr/local/nginx/html/zabbix/fonts/simkai.ttf

如果不解決中文亂碼的問題,在后期工作中將會有很大的麻煩!

本次博文主要介紹如何搭建zabbix監控系統,在此先告一段落!

——————————本文到此結束,感謝閱讀————————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

美姑县| 若羌县| 景洪市| 宾川县| 宁远县| 南通市| 靖安县| 固原市| 施甸县| 屯留县| 慈利县| 丰原市| 浦东新区| 稻城县| 玛多县| 绩溪县| 铜山县| 仙桃市| 汝南县| 余庆县| 麻栗坡县| 乡城县| 南江县| 雅江县| 花垣县| 沁阳市| 镶黄旗| 大石桥市| 新竹市| 赤水市| 抚顺市| 满城县| 博乐市| 铅山县| 牟定县| 东山县| 陕西省| 铁岭县| 台山市| 吉隆县| 绍兴县|