LNMP+zabbix监控平台部署(采用阿里云服务器一体化部署监控wordpress网站)

部署前须知:
一般情况下,我们是将其中Zabbix-Server、Zabbix-Proxy、Zabbix-Web、Zabbix-Database专门部署在一台独立服务器上,Zabbix-Agent一般部署在需要被监控的网站的服务器上。

由于资金限制,本人只有一台阿里云服务器,所以就在一台上做了。

首先确定自己的网站的LNMP已经部署完毕!,此处不作讲解!

1、下载zabbix

wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

2、Zabbix Server端和Zabbix Agent执行如下代码

yum -y  install  curl  curl-devel  net-snmp net-snmp-devel  perl-DBI  mariadb-devel mysql-devel 
groupadd zabbix
useradd -s /sbin/nologin -M zabbix -g zabbix

3、Zabbix Server端配置

  • 创建zabbix数据库,执行授权命令
create database zabbix charset=utf8;
grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
flush privileges;
  • 解压zabbix软件包,执行如下代码,安装Zabbix_server

解压zabbix:

mv download /usr/local/
cd /usr/local;tar xzf download
./configure --prefix=/usr/local/zabbix/ --enable-server --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
make -j4&&make install

4、将zabbix网页文件复制到nginx发布目录

mkdir /usr/local/nginx/html/zabbix
cd /usr/local/zabbix-3.2.6/frontends/
\cp php/* /usr/local/nginx/html/zabbix/ -a

5、配置Nginx的zabbix的虚拟主机

cd /usr/local/nginx/conf/vhost/
vim www.zabbix.com.conf

这里我采用的是基于端口的虚拟主机:

    server {
        listen       8080;
        server_name  localhost;
        location / {
            root   html/zabbix;
            index  index.html index.php;
        }
        location ~*\.php$ {
            root html/zabbix;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

6、访问http://39.97.176.117:8080

在这里插入图片描述注意:起初这里是会有很多红色的错误地方,需要你配置以下将其变更正确:

yum  install  php-mbstring  php-bcmath  php-gd  php-xml  -y
yum  install  gd  gd-devel  -y
sed   -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;s/\;date.timezone.*/date.timezone \= PRC/g;s/\;always_populate_raw_post_data/always_populate_raw_post_data/g'  php.ini

我进行到这一步依然有下面这个是红色的:
在这里插入图片描述这里添加一个gettext.so模块就好了。

以上做完之后,重启php-fpm即可!

7、我们继续向下一步

在这里插入图片描述注:因为我数据库做的多实例,所以端口不是3306.
上面这些信息在第3步就做了。请看第3步。
点击下一步,发现报错:
在这里插入图片描述无法匹配到数据库,这里我们需要导入一些sql语句把zabbix数据库给"格式化"一下:

cd /usr/local/zabbix-3.2.6/database/mysql/
mysql -uzabbix -pzabbix  -S /data/mysql/3307/mysql3307.sock zabbix < schema.sql
mysql -uzabbix -pzabbix  -S /data/mysql/3307/mysql3307.sock zabbix < images.sql
mysql -uzabbix -pzabbix  -S /data/mysql/3307/mysql3307.sock zabbix < data.sql

注:上面这个因为我是多实例所以需要加-S

下面这种情况有可能会遇到。反正我没遇到。
nginx报错:
在这里插入图片描述
在nginx.conf文件中加入:

