您好,登錄后才能下訂單哦!
一、 zabbix 簡介:
zabbix 是完全開源的工具,整合了 cacti 和 nagios 等特性
附: SNMP(udp 161 udp 162)
眾多網絡工具都支持此協議,比如常見路由交換,常見 OS
其既可以做管理端也可以做被管理端
snmp 協議大致有 3 個版本分別是 v1 v2 v3
無論是 v1 和 v2 的安全性是比較差的,因為傳輸是明文的, V3 的認證密碼用 MD5/SHA 摘
要算法加密
很多工具支持網絡管理的功能,而對于非網絡設備(操作系統),可以完全拋開 snmp 這種
不安全的架構來實現監控的。所以很多工具都是控制端和 agent 架構,他們有專屬的 agent
Zabbix 的主要功能:
具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫、 FTP
等通用協議監控、多種告警方式、詳細的報表圖表繪制)
支持自動發現網絡設備和服務器(可以通過配置自動發現服務器規則來實現)
支持分布式,能集中展示、管理分布式的監控點,擴展性強
server 提供通用接口(api 功能), 可以自己開發完善各類監控(根據相關接口編寫程序實
現),編寫插件容易,可以自定義監控項,報警級別的設置。
數據收集, 支持 snmp(包括 trapping and polling ), IPMI, JMX, SSH, TELNET;
自定義的檢測;自定義收集數據的頻率;
服務器/代理和客戶端模式;
靈活的觸發器; 可以定義非常靈活的問題閾值, 稱為觸發器;
高可定制的報警;發送通知,可定制的報警升級,收件人,媒體類型。
CPU 負荷、內存使用、磁盤使用、網絡狀況、端口監視、日志監視等等。
硬件監控: Zabbix IPMI Interface
系統監控: ZabbixAgent Interface
Java 監控: Zabbix JMX Interface
網絡設備監控: Zabbix SNMP Interface
應用服務監控: Zabbix Agent UserParameter
MySQL 數據庫監控: percona-monitoring-plulgins
URL 監控: Zabbix Web 監控
zabbix 重要組件說明:
1) zabbix server:負責接收 agent 發送的報告信息的核心組件,所有配置、統計數據及操作數
據都由它組織進行;
2) database storage:專用于存儲所有配置信息,以及由 zabbix 收集的數據;
3) web interface: zabbix 的 GUI 接口;
4) proxy:可選組件,常用于監控節點很多的分布式環境中,代理 server 收集部分數據轉發
到 server,可以減輕 server 的壓力;
5) agent:部署在被監控的主機上,負責收集主機本地數據如 cpu、內存、數據庫等數據發
往 server 端或 proxy 端;
另外, zabbix server、 proxy、 agent 都有自己的配置文件以及 log 文件,重要的參數需要在這
里配置,后面會詳細說明。
一個監控系統運行的大概的流程是這樣的:
agentd 需要安裝到被監控的主機上,它負責定期收集各項數據,并發送到 zabbix server 端,
zabbix server 將數據存儲到數據庫中, zabbix web 根據數據在前端進行展現和繪圖。這里
agentd 收集數據分為主動和被動兩種模式:
主動: agent 請求 server 獲取主動的監控項列表,并主動將監控項內需要檢測的數據提交給
server/proxy
被動: server 向 agent 請求獲取監控項的數據, agent 返回數據。
zabbix 常用的監控架構平臺
1、 server-agentd 模式:
這個是最簡單的架構了,常用于監控主機比較少的情況下。
2、 server-proxy-agentd 模式:
這個常用于比較多的機器,使用 proxy 進行分布式監控,有效的減輕 server 端的壓力。
zabbix 的系統架構:
Zabbix 是一個基于 Web 界面的提供分布式系統監視以及網絡監視功能的企業級開源解決方
案。借助 Zabbix,可以很輕松地減輕運維人員們繁重的服務器管理任務,實現業務系統的持
續運行。下面會逐步介紹 Zabbix 分布式監控系統的部署及使用
配置好 IP、 DNS 、網關,確保使用遠程連接工具能夠連接服務器
zabbix 監控服務器: 192.168.130.76 #zabbix 的服務端(若要監控本機,則需要配置本機的
zabbix agent)
Zabbix agent 被監控主機: 192.168.130.78#zabbix 的客戶端(被監控端,需要配置 Zabbix agent
一. 部署lnmp
1. 上傳所需安裝包
2.安裝nginx
(1)安裝依賴包
20 tar zxf pcre-8.39.tar.gz
21 tar zxf zlib-1.2.8.tar.gz
22 yum -y install openssl-devel
(2)安裝nginx
20 cd
19 tar zxf nginx-1.14.0.tar.gz
23 cd nginx-1.14.0/
25 ./configure --prefix=/usr/local/nginx1.14 --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre=/root/pcre-8.39 --with-zlib=/root/zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module
26 make && make install
27 ln -s /usr/local/nginx1.14/sbin/nginx /usr/local/sbin/ (鏈接命令目錄)
28 nginx (開啟)
29 netstat -anpt | grep nginx (查看接口)
2.安裝php
(1)安裝依賴包
31 cd
33 tar zxf libmcrypt-2.5.7.tar.gz
34 cd libmcrypt-2.5.7/
35 ./configure --prefix=/usr/local/libmcrypt && make && make install
39 yum -y install libxml2-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel
(2)安裝php
36 cd
37 tar zxf php-5.6.27.tar.gz (解壓)
38 cd php-5.6.27/
40 (編譯安裝) ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --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
(3)優化一下php
43 cp php.ini-production /etc/php.ini (復制配置文件到/etc)
44 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm (加入啟動的目錄)
45 chmod +x /etc/init.d/php-fpm (添加可執行權限)
46 cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf (把配置文件改名)
49 /etc/init.d/php-fpm start (啟動)
50 netstat -anpt | grep 9000 (查看端口)
(4)可以使用nginx解析到php頁面
<1> 修改nginx配置文件
47 vim /usr/local/nginx1.14/conf/nginx.conf
location / { #45添加
root html;
index index.php index.html index.htm;
}
location ~ \.php$ { #65去注釋,修改
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
<2>重啟nginx
48 nginx -s reload
<3>創建php頁面
51 vim /usr/local/nginx1.14/html/index.php
<?php
phpinfo();
?>
<4>瀏覽器測試nginxIp
3.安裝mysql
17 sh mysql.sh (使用腳本安裝)
netstat -anpt | grep mysql (查看接口)
二. 安裝Zabbix Serve
先上傳所需安裝包
(2)安裝依賴包
59 rz
61 tar zxf fping-3.12.tar.gz
62 cd fping-3.12/
63 ./configure && make && make install
64 whcih
65 which fping
71 yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh3-devel
(3)編譯安裝
67 cd
68 ls
69 tar zxf zabbix-3.2.1.tar.gz
70 cd zabbix-3.2.1/
76 ./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
77 make && make install
(4)添加系統軟連接
79 ln -s /usr/local/zabbix/bin/* /usr/local/bin/
80 ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
(5)Zabbix Server 配置與啟動
<1>創建 Zabbix 數據庫和 MySQL 用戶:
mysql -u root -p123
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@'localhost' identified by '123.com';
exit
<2>導入 Zabbix 初始數據:
切換到 zabbix 的解壓目錄下
82 cd /root/
83 cd zabbix-3.2.1/
84 ls
85 cd database/mysql/
<3>進行 zabbix 初始數據導入
82 cd /root/
83 cd zabbix-3.2.1/
84 ls
85 cd database/mysql/
90 mysql -u zabbix -p123.com -h localhost zabbix < schema.sql
92 mysql -u zabbix -p123.com -h localhost zabbix < images.sql
93 mysql -u zabbix -p123.com -h localhost zabbix < data.sql
數據庫查看一下
mysql -u root -p123
use Zabbix
show tables;
<4>編輯/usr/local/zabbix/etc/zabbix_server.conf:
LogFile=/usr/local/zabbix/logs/zabbix_server.log #38
PidFile= /usr/local/zabbix/logs/zabbix_server.pid #68
DBHost=localhost #77
DBPassword=123.com #111 授權密碼
DBSocket=/usr/local/mysql/mysql.sock #118
DBPort=3306 #126
FpingLocation=/usr/local/sbin/fping #463
創建所需目錄
103 mkdir /usr/local/zabbix/logs
104 chown -R zabbix:zabbix /usr/local/Zabbix/
<5>啟動 Zabbix Server:
zabbix_server --help
解決方法:
在 ld.so.conf 中加入/usr/local/mysql/lib
106 find / -name libmysqlclient.so.20
107 vim /etc/ld.so.conf 添加
/usr/local/mysql/lib/
108 ldconfig 刷新一下
再次執行 zabbix_server 啟動
117 zabbix_server
118 netstat -anpt | grep 10051
<6>添加開機啟動腳本
128 cd zabbix-3.2.1/misc/init.d/fedora/core
129 cp zabbix_server /etc/init.d/
130 vim /etc/init.d/zabbix_server 修改
BASEDIR=/usr/local/Zabbix #22
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid #31
執行一下關閉zabbix
133 /etc/init.d/zabbix_server stop
134 netstat -antp | grep 10051
可以看到端口還開著,所以我們要殺進程,刪除pid文件
157 rm -rf /usr/local/zabbix/logs/zabbix_server.pid
158 killall -9 zabbix_server
159 netstat -antp | grep 10051
現在再次開啟一下,現已正常
(6)配置 zabbix web 頁面
在安裝目錄將 frontends 拷貝到指定的 web root:
29 cd zabbix-3.2.1/frontends/
30 cp -r php/ /usr/local/nginx1.14/html/Zabbix
瀏覽器測試:192.168.1.10/Zabbix
可以看到這里有錯誤,我們需要去php配置文件里修改
32 vim /etc/php.ini 修改
post_max_size = 16M #660
max_execution_time = 300 #372
max_input_time = 300 #382
date.timezone = Asia/Shanghai #936
always_populate_raw_post_data = -1 #702
33 /etc/init.d/php-fpm restart #重啟一下php
瀏覽器刷新一下,繼續運行
3.現在看到因為瀏覽器解析不到主機名,所以我們要在MySQL數據庫授權IP
1.解決方法
mysql -u root -p123
grant all on zabbix.* to zabbix@'192.168.1.%' identified by '123.com';
4.解決之后瀏覽器刷新,繼續
5.
解決方法
6.解決之后瀏覽器刷新,繼續
7.登陸
8.登陸之后修改成中文
查看一下
9.解決 zabbix 繪圖中出現中文亂碼問題:
從 windows 下控制面板->字體->選擇一種中文字庫例如“楷體”
把它拷貝到 zabbix 的 web 端的 fonts 目錄下例如: /usr/local/nginx1.10/html/zabbix/fonts/,
并且把 TTF 后綴改為 ttf
38 rz (上傳simkai.ttf)
39 ls
40 cd /usr/local/nginx1.14/html/zabbix/fonts/
41 ls
并且將之前的字體文件 DejaVuSans.ttf 移動到別處
c.然后,接著修改代碼 include/defines.inc.php 文件中的字體配置,將里面關于字體設置從
DejaVuSans 替換成 simkai
44 vim /usr/local/nginx1.14/html/zabbix/include/defines.inc.php
在 vi 編輯器的末行模式下輸入 :%s/DejaVuSans/simkai/g
這樣,修改后, zabbix 監控圖形中的中文字就不會出現亂碼了
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。