1. 程式人生 > >Centos7 zabix3.4.7搭建

Centos7 zabix3.4.7搭建

Centos7 zabix3.4.7搭建

Zabbix

1.特點
1)分布式監控
2)支持自動發現網絡設備和服務器
3)設置報警值並通知管理員
4)支持圖表
5)支持監控多種服務和跨平臺系統監控
6)開源
IE --> B/S
註:需運行在LAMP平臺之上

2.原理
1)Server:LAMP環境,
2)Agent:搜集客戶端數據傳輸給Server
3)SNMP:搜索網絡設備數據傳輸給Server

一、部署Zabbix

搭建環境:兩臺centos7x64服務器,一臺Server、一臺Client,Server兩塊網卡,第一塊橋接,第二塊vmnet1,client為vmnet1網卡
部署LAMP平臺

關閉selinux #setenforce 0 臨時關閉需要關閉 selinux,一定要關閉這個,開啟selinux會引起一連串問題,甚至zabbix的discovery功能也不能正常使用sed -i"s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

確認是否修改成功
grep SELINUX /etc/selinux/config
然後重啟系統即可
reboot
關閉防火墻 :
systemctl stop firewalld.service 停止firewall
systemctl disable firewalld.service 禁止firewall開機啟動

1.配置IP
1)rm -rf /etc/udev/rules.d/70-persistent-cd.rules
2)vim /etc/sysconfig/network-scripts/ifcfg-ens32

3)cp /etc/sysconfig/network-scripts/ifcfg-ens32
/etc/sysconfig/network-scripts/ifcfg-ens33

4)重啟reboot

