Zabbix分布式监控系统

基础准备

运用VMware Workstation 创建2台虚拟机,使用提供的CentOS-7-x86_64-DVD-1908镜像,内存2G,CPU 2核。使用提供的Zabbix依赖安装包。

1. 基础环境部署

(1)更改主机名

# hostnamectl set-hostname zabbix-server
# hostnamectl set-hostname zabbix-agent

(2)关闭防火墙及安全规则

# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0

(3)测试网络

# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=47.2 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=128 time=45.8 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=128 time=46.2 ms
2. LNMP环境部署(Zabbix服务端):

(1)上传LNMP环境部署包

Zabbix分布式监控系统

 

 

(2)解压LNMP环境部署源码包

# tar zxvf lnmp1.6-full.tar.gz

(3)一键部署LNMP环境

# cd lnmp1.6-full
修改MySQL数据目录:
# vi lnmp.conf     
MySQL_Data_Dir='/data/mysql'
# ./install.sh lnmp            #执行脚本

选择MySQL版本:

Zabbix分布式监控系统

 

 

设置MySQL密码:

Zabbix分布式监控系统

 

 

选择InnoDB引擎是否开启:

Zabbix分布式监控系统

 

 

选择PHP版本:

Zabbix分布式监控系统

 

 

选择不安装内存分配器:

Zabbix分布式监控系统

 

 

按Enter键开始安装:

Zabbix分布式监控系统

 

 

部署成功显示:

Zabbix分布式监控系统

 

 

测试访问网页:

Zabbix分布式监控系统

 

 

 Zabbix服务端部署及配置

(1)安装依赖包

# yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel

(2)创建zabbix用户

# useradd -s /sbin/nologin zabbix

(3)zabbix-4.0.3.tar.gz传到/usr/local/src目录下解压编译安装

# tar zxvf zabbix-4.0.3.tar.gz         #解压源码包
# mkdir /usr/local/zabbix
# mv /usr/local/src/zabbix-4.0.3/* /usr/local/zabbix        #迁移到安装目录
# cd /usr/local/zabbix/
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2

Zabbix分布式监控系统

# make  && make install    

(4)环境变量设置

# vi /etc/profile
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
# source /etc/profile
# echo $PATH

查看版本:zabbix_server --version

Zabbix分布式监控系统

 

 

(5)配置启动脚本

# cp /usr/local/zabbix/misc/init.d/fedora/core/zabbix_server /etc/init.d/
#cp /usr/local/zabbix/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
# vi /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix  #zabbix安装目录
# vi /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix  #zabbix安装目录

添加权限:

# chmod 755 /etc/init.d/zabbix_*

启动Zabbix服务及启动状态:

# systemctl start zabbix_server
# systemctl start zabbix_agentd
# systemctl status zabbix_server
# systemctl status zabbix_agentd

(6)登录数据库创建Zabbix用户和导入Zabbix库

Mysql数据库 mysql -h 127.0.0.1 -uroot -p000000
mysql> create database zabbix character set utf8 collate utf8_bin;    ##创建Zabbix库和设置格式
mysql> grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';            ##创建Zabbix用户并分配权限
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
mysql> flush privileges;       ##刷新权限
mysql> set names utf8;       ##设置字符集
mysql> use zabbix       ##切换到Zabbix库中

把源码/usr/local/zabbix/database/mysql/安装路径下的3个sql文件导入数据库:

mysql> source /usr/local/zabbix/database/mysql/schema.sql
mysql> source /usr/local/zabbix/database/mysql/data.sql
mysql> source /usr/local/zabbix/database/mysql/images.sql
mysql> show tables;        ##查看导入的表格

Zabbix分布式监控系统

 

 

 

(7)编辑Zabbix server的配置(记得先备份配置文件)

# cp /usr/local/zabbix/etc/zabbix_server.conf{,.bak} 
# vi /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=127.0.0.1        ##指定数据库信息(需配合参数 DBSocket 使用)
DBName=zabbix        ##服务端连接数据库的库名
DBUser=zabbix            ##连接数据库的用户
DBPassword=zabbix        ##连接数据库的密码
DBPort=3306        ##指定连接数据库的端口
Timeout=30          ##与AGNET和其它外部设备通信超时设置,单位为秒
LogSlowQueries=3000        ##用于服务端数据库慢查询功能,单位是毫秒
DBSocket=/tmp/mysql.sock        ##指定MYSQL的SOCK连接路径

修改Zabbix目录的权限:

# chown zabbix:zabbix -R /usr/local/zabbix/    

重启服务生效:

# systemctl restart zabbix_server

任务实施

1. 配置Nginx虚拟主机
# vi /usr/local/nginx/conf/vhost/zabbix.com.conf
server
    {
        listen 80;
        server_name zabbix.com www.zabbix.com;
        index index.html index.htm index.php;
        root /data/nginx/zabbix;        ##Zabbix Web界面数据目录
     location ~ [^/]\.php(/|$)
        {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME /data/nginx/zabbix$fastcgi_script_name;
            include fastcgi_params;
        }
    }

源码安装包路径下的文件cp到Zabbix Web文件目录当中:

# mkdir -p /data/nginx/zabbix
# /etc/init.d/nginx reload        ##生效服务
# cp -rf /usr/local/zabbix/frontends/php/* /data/nginx/zabbix     
2. 修改php.ini的配置文件
# vi /usr/local/php/etc/php.ini
post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
3. 修改php-fpm.conf的配置文件
# vi /usr/local/php/etc/php-fpm.conf
[www]
listen = 127.0.0.1:9000

重启php-fpm服务:

/etc/init.d/php-fpm restart

检查端口是否启动:

# netstat -lntp | grep php
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      2141/php-fpm: maste 
4. Web界面部署安装

Zabbix分布式监控系统

 

上一篇:Dubbo添加过滤器(二)---日志打印接口耗时


下一篇:zabbix分布式监控