zabbix3.4安裝及使用
一、zabbix簡介
zabbix(音同 zbix)是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。 zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。 zabbix由2部分構成,zabbix server與可選組件zabbix agent。 zabbix server可以通過SNMP,zabbix agent,ping,端口監視等方法提供對遠程服務器/網絡狀態的監視,數據收集等功能,它可以運行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平臺上。
1.zabbix的主要特點
安裝與配置簡單,學習成本低 、支持多語言(包括中文)、免費開源、自動發現服務器與網絡設備、分布式監視以及WEB集中管理功能、可以無agent監視、用戶安全認證和柔軟的授權方式、通過WEB界面設置或查看監視結果、email等通知功能
2.zabbix的主要功能
CPU負荷、內存使用、磁盤使用、網絡狀況、端口監視、日誌監視
一、準備工作
服務端 | 客戶端 | |
主機名 | server | client |
IP地址 | 192.168.200.10/24 | 192.168.200.20/24 |
1.配置IP地址和主機名
① server端配置
# hostnamectl set-hostname server
# nmcli connection modify eno16777736 ipv4.method manual ipv4.addresses "192.168.200.10/24" ipv4.gateway "192.168.200.2" ipv4.dns "202.106.0.20" connection.autoconnect yes
# nmcli connection up eno16777736
② client 端配置
# hostnamectl set-hostname client
# nmcli connection modify eno16777736 ipv4.method manual ipv4.addresses "192.168.200.20/24" ipv4.gateway "192.168.200.2" ipv4.dns "202.106.0.20" connection.autoconnect yes
# nmcli connection up eno16777736
2.關閉防火墻和selinux安全機制
# systemctl stop firewalld
# setenforce 0
# vim /etc/selinux/config
# sed -i ‘s/^SELINUX.*$/SELINUX=disabled/g‘ /etc/selinux/config
3.安裝yum倉庫
三、server主機的安裝
1.安裝網站平臺
① 安裝數據庫
# yum -y install mariadb mariadb-server mariadb-devel
# systemctl start mariadb
# systemctl enable mariadb
# mysqladmin password 123 //設置數據庫密碼是123
② 安裝httpd
# yum -y install httpd
# systemctl start httpd
# systemctl enable httpd
# vim /etc/httpd/conf/httpd.conf //修改配置文件的參數
95 ServerName server:80
③ 安裝php
(1)安裝php依賴的軟件包
# yum -y install php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
# vim /etc/php.ini //修改配置文件的參數
878 date.timezone = Asia/Shanghai
384 max_execution_time = 300
672 post_max_size = 32M
394 max_input_time = 300
405 memory_limit = 128M
(2)測試服務器情況
# vim /var/www/html/index.php
# 前面這段是測試php與mysql連通性的PHP代碼
<?php
$link=mysql_connect(‘192.168.200.10‘,‘root‘,‘123‘); # ip填寫mysql主機ip,用戶為mysql所授權的用戶,密碼
if($link) echo "DATABASE Connect Successfully!";
else echo "DATABASE Connect Faild!";
mysql_close();
?>
# 測試php是否正常工作的php代碼
<?php
phpinfo() #此函數調用會顯示php的詳細信息
?>
# systemctl restart mariadb
# systemctl restart httpd
2.安裝zabbix
① 下載源碼包
鏈接地址:
https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz
② 安裝依賴庫
# yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel gcc OpenIPMI-devel openldap openldap-devel unixODBC-devel
# yum install java* #--enable-java,可以省略
③ 解壓並編譯安裝
# tar zxf zabbix-3.4.3.tar.gz -C /usr/local
# cd /usr/local/zabbix-3.4.3/
# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix/ --enable-server --enable-proxy --enable-proxy --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --witpenipmi --with-unixodbc --with-ldap --enable-java && make && make install
④ 創建用戶和組
# groupadd zabbix
# useradd -r -g zabbix zabbix
# chown zabbix.zabbix /usr/local/zabbix/
⑤ 創建數據庫zabbix並導入表結構
MariaDB [(none)]> create database zabbix character set utf8;
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by ‘zabbix‘;
MariaDB [(none)]> flush privileges;
[root@server zabbix-3.4.3] # cd /root/zabbix-3.4.3/
# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
⑥ 創建日誌目錄
# mkdir /usr/local/zabbix/logs
# chown zabbix:zabbix logs
⑦ 修改配置文件
# cd /etc/zabbix/
# cp zabbix_server.conf zabbix_server.conf.bak
# vim zabbix_server.conf
38 LogFile=/usr/local/zabbix/logs/zabbix_server.log
95 DBName=zabbix //數據庫的名字
111 DBUser=zabbix
119 DBPassword=zabbix
126 DBSocket=/var/lib/mysql/mysql.sock
134 DBPort=3306
85 DBHost=localhost
# cp zabbix_agentd.conf zabbix_agentd.conf.bak
# vim zabbix_agentd.conf
134 ServerActive=192.168.200.10:10051
30 LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
93 Server=127.0.0.1,192.168.200.10
280 UnsafeUserParameters=1 //自定義腳本功能開啟
261 Include=/etc/zabbix/zabbix_agentd.conf.d/ //定義agentd配置文件的存放路徑
⑧ 將zabbix的頁面文件copy到指定目錄
# cd /usr/local/zabbix-3.4.3/
# cp misc/init.d/fedora/core/zabbix_* /etc/init.d
# ll -d /etc/init.d/zabbix_*
-rwxr-xr-x. 1 root root 2170 11月 1 09:44 /etc/init.d/zabbix_agentd
-rwxr-xr-x. 1 root root 2181 11月 1 09:44 /etc/init.d/zabbix_server
⑨ 創建php頁面
# cd /usr/local/zabbix-3.4.3/
# cp -rf frontends/php/ /var/www/html/zabbix
# chown -R apache.apache /var/www/html/zabbix
3.訪問測試zabbix
① 訪問地址 http://192.168.200.10/zabbix
②確保下面的選項都是OK後,點擊下一步
③ 將端口改為3306,數據庫、用戶名、密碼都設為zabbix
④ 請輸入主機名或主機的IP地址和Zabbix服務器端口號,以及安裝的名稱(可選)。
⑤登陸zabbix
默認用戶名:zabbix
密碼:zabbix
⑥ 鎖定安裝界面
# cd /var/www/html/zabbix
# mv setup.php setup.php.lock
# chmod 600 setup.php.lock
⑦ 修改鏈接地址
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
⑧ 啟動服務
# /etc/init.d/zabbix_server restart
# /etc/init.d/zabbix_agentd restart
# netstat -anpt | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 67233/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 67090/zabbix_server
tcp6 0 0 :::10050 :::* LISTEN 67233/zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN 67090/zabbix_server
⑨ 更改語言
點擊小人admin
將Language改為中文Chinese,點擊Update即可
四、client主機的安裝
1.安裝軟件包
① 下載源碼包
鏈接地址:
https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.3/zabbix-3.4.3.tar.gz
② 安裝依賴庫
# yum -y install net-snmp-devel libxml2-devel libcurl-devel libevent libevent-devel gcc OpenIPMI-devel openldap openldap-devel unixODBC-devel
# yum install java* #--enable-java,可以省略
③ 創建日誌目錄
# useradd -s /sbin/nologin zabbix
# mkdir /etc/zabbix/ /usr/local/zabbix/logs
# chown zabbix.zabbix /usr/local/zabbix/logs
⑤ 解壓編譯安裝包
# tar zxf zabbix-3.4.3.tar.gz -C /usr/src
# cd /usr/src/zabbix-3.4.3/
# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent && make && make install
# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d
⑥ 修改配置文件
# cd /etc/zabbix
# cp zabbix_agentd.conf zabbix_agentd.conf.bak
# vim zabbix_agentd.conf
134 ServerActive=192.168.200.10:10051
93 Server=127.0.0.1,192.168.200.10
30LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
280 UnsafeUserParameters=1
2.啟動服務
# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin
# /etc/init.d/zabbix_agentd start
# chkconfig zabbix_agentd on
五、創建監控節點
1.創建主機群組
點擊配置-->主機群組-->創建主機群組-->添加組名
2.創建主機
點擊配置-->主機-->創建主機
3.添加模板
4.啟用服務器
5.報警問題
配置--模板--Template OS Linux--觸發器--更改報警值或者停用--選擇更改
Lack of free memory on server {HOSTNAME}
Processor load is too high on {HOSTNAME}
Too many processes on {HOSTNAME}
六、郵箱報警
1. 創建郵件腳本
# yum -y install mailx
# vim /etc/mail.rc
set [email protected] smtp=smtp.163.com
set [email protected] smtp-auth-password=mima
set smtp-auth=login
#!/bin/bash
echo "$3" | mail -s "$2" $1
# vim /usr/local/zabbix/share/zabbix/alertscripts/zabbix.sh
# chmod a+x /usr/local/zabbix/share/zabbix/alertscripts/zabbix.sh
# chown zabbix:zabbix /usr/local/zabbix/share/zabbix/alertscripts/za
bbix.sh
# /usr/local/zabbix/share/zabbix/alertscripts/zabbix.sh
[email protected] "zabbix" "zabbix test mail 2"
2. 創建報警媒體
管理--報警媒介類型--創建媒體類型
3. 創建報警用戶
管理--用戶--報警媒介
分別對應zabbix.sh腳本需要的3個參數:收件人地址、主題、詳細內容然後添加完成:
4.創建報警動作
配置--動作--創建動作
動作:
操作:
恢復操作:
確認操作:
5.測試郵件報警
① 將客戶端關閉,查看報警
# /etc/init.d/zabbix_agentd stop
Stopping zabbix_agentd (via systemctl): [ 確定 ]
② 調整時間
# vim /etc/zabbix/zabbix_server.conf
Timeout=30
# vim /etc/zabbix/zabbix_agentd.conf
Timeout=30
# /etc/init.d/zabbix_server restart
# /etc/init.d/zabbix_agentd restart
③ 確認報警
zabbix3.4安裝及使用