Zabbix

Zabbix
Zabbix
Zabbix官網:https://www.zabbix.com/cn/download
阿里雲鏡像站:https://mirrors.aliyun.com/zabbix/zabbix/4.0.rhel/7/x86_64/
agent客戶端:yum install https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.6-1.el7.x86_64.rpm -y
使用阿里雲鏡像yum安裝Zabbix:1、yum install https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm -y
準備環境:172.18.9.150:zabbix-server、172.18.9.201:zabbix-mysql、
rpm包安裝步驟:先選擇4.0LTS版本的源碼包:
Zabbix
一、在172.18.9.150:server主機:
1、安裝數據庫:yum install https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm -y
2、安裝Zabbix server,web前端,agent :yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
3、創建數據庫:在172.18.9.201主機:安裝mysql:
1】、[root@201 src]#ls
my.cnf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz mysql-install.sh
[root@201 src]#vim mysql-install.sh
#!/bin/bash
DIR=pwd
NAME="mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz"
FULL_NAME=${DIR}/${NAME}
DATA_DIR="/data/mysql"
yum install vim gcc gcc-c++ wget autoconf net-tools lrzsz iotop lsof iotop bash-completion -y
yum install curl policycoreutils openssh-server openssh-clients postfix -y
if [ -f ${FULL_NAME} ];then
echo "安裝文件存在"
else
echo "安裝文件不存在"
exit 3
fi
if [ -h /usr/local/mysql ];then
echo "Mysql 已經安裝"
exit 3
else
tar xvf ${FULL_NAME} -C /usr/local/src
ln -sv /usr/local/src/mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql
if id mysql;then
echo "mysql 用戶已經存在,跳過創建用戶過程"
fi
useradd mysql -s /sbin/nologin
if id mysql;then
chown -R mysql.mysql /usr/local/mysql/* -R
if [ ! -d /data/mysql ];then
mkdir -pv /data/mysql /var/lib/mysql && chown -R mysql.mysql /data -R
/usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql/
cp /usr/local/src/mysql-5.6.43-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld
cp ${DIR}/my.cnf /etc/my.cnf
ln -sv /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -sv /data/mysql/mysql.sock /var/lib/mysql/mysql.sock #此連接便於在server主機的/etc/zabbix/zabbix_server.conf文件中的“DBSocket=”使用。
/etc/init.d/mysqld start
else
echo "MySQL數據目錄已經存在,"
exit 3
fi
fi
fi
[root@201 src]#vim my.cnf
[mysqld]
socket=/data/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1
max_connections=10000 #該值務必調大,

[client]
port=3306
socket=/var/lib/mysql/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.sock

2】、[root@201 src]#bash my.cnf #安裝mysql
[root@201 src]# ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :::3306 :::*

4、mysql數據庫做授權:
[root@201 src]#mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on zabbix.* to zabbix@"172.18.%.%" identified by '12345' ;
Query OK, 0 rows affected (0.01 sec)

5、在150server主機遠程連接mysql數據庫:
[root@150 ~]#mysql -uzabbix -h172.18.9.201 -p"<123gxy>"; #注意:此時-p中的<123gxy>纔是密碼。
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.6.43 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| zabbix | # zabbix用戶已被成功創建!!
+--------------------+
3 rows in set (0.01 sec)

6、[root@150 zabbix]#vim zabbix_server.conf
ListenPort=10051
DebugLevel=3
DBHost=172.18.9.201
DBName=zabbix
DBUser=zabbix
DBPassword=123gxy
HistoryCacheSize=16M
HistoryIndexCacheSize=4M
CacheSize=8M
Timeout=30 #默認是4s,建議設置最長時長30s。

7、開啓zabbix-server,並查看端口,但是無端口:因爲數據庫沒有初始化。

8、該步驟爲準備工作,按此順序執行操作,我們在開頭就已安裝好了,所以不做展示:
[root@150 zabbix]#yum install yum-utils
[root@150 zabbix]#yum-config-manager --enable rhel-7-server-optional-rpms
Loaded plugins: fastestmirror, langpacks #開啓數據庫!
[root@150 yum.repos.d]#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

9、創建數據庫:
1】、先查看201主機的zabbix數據庫爲空:
[root@201 ~]#mysql
mysql> use zabbix;
Database changed
mysql> show tables;
Empty set (0.00 sec)
2】、將數據導入mysql數據庫:
[root@150 ~]#zcat /usr/share/doc/zabbix-server-mysql-4.0.6/create.sql.gz |mysql -uzabbix -h172.18.9.201 -p"<123gxy>" zabbix #注意:庫名、密碼錯誤均失敗。
3】、此時在201數據庫主機的mysql> show tables;中,已導入數據:
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
+----------------------------+
144 rows in set (0.03 sec)
4】、[root@150 src]#systemctl restart httpd zabbix-server zabbix-agent
[root@150 src]#ss -ntl #此時,10051端口已開啓!
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :10051 :*
注意:(我在此處遇到了zabbix密碼輸入錯誤,150主機給zabbix用戶grant授權問題,)
此時,訪問頁面:
Zabbix
10、[root@150 zabbix]#vim /etc/php.ini
date.timezone =Aisa/shanghai
[root@150 conf.d]#vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai #注意,此處的php.ini與zabbix.conf文件的date.timezone 都需要更改才行。

11、[root@150 conf.d]#systemctl restart zabbix-server httpd zabbix-agent 並訪問zabbix頁面:
Zabbix
Zabbix
我們在網頁配置好的zabbix的信息如下:
Zabbix
Zabbix
12、各配置均完成後,點擊登錄,會出現如下界面:
Zabbix
13、設置開機自啓zabbix-agent;並訪問頁面:
[root@150 conf.d]#systemctl restart zabbix-agent
[root@150 conf.d]#systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
Zabbix
14、在150server主機上安裝上zabbix-agent包。150主機的“/etc/zabbix/zabbix_agentd.conf”中:Hostname=Zabbix server,此時去172.18.9.150/zabbix/php 官網網頁進行配置即可。

如何監控其他主機:
1】、在201mysql主機安裝上zabbix-agent包其中的“/etc/zabbix/zabbix_agentd.conf”中:Hostname=172.18.9.201 #用IP地址來做區分。
Zabbix
15、修改該文件,內容如下:
[root@201 ~]#grep -v "#" /etc/zabbix/zabbix_agentd.conf|grep -v "^$"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.18.9.150
ServerActive=127.0.0.1
Hostname=172.18.9.201
Include=/etc/zabbix/zabbix_agentd.d/*.conf

[root@201 ~]#systemctl restart zabbix-agent
[root@201 ~]#systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
16、訪問網頁:#此時150mysql數據庫主機的監控已實現連接:
Zabbix
爲了方便在網頁頁面查看,我們將字體改爲中文:
先在電腦的控制面板上選擇一款字體,
在150server主機:[root@150 ~]#cd /usr/share/zabbix/fonts
[root@150 fonts]#ll
total 10332
lrwxrwxrwx. 1 root root 33 Apr 15 22:33 graphfont.ttf -> /etc/alternatives/zabbix-web-font
-rw-r--r--. 1 root root 10578152 Aug 9 2018 simfang.ttf
[root@150 zabbix]#vim include/defines.inc.php
把該文件中的graphfont改爲simfang。
load averge:
Zabbix

zabbix的主動與被動模式:

Zabbix
一、創建主動模式的數據庫:在201mysql主機:
mysql> create database zabbix_proxy_active character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on zabbix_proxy_active.* to zabbix_active@"172.18.%.%" identified by '123456';
Query OK, 0 rows affected (0.05 sec)

二、將源碼包上傳至家目錄:主/被模式都是同一個包
[root@200 ~]#ls zabbix-proxy-mysql-4.0.6-1.el7.x86_64.rpm
[root@200 ~]#yum install zabbix-proxy-mysql-4.0.6-1.el7.x86_64.rpm
Zabbix
在201mysql主機:創建被動模式:
mysql> create database zabbix_proxy_passive character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on zabbix_proxy_passive.* to zabbix_passive@"172.18.%.%" identified by '123456';
Query OK, 0 rows affected (0.00 sec)

三、配置該文件:[root@200 ~]#grep -v "#" /etc/zabbix/zabbix_proxy.conf |grep -v "^$"
ProxyMode=0
Server=172.18.9.150
ServerPort=10051
Hostname=huayi_proxy_active
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=172.18.9.201
DBName= zabbix_proxy_active
DBUser=zabbix_active
DBPassword=123456
ProxyLocalBuffer=720
ProxyOfflineBuffer=720
HeartbeatFrequency=60
ConfigFrequency=60
DataSenderFrequency=5
StartPollers=20
JavaGateway=172.18.9.150
StartJavaPollers=10
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
CacheSize=16M
HistoryCacheSize=16M
Timeout=30
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

四、查看200主機的初始化腳本在何方:
[root@200 ~]#rpm -qpl zabbix-proxy-mysql-4.0.6-1.el7.x86_64.rpm
/usr/share/doc/zabbix-proxy-mysql-4.0.6/schema.sql.gz #該包即是初始化腳本

五、這時,我們要安裝mysql,通過mysql命令來把腳本執行:
[root@200 ~]#yum install -y mysql
[root@200 ~]#mysql -uzabbix_active -h172.18.9.201 -p123456 #在zabbix_active:200主機上遠程連接201mysql數據庫:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MySQL connection id is 251
Server version: 5.6.43 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MySQL [(none)]> show databases;
+---------------------+
| Database |
+---------------------+
| information_schema |
| test |
| zabbix_proxy_active |
+---------------------+
3 rows in set (0.00 sec)

六、把該sql.gz腳本傳給mysql,並做初始化:
[root@200 ~]#zcat /usr/share/doc/zabbix-proxy-mysql-4.0.6/schema.sql.gz |mysql -uzabbix_active -h172.18.9.201 -p123456 zabbix_proxy_active

七、在201mysql數據庫主機查詢:
mysql> use zabbix_proxy_active
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+-------------------------------+
| Tables_in_zabbix_proxy_active |
+-------------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |
| auditlog |
| auditlog_details |
| autoreg_host |
+-------------------------------+
144 rows in set (0.00 sec) #此時,mysql數據庫已經同步導入了paroxy_active的數據了!!

八、[root@150 src]#vim /etc/zabbix/zabbix_agentd.conf
ServerActive=172.18.9.200 該IP要指向proxy的地址,不能指向server的IP。

九、在200zabbix-proxy主機開啓該proxy應用:
[root@200 ~]#systemctl start zabbix-proxy
[root@200 ~]#systemctl enable zabbix-proxy
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-proxy.service to /usr/lib/systemd/system/zabbix-proxy.service.
監控頁面出現此頁面就是proxy的主動模式成功開啓了!
Zabbix

至此,zabbix主動模式proxy已經實現!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章