worker_processes  1;
events {
    use epoll;
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    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;
    #client_max_body_size 200M;
    #limit_conn_zone $binary_remote_addr zone=addr:10m;
    #limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;
    
    //fastcgi_buffer_size 128k;
    //fastcgi_buffers 4 256k;
    //fastcgi_busy_buffers_size 256k;
    
    include /usr/local/nginx/conf/vhost/*.conf;
}

上面//注释的内容就是需要添加的内容。

8、一直点下一步,最后出现这个页面

在这里插入图片描述

9、登录zabbix

默认用户为admin,密码为zabbix
在这里插入图片描述

10、zabbix主页面

在这里插入图片描述这里可以看出zabbix server没有起来,也没有监听10051端口。
所以我们需要起服务,并让它监听10051端口。

cd  /usr/local/zabbix-3.2.6
cp  misc/init.d/tru64/zabbix_server  /etc/init.d/zabbix_server
chmod  o+x  /etc/init.d/zabbix_server
/etc/init.d/zabbix_server start

又报错:
在这里插入图片描述在/usr/local/sbin目录下找不到zabbix_server这个文件。

ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/

做个软链接到/usr/local/zabbix/sbin/zabbix_server。
在这里插入图片描述注意:千万不要把/etc/init.d/zabbix_server文件拿来做软连接,这个zabbix_server和sbin下的那个zabbix_server内容是不一样的。

11、启动zabbix_server

 /etc/init.d/zabbix_server start

在这里插入图片描述

lsof -i:10051

在这里插入图片描述我们可以看到进程虽然是起来了,但是依然没有监听10051端口。
查看zabbix日志:
在这里插入图片描述因为我做的是多实例,所以mysql位置并没有在yum安装的默认位置,做个软链接就行了。

 ln -s /data/mysql/3307/mysql3307.sock /var/lib/mysql/mysql.sock

重启zabbix即可。
再lsof:
在这里插入图片描述这样就好了。网页上刷新一下,也就好了。
在这里插入图片描述出现不能监听端口10051,还有一种情况就是:

vim /usr/local/zabbix/etc/zabbix_server.conf

在这里插入图片描述看看DBpassword,DBuser,DBname是否正确。

12、配置zabbix-agent端

解压zabbix-3.2.6.tar.gz源码文件,切换至解压目录,编译安装Zabbix,命令如下:

./configure  --prefix=/usr/local/zabbix_agent  --enable-agent
make
make install

注:因为我是在一台云服务器上做的,所以注意不要和zabbix-server冲突。

启动zabbix-agent:


ln  -s  /usr/local/zabbix_agent/sbin/zabbix_agentd  /usr/local/sbin/
cp /usr/local/zabbix-3.2.6/misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod o+x zabbix_agentd
/etc/init.d/zabbix_agentd start

在这里插入图片描述

13、添加需要被监控的主机

在这里插入图片描述
在这里插入图片描述添加监控信息模版:
在这里插入图片描述在这里插入图片描述在这里插入图片描述

14、配置zabbix-agent的配置文件

cd /usr/local/zabbix_agent/etc/
cp zabbix_agentd.conf zabbix_agentd.conf.bak //先备份配置文件
vim zabbix_agentd.conf //添加如下内容
LogFile=/tmp/zabbix_agentd.log
Server=39.97.176.117
ServerActive=39.97.176.117
//上面两个都是配置zabbix_server所在的地址
Hostname=39.97.176.117 //这里配置zabbix_agent的地址

在这里插入图片描述再添加云服务器的安全组规则,打开10050端口
在这里插入图片描述
再重启zabbix_agent即可!

/etc/init.d/zabbix_agentd stop
/etc/init.d/zabbix_agentd start

等一会,下面这个变绿就部署成功了。
在这里插入图片描述

15、换字体

在这里插入图片描述这个默认字体,有些地方并不能显示出来。所以我们需要换字体。
在网上下载simkai.ttf字体到自己的主机,然后如果是云服务器用scp远程拷贝到自己的云服务器上。如果是虚拟机还可以采用rz上传。
由于我是云服务器所以:

在云服务器上:mv DejaVuSans.ttf DejaVuSans.ttf.bak
在macbook主机的终端上:
scp /Users/shijiandingyiqingchun/Desktop/simkai.ttf root@39.97.176.117:/usr/local/nginx/html/zabbix/fonts/DejaVuSans.ttf
//windows直接rz上传即可。

这样就好了:
在这里插入图片描述

发布了162 篇原创文章 · 获赞 142 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44571270/article/details/103755933