分布式zabbix监控搭建

zabbix概念

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

实验环境如下

搭建zabbix需要LNMP或LAMP环境,我们搭建分布式的LNMP
记得关闭所有主机的firewalld

主机名IP角色
zabbix192.168.1.11zabbix主程序
lnp192.168.1.12nginx , php
mysql192.168.1.13mysql

注意看主机名,在哪个主机操作我不阐述

用到的软件包都在这里了
链接:https://pan.baidu.com/s/1GYp6tSdPWlRk_Hz5BZ9Q0g
提取码:62q0

一. 先构建LNMP环境

1.后端mysql

安装mysql我就不说了,然后设置密码root密码为123456,并给root远程登陆权限
[root@mysql ~]# mysqladmin -uroot password '123456'
[root@mysql ~]# mysql -uroot -p123456

mysql> grant all on *.* to root@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

2.安装nginx和PHP

软件包如下
在这里插入图片描述

nginx
[root@lnp ~]# mount /dev/cdrom /mnt/
[root@lnp ~]# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel  pcre pcre-devel
[root@lnp ~]# tar zxvf nginx-1.10.3.tar.gz 
[root@lnp ~]# cd nginx-1.10.3/
[root@lnp nginx-1.10.3]# useradd www -s /sbin/nologin 
[root@lnp nginx-1.10.3]# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module  --with-http_flv_module --with-http_mp4_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www
[root@lnp nginx-1.10.3]# make && make install 
[root@lnp nginx-1.10.3]# cd 
[root@lnp ~]# ln -s /usr/local/nginx/sbin/* /usr/local/bin/
PHP
[root@lnp ~]# yum -y install make apr* autoconf automake curl-devel gcc gcc-c++  openssl openssl-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng*  libtool* libxml2 libxml2-devel patch libcurl-devel bzip2-devel freetype-devel
[root@lnp ~]# tar zxf libmcrypt-2.5.7.tar.gz 
[root@lnp ~]# cd libmcrypt-2.5.7/
[root@lnp libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
[root@lnp libmcrypt-2.5.7]# cd
[root@lnp ~]# tar zxf php-5.6.36.tar.gz
[root@lnp ~]# cd php-5.6.36.tar.gz
[root@lnp php-5.6.36]# ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc  --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd  --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt=/usr/local/libmcrypt --with-curl
[root@lnp php-5.6.36]# make && make install
[root@lnp php-5.6.36]# cp php.ini-production /etc/php.ini

3.修改PHP的一些参数

[root@lnp php-5.6.36]# cd
[root@lnp ~]# vim /etc/php.ini 

如下图片中黄色表的项打开注释或修改为我如下
时区设置
在这里插入图片描述
禁止显示php版本
在这里插入图片描述
支持短标签
在这里插入图片描述
上传文件大小限制
在这里插入图片描述
php脚本最大执行时间
在这里插入图片描述
以秒为单位对通过POST、GET以及PUT方式接收数据时间进行限制
在这里插入图片描述
删除如下两项注释
在这里插入图片描述
在这里插入图片描述
保存退出

启动脚本
[root@lnp ~]# cd /root/php-5.6.36/
[root@lnp php-5.6.36]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@lnp php-5.6.36]# chmod +x /etc/init.d/php-fpm 
[root@lnp php-5.6.36]# chkconfig --add php-fpm

修改PHP-fpm配置文件

[root@lnp php-5.6.36]# cd
[root@lnp ~]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@lnp ~]# vim /usr/local/php5.6/etc/php-fpm.conf

修改如下下面的项,如果有注释的打开,如果没有注释的直接修改

 pid = run/php-fpm.pid
 user = www
 group = www
 listen =127.0.0.1:9000
 pm.max_children = 300
 pm.start_servers = 10
 pm.min_spare_servers = 10
 pm.max_spare_servers =50
[root@lnp ~]# /etc/init.d/php-fpm start
Starting php-fpm  done

[root@lnp ~]# netstat -anpt | grep php-fpm
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      127519/php-fpm: mas 
让nginx支持PHP
[root@lnp ~]# cd /usr/local/nginx/conf/
[root@lnp conf]# rm -rf nginx.conf
[root@lnp conf]# vim nginx.conf
user www;
worker_processes  4;
error_log  logs/error.log;
pid        logs/nginx.pid;

