1. 程式人生 > >部署Zabbix4.0監控系統

部署Zabbix4.0監控系統

代理端 ket 文件的 etc emctl DBName logfile 防火 配置httpd

Zabbix是一個高度集成的企業級開源網絡監控解決方案,與Cacti、Nagios並稱監控三劍客,提供分布式監控以及集中的WEB管理界面。被監控對象只要支持SNMP協議或者運行Zabbix_agents即可。Zabbix具備創建商業監控軟件所具備的功能,例如主機性能監控、網絡設備性能監控、數據庫性能監控、ftp等通用協議的監控,能夠利用靈活的可定制警告機制,允許用戶對事件發送基於E-mail的警告,保證相關維護人員對問題做出快速解決,還可以利用存儲數據提供傑出的報表及實時的圖形化數據處理,實現對Linux、Windows主機的7*24小時集中監控。監控的項目可以包括CPU、內存、磁盤、網卡流量、服務可用性等各種資源。

項目準備

虛擬機版本:centos 7.4

關閉虛擬機防火墻及selinux

虛擬機分配

主機 IP地址 主要軟件
zabbix服務器 172.16.10.34 zabbix-server-mysql-4.0.0-1、zabbix-web-mysql-4.0.0-1
mysql服務器 172.16.10.20 zabbix-agent-4.0.0-1

安裝配置zabbix服務

Zabbix通過C/S模式采集數據,通過B/S模式在Web端展示和配置。zabbix服務需要使用LAMP平臺來承載數據庫和Web界面。本次實驗環境,為了節約時間,LAMP架構采用的yum安裝的方式簡單部署。

yum快速部署LAMP

安裝軟件包

yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

配置httpd服務

httpd配置文件的修改包括按方面,一、域名的修改,二、監聽地址修改,三、DirectoryIndex中增加index.php

vim /etc/httpd/conf/httpd.conf
Listen 172.16.10.34:80
ServerName www.benet.com      //域名自定義
DirectoryIndex index.html index.php

時區設置

vim /etc/php.ini
date.timezone = PRC    //設置時區為中國

啟動服務

systemctl start httpd.service
systemctl enable httpd.service
systemctl start mariadb.service
systemctl enable mariadb.service
netstat -ntap | egrep ‘(80|3306)‘

初始化數據庫

mysql_secure_installation

數據庫的創建及用戶授權

mysql -u root -p

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT all privileges ON *.* TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘admin123‘;
flush privileges;

測試連通性

vim /var/www/html/index.php   //創建測試頁
<?php
$link=mysql_connect(‘172.16.10.34‘,‘zabbix‘,‘admin123‘);
if($link) echo "<h1>The database connection was successful!</h1>";
else echo "<h1>The database connection was Fail!!</h1>";
mysql_close();
?>

技術分享圖片

解決本地用戶無法登陸問題

有時我們會遇到在mysql數據庫中添加用戶,並授權其遠程登陸,但是在你測試時卻是無法登陸,甚至在本地也無法登陸,可能原因是在mysql的用戶列表中有空用戶,對本地用戶登陸造成了幹擾,導致無法登陸。

mysql -uroot -p
select user,host from mysql.user;
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
|        | cacti     |                  //存在空用戶
| root   | cacti     |
|        | localhost |                  //空用戶
| root   | localhost |
+--------+-----------+
drop user ‘‘@localhost;
drop user ‘‘@cacti;                     //刪除這兩個空用戶
flush privileges;                       //刷新使修改生效

安裝zabbix服務程序

安裝php模塊

yum install php-bcmath php-mbstring -y

安裝zabbix軟件

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y

生成數據庫文件

zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p  zabbix
//這裏輸入的密碼為之前授權的zabbix用戶的密碼,不是root密碼

配置zabbix服務

修改zabbix_server

因為在前面的設置中數據庫名稱,用戶都是zabbix,所以在此處都不需要修改,改配置文件唯一要修改的就是DBpassword。

grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_server.conf 

38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
101:DBName=zabbix
117:DBUser=zabbix
125:DBPassword=admin123 //修改本行
347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
465:Timeout=4
507:AlertScriptsPath=/usr/lib/zabbix/alertscripts
517:ExternalScripts=/usr/lib/zabbix/externalscripts
553:LogSlowQueries=3000

修改時區

vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

解決WEB界面中文亂碼

修改該配置文件defines.inc.php,將全文的graphfont替換為kaiti

vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g            //末行模式中操作

添加字體文件

復制字體文件到指定目錄下

cp STKAITI.TTF /usr/share/zabbix/fonts/

字體文件傳送門:STKAITI.TTF

啟動服務

systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix  //監聽在10051端口上
systemctl restart httpd.service

訪問WEB頁面

訪問http://172.16.10.34/zabbix/,完成安裝之後即可登陸,默認用戶名:Admin,密碼:zabbix
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

設置網頁顯示中文

Administrator-Users==>點擊用戶==>語言中設置
技術分享圖片

配置代理端

安裝zabbix_agent

rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
yum install -y zabbix-agent

修改配置文件

grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_agentd.conf

13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=172.16.10.34                   //修改為監控端地址
139:ServerActive=172.16.10.34       //修改為監控端地址
150:Hostname=mysql                       //hostname自定義             
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf

啟動服務

systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
netstat -anpt | grep zabbix

在WEB界面添加被控主機

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

部署Zabbix4.0監控系統