2.安裝LAMP平臺和Zabbix依賴包
1)rm -rf /etc/yum.repos.d/* && vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
2)掛載光盤 mount /dev/cdrom /mnt
3)下載在線源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
4)安裝apache yum -y install httpd
5)安裝mysql(由於yum源上沒有mysql-server。所以必須去官網下載,這裏 我們用wget命令,直接獲取)

wget -i –c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
// 安裝mysql的依賴包
yum -y install mysql57-community-release-el7-10.noarch.rpm

//安裝mysql數據庫 yum -y install mysql-community-server

//完成安裝,重啟mysql systemctl restart mysqld
此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日誌文件中找出密碼:
grep "password" /var/log/mysqld.log

//復制粘貼上邊的密碼進入數據庫 mysql -uroot -p

輸入初始密碼,此時不能做任何事情,因為MySQL默認必須修改密碼之後才能操作數據庫修改密碼命令:
ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘123‘;

以上報錯是說新設置的密碼過於簡單
解決辦法:
//首先按照默認密碼格式復雜度更改

//查看MySQL完整的初始密碼規則,查看的前提是必須先用ALTER USER命令更改過密碼(SHOW VARIABLES LIKE ‘validate_password%‘;),

//密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)
因為當前的密碼太復雜不方便後期做實驗,所以使用命令修改密碼策略兩種方式:
mysql> set global validate_password_policy=0;

mysql> set global validate_password_policy=LOW;

註:密碼策略分四種
1、OFF(關閉) 2、LOW(低) 3、MEDIUM(中) 4、STRONG(強)
上邊改完策略之後我們在改長度 mysql> SET GLOBAL validate_password_length=4;

都改完之後查看密碼規則mysql> SHOW VARIABLES LIKE ‘validate_password%‘;

接下來就可以將剛才的復雜密碼改為簡單的四位的密碼了;

此時還有一個問題,就是因為安裝了Yum Repository,以後每次yum操作都會自動更新,因為當前數據庫已安裝完成,所以把這個卸載掉:
yum remove mysql57-community-release-el7-10.noarch.rpm

3、安裝php依賴包
yum -y install gcc* autoconf httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc mysql-connector-odbc libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel java-devel openldap openldap-devel php-pdo ncurses-devel httpd php php-mysql OpenIPMI OpenIPMI-libs OpenIPMI-devel php-mbstring php-bcmath
4、配置php
1)vim /etc/php.ini
440 max_execution_time = 300
449 max_input_time = 300
729 post_max_size = 32M
946 date.timezone = Asia/Shanghai //更改時區為亞洲上海
1586 mbstring.func_overload = 2
2)創建zabbix用戶 useradd -M -s /sbin/nologin zabbix
3)創建zabbix日誌存放目錄mkdir /var/log/zabbix
4)創建zabbix配置文件存放目錄mkdir /etc/zabbix
5)更改zabbix日誌目錄權限chown zabbix:zabbix /var/log/zabbix/

二、部署Zabbix

1.安裝zabbix依賴包和基礎組件
yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel curl curl-devel mydql-devel net-snmp snmp perl-DBI php-gd php-xml php-bcmath php-mbstring php-ldap php-odbc php-xmlrpc

2.編譯安裝Zabbix_Server
1) tar -zxvf zabbix-3.4.7.tar.gz -C /usr/src/
2)進入解壓目錄cd /usr/src/ zabbix-3.4.7
3)編譯./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-net-snmp --with-libcurl
--prefix----> 指定zabbix安裝目錄
--enable-server----> 支持zabbix服務器
--enable-agent----> 支持zabbix代理
--enable-proxy----> 支持zabbix代理服務器
--with-libcurl----> 使用curl包
--with-net-snmp----> 使用net-snmp軟件包,選擇性地指定路徑NET-SNMP配置
--with-mysql=/usr/bin/mysql_con
註:如出現configure: error: MySQL library not found錯誤,是因為缺少mariadb-devel該軟件包,yum install mariadb-devel進行安裝
4)安裝 make && make install(如下不報錯即完成安裝)

2.Zabbix服務配置
1)拷貝啟動腳本cp misc/init.d/fedora/core/zabbix_* /etc/init.d/

註:也可以不拷貝啟動腳本使用指定路徑啟動如下
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start

2)編輯zabbix配置文件 vim /etc/zabbix/zabbix_server.conf
39 LogFile=/var/log/zabbix/zabbix_server.log //定義server服務日誌文件位置
77 DBHost=192.168.1.10 //定義數據庫主機
87 DBName=zabbix //定義數據庫名
103 DBUser=zabbix //定義連接數據庫用戶名
111 DBPassword=zabbix //定義連接數據庫密碼

3)編輯zabbix數據庫連接文件vim /etc/zabbix/zabbix_agentd.conf
21 LogFile=/var/log/zabbix/zabbix_agentd.log //定義agentd服務日誌文件位置
82 Server=192.168.1.10 //定義server端服務IP
123 ServerActive=192.168.1.10:10051 //定義server端服務IP
213 Include= /etc/zabbix/zabbix_agentd.conf.d/
228 UnsafeUserParameters=1 //啟用自定義腳本功能

三、創建zabbix數據庫和用戶

1、啟動數據庫並設置為開機自啟
systemctl start mysqld && systemctl enable mysqld
2、創建數據庫和用戶
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@‘192.168.1.10‘ identified by ‘zabbix‘;
mysql> flush privileges;

3、導入數據庫表
1)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-2.0.12/database/mysql/schema.sql
2)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-2.0.12/database/mysql/images.sql
3)mysql -u zabbix -p -h 192.168.1.10 zabbix </usr/src/zabbix-2.0.12/database/mysql/data.sql

4、部署Zabbix訪問頁面
1)cp -rf /usr/src/zabbix-3.4.7/frontends/php/ /var/www/html/zabbix
2)chown -R apache:apache /var/www/html/zabbix/

5、訪問Zabbix頁面
1)啟動apache並設置為開機自啟

IE--> 192.168.1.10/zabbix

結果剛點擊下一步就報錯如下:

就解決辦法:
打開/etc/php.ini
將mbstring.func_overload註釋掉如下:

註:修改完之後重啟apache就好

註:如果看不懂英文可以如上圖先登陸zabbix監控界面然後點擊右上角小人頭進行更改界面的語言,如下截圖

四、添加Zabbix監控服務器

1)這裏以添加192.168.1.10這個IP為例

2)添加主機參數註意客戶端名稱以及對外顯示名稱、群組和IP地址(包括dns name區別) 是否設置代理。其他的根據自身情況設置。

Centos7 zabix3.4.7搭建