events {
    use epoll;
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        charset utf-8;

        location / {
            root   html;
            index  index.php index.html index.htm;
        }
        location ~ \.php$ {
            root  html;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            include fastcgi.conf;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
}
[root@lnp conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@lnp conf]# nginx 
[root@lnp conf]# netstat -anpt | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      41766/nginx: master 

4.测试LNMP

[root@lnp conf]# vim /usr/local/nginx/html/lamp1.php
<?php
phpinfo();
?>
[root@lnp conf]# vim /usr/local/nginx/html/lamp2.php
<?php
$link=mysql_connect('192.168.1.13','root','123456');
if($link) echo "eeeeee";
mysql_close();
?>
浏览器访问测试

http://192.168.1.12/lamp1.php
在这里插入图片描述
http://192.168.1.12/lamp2.php
在这里插入图片描述

二.安装zabbix主程序

1.首先在mysql中导入zabbix所需的数据库

在这里插入图片描述

[root@mysql ~]# mysql -uroot -p123456
mysql>  create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on zabbix.* to zabbix@'192.168.1.%' identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix'; 
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit

注意下面导入的顺序不能乱

[root@mysql ~]# tar zxvf zabbix-4.2.6.tar.gz
[root@mysql zabbix-4.2.6]# cd zabbix-4.2.6/
[root@mysql zabbix-4.2.6]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql 

[root@mysql zabbix-4.2.6]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql 

[root@mysql zabbix-4.2.6]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
2.安装zabbix_server服务

在这里插入图片描述

[root@zabbix ~]# tar zxf zabbix_rpm.tar.gz 
[root@zabbix ~]# yum -y install createrepo
[root@zabbix ~]# createrepo zabbix_rpm
Spawning worker 0 with 7 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@zabbix ~]# vim /etc/yum.repos.d/centos7.repo 
[name]
name=nihao
baseurl=file:///mnt
gpgcheck=0


[name2]
name=nihao2
baseurl=file:///root/zabbix_rpm
gpgcheck=0
[root@zabbix ~]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel  OpenIPMI-devel  libssh2-devel libevent libevent-devel
[root@zabbix ~]# groupadd zabbix
[root@zabbix ~]# useradd -s /sbin/nologin  -g zabbix zabbix
[root@zabbix ~]# cd /root/
[root@zabbix ~]# tar zxf zabbix-4.2.6.tar.gz 
[root@zabbix ~]# yum -y install gcc*
[root@zabbix ~]# yum -y install libxml2-devel mysql-devel 
[root@zabbix ~]# cd zabbix-4.2.6/
[root@zabbix zabbix-4.2.6]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent  --enable-java --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-mysql
[root@zabbix zabbix-4.2.6]# make && make install
[root@zabbix zabbix-4.2.6]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@zabbix zabbix-4.2.6]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
3.配置zabbix_server

修改或取消注释如下行,前面的数字是行号,都是关于后台数据库的参数

[root@zabbix zabbix-4.2.6]# vim /usr/local/zabbix/etc/zabbix_server.conf
 38 LogFile=/usr/local/zabbix/zabbix_server.log
 68 PidFile=/usr/local/zabbix/logs/zabbix_server.pid
 85 DBHost=192.168.1.13
 94 DBName=zabbix
 110 DBUser=zabbix
 118 DBPassword=zabbix
 133 DBPort=3306
[root@zabbix zabbix-4.2.6]# cd
[root@zabbix ~]# mkdir -p /usr/local/zabbix/logs
[root@zabbix ~]# chown -R zabbix:zabbix /usr/local/zabbix/
4.启动服务和启动脚本
[root@zabbix ~]# netstat -anpt | grep zabbix_server
[root@zabbix ~]# netstat -anpt | grep 10051
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      83970/zabbix_server 

[root@zabbix ~]# cd /root/zabbix-4.2.6/misc/init.d/
[root@zabbix init.d]# cp fedora/core/* /etc/init.d/
[root@zabbix init.d]# vim /etc/init.d/zabbix_server   #修改如下两行
 22         BASEDIR=/usr/local/zabbix
 31         PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid
[root@zabbix init.d]# chkconfig --add zabbix_server
[root@zabbix init.d]# chkconfig zabbix_server on
5.配置Web页面

lnp主机中
在这里插入图片描述

[root@lnp zabbix-4.2.6]# cp -r frontends/php/* /usr/local/nginx/html/
[root@lnp zabbix-4.2.6]# chown -R www:www /usr/local/nginx/html/
[root@lnp ~]# nginx -s reload
[root@lnp ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done
5.浏览器安装zabbix

http://192.168.1.12
这个安装界面默认,是英文的,可以用浏览器的插件,翻译成中文看

在这里插入图片描述
有个LADP的是错误,不用管,直接下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
摘要那一步直接,到这里,下一步
在这里插入图片描述
点击登入
在这里插入图片描述

安装完成如下,默认是英文的
在这里插入图片描述

实验完毕 !!关于高级操作和使用,请看去我主页看zabbix专栏